@@ -1425,25 +1425,28 @@ fn prefixed_hex_serialization() {
1425
1425
}
1426
1426
}
1427
1427
1428
- #[ test]
1429
- fn test_successfull_resposes_preambles_have_canonical_stacks_tip_height ( ) {
1428
+ /// Test that the `X-Canonical-Stacks-Tip-Height` header always matches the node's
1429
+ /// `network.stacks_tip.height` value.
1430
+ ///
1431
+ /// This doesn't aim to test each possible endpoint, but rather to test that the
1432
+ /// header is set to the correct value for successful responses.
1433
+ #[ rstest]
1434
+ #[ case:: getinfo( |addr| StacksHttpRequest :: new_getinfo( addr, None ) ) ]
1435
+ #[ case:: getneighbors( StacksHttpRequest :: new_getneighbors) ]
1436
+ #[ case:: getpoxinfo( |addr| StacksHttpRequest :: new_getpoxinfo(
1437
+ addr,
1438
+ TipRequest :: UseLatestUnconfirmedTip ,
1439
+ ) ) ]
1440
+ fn test_successfull_responses_have_correct_canonical_stacks_tip_height (
1441
+ #[ case] request_builder : impl Fn ( PeerHost ) -> StacksHttpRequest ,
1442
+ ) {
1430
1443
let addr: PeerHost = SocketAddr :: new ( IpAddr :: V4 ( Ipv4Addr :: LOCALHOST ) , 33333 ) . into ( ) ;
1431
1444
let test_observer = TestEventObserver :: new ( ) ;
1432
1445
let rpc_test = TestRPC :: setup ( function_name ! ( ) ) ;
1433
1446
1434
1447
let expected_height = rpc_test. peer_2 . network . stacks_tip . height ;
1435
-
1436
- // Just a few different types of requests.
1437
- let requests = vec ! [
1438
- StacksHttpRequest :: new_getinfo( addr. clone( ) , None ) ,
1439
- StacksHttpRequest :: new_getheaders(
1440
- addr. clone( ) ,
1441
- 2100 ,
1442
- TipRequest :: SpecificTip ( StacksBlockId ( [ 0x80 ; 32 ] ) ) ,
1443
- ) ,
1444
- StacksHttpRequest :: new_getpoxinfo( addr. clone( ) , TipRequest :: UseLatestUnconfirmedTip ) ,
1445
- ] ;
1446
- let mut responses = rpc_test. run ( requests) ;
1448
+ let request = request_builder ( addr) ;
1449
+ let mut responses = rpc_test. run ( vec ! [ request] ) ;
1447
1450
1448
1451
let response = responses. remove ( 0 ) ;
1449
1452
let preamble = response. preamble ( ) ;
0 commit comments