File tree Expand file tree Collapse file tree
trogon-nats/src/jetstream Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -241,6 +241,29 @@ mod tests {
241241 let stripped = strip_claim_headers ( headers) ;
242242 assert_eq ! ( stripped. get( "X-Custom" ) . unwrap( ) . as_str( ) , "value" ) ;
243243 }
244+
245+ #[ test]
246+ fn claim_resolve_error_display_missing_key ( ) {
247+ let err: ClaimResolveError < String > = ClaimResolveError :: MissingKey ;
248+ let msg = err. to_string ( ) ;
249+ assert ! ( msg. contains( HEADER_CLAIM_KEY ) ) ;
250+ }
251+
252+ #[ test]
253+ fn claim_resolve_error_display_store_failed ( ) {
254+ let err: ClaimResolveError < String > =
255+ ClaimResolveError :: StoreFailed ( "connection refused" . to_string ( ) ) ;
256+ let msg = err. to_string ( ) ;
257+ assert ! ( msg. contains( "connection refused" ) ) ;
258+ }
259+
260+ #[ test]
261+ fn claim_resolve_error_display_read_failed ( ) {
262+ let io_err = std:: io:: Error :: new ( std:: io:: ErrorKind :: BrokenPipe , "pipe broke" ) ;
263+ let err: ClaimResolveError < String > = ClaimResolveError :: ReadFailed ( io_err) ;
264+ let msg = err. to_string ( ) ;
265+ assert ! ( msg. contains( "pipe broke" ) ) ;
266+ }
244267}
245268
246269#[ cfg( all( test, feature = "test-support" ) ) ]
Original file line number Diff line number Diff line change @@ -832,4 +832,22 @@ mod tests {
832832 vec![ AckKindSnapshot :: AckWith ( AckKindValue :: Next ) ]
833833 ) ;
834834 }
835+
836+ #[ test]
837+ fn mock_object_store_default ( ) {
838+ let store = MockObjectStore :: default ( ) ;
839+ assert ! ( store. stored_objects( ) . is_empty( ) ) ;
840+ }
841+
842+ #[ tokio:: test]
843+ async fn mock_object_store_fail_next_get ( ) {
844+ let store = MockObjectStore :: new ( ) ;
845+ store. seed ( "key" , Bytes :: from ( "data" ) ) ;
846+ store. fail_next_get ( ) ;
847+ let result = ObjectStoreGet :: get ( & store, "key" ) . await ;
848+ assert ! ( result. is_err( ) ) ;
849+
850+ let result = ObjectStoreGet :: get ( & store, "key" ) . await ;
851+ assert ! ( result. is_ok( ) ) ;
852+ }
835853}
Original file line number Diff line number Diff line change @@ -102,4 +102,11 @@ mod tests {
102102 let outcome: PublishOutcome < String > = PublishOutcome :: Published ;
103103 outcome. log_on_error ( "test" ) ;
104104 }
105+
106+ #[ test]
107+ fn log_on_error_logs_store_failed ( ) {
108+ let err: Box < dyn std:: error:: Error + Send + Sync > = "store down" . into ( ) ;
109+ let outcome: PublishOutcome < String > = PublishOutcome :: StoreFailed ( err) ;
110+ outcome. log_on_error ( "test" ) ;
111+ }
105112}
Original file line number Diff line number Diff line change @@ -1431,4 +1431,22 @@ mod tests {
14311431 assert_eq ! ( resp. status( ) , StatusCode :: BAD_REQUEST ) ;
14321432 assert_unroutable ( & publisher, "missing_interaction_type" ) ;
14331433 }
1434+
1435+ #[ tokio:: test]
1436+ async fn router_with_system_clock_responds_to_health ( ) {
1437+ let publisher = MockJetStreamPublisher :: new ( ) ;
1438+ let app = router ( wrap_publisher ( publisher) , & test_config ( ) ) ;
1439+
1440+ let resp = app
1441+ . oneshot (
1442+ Request :: builder ( )
1443+ . uri ( "/health" )
1444+ . body ( Body :: empty ( ) )
1445+ . unwrap ( ) ,
1446+ )
1447+ . await
1448+ . unwrap ( ) ;
1449+
1450+ assert_eq ! ( resp. status( ) , StatusCode :: OK ) ;
1451+ }
14341452}
Original file line number Diff line number Diff line change @@ -33,4 +33,9 @@ mod tests {
3333 let size = HttpBodySizeMax :: new ( ByteSize :: mib ( 1 ) ) . unwrap ( ) ;
3434 assert_eq ! ( size. as_usize( ) , 1024 * 1024 ) ;
3535 }
36+
37+ #[ test]
38+ fn new_zero_returns_none ( ) {
39+ assert ! ( HttpBodySizeMax :: new( ByteSize :: b( 0 ) ) . is_none( ) ) ;
40+ }
3641}
You can’t perform that action at this time.
0 commit comments