@@ -325,11 +325,11 @@ public async Task Should_upload_large_multicast_operations_request_to_s3(bool wr
325325
326326 var longBodyMessageId = Guid . NewGuid ( ) . ToString ( ) ;
327327 /* Crazy long message id will cause the message to go over limits because attributes count as well */
328- var crazyLongMessageId = new string ( 'x' , 256 * 1024 ) ;
328+ var crazyLongMessageId = new string ( 'x' , TransportConstraints . SnsMaximumMessageSize ) ;
329329
330330 var transportOperations = new TransportOperations (
331331 new TransportOperation (
332- new OutgoingMessage ( longBodyMessageId , [ ] , Encoding . UTF8 . GetBytes ( new string ( 'x' , 256 * 1024 ) ) ) ,
332+ new OutgoingMessage ( longBodyMessageId , [ ] , Encoding . UTF8 . GetBytes ( new string ( 'x' , TransportConstraints . SnsMaximumMessageSize ) ) ) ,
333333 new MulticastAddressTag ( typeof ( Event ) ) ,
334334 [ ] ,
335335 DispatchConsistency . Isolated ) ,
@@ -704,22 +704,21 @@ public async Task Should_upload_large_non_isolated_operations_to_s3(bool wrapMes
704704 var mockSqsClient = new MockSqsClient ( ) ;
705705
706706 var dispatcher = new MessageDispatcher ( new SettingsHolder ( ) , mockSqsClient , null , new QueueCache ( mockSqsClient ,
707- dest => QueueCache . GetSqsQueueName ( dest , "" ) ) , null ,
708- new S3Settings ( "someBucket" , "somePrefix" , mockS3Client ) , 15 * 60 , 0 , wrapOutgoingMessages : wrapMessage ) ;
707+ dest => QueueCache . GetSqsQueueName ( dest , "" ) ) , null , new S3Settings ( "someBucket" , "somePrefix" , mockS3Client ) , 15 * 60 , 0 , wrapOutgoingMessages : wrapMessage ) ;
709708
710709 var transportOperations = new TransportOperations (
711710 new TransportOperation (
712- new OutgoingMessage ( Guid . NewGuid ( ) . ToString ( ) , [ ] , Encoding . UTF8 . GetBytes ( new string ( 'x' , 256 * 1024 ) ) ) ,
711+ new OutgoingMessage ( Guid . NewGuid ( ) . ToString ( ) , [ ] , Encoding . UTF8 . GetBytes ( new string ( 'x' , TransportConstraints . SqsMaximumMessageSize ) ) ) ,
713712 new UnicastAddressTag ( "address1" ) ,
714713 [ ] ,
715714 DispatchConsistency . Default ) ,
716715 new TransportOperation (
717- new OutgoingMessage ( Guid . NewGuid ( ) . ToString ( ) , [ ] , Encoding . UTF8 . GetBytes ( new string ( 'x' , 256 * 1024 ) ) ) ,
716+ new OutgoingMessage ( Guid . NewGuid ( ) . ToString ( ) , [ ] , Encoding . UTF8 . GetBytes ( new string ( 'x' , TransportConstraints . SqsMaximumMessageSize ) ) ) ,
718717 new UnicastAddressTag ( "address2" ) ,
719718 [ ] ,
720719 DispatchConsistency . Default ) ,
721720 new TransportOperation ( /* Crazy long message id will cause the message to go over limits because attributes count as well */
722- new OutgoingMessage ( new string ( 'x' , 256 * 1024 ) , [ ] , Encoding . UTF8 . GetBytes ( "{}" ) ) ,
721+ new OutgoingMessage ( new string ( 'x' , TransportConstraints . SqsMaximumMessageSize ) , [ ] , Encoding . UTF8 . GetBytes ( "{}" ) ) ,
723722 new UnicastAddressTag ( "address2" ) ,
724723 [ ] ,
725724 DispatchConsistency . Default ) ) ;
@@ -767,22 +766,21 @@ public async Task Should_upload_large_isolated_operations_request_to_s3(bool wra
767766 var mockSqsClient = new MockSqsClient ( ) ;
768767
769768 var dispatcher = new MessageDispatcher ( new SettingsHolder ( ) , mockSqsClient , null , new QueueCache ( mockSqsClient ,
770- dest => QueueCache . GetSqsQueueName ( dest , "" ) ) , null ,
771- new S3Settings ( "someBucket" , "somePrefix" , mockS3Client ) , 15 * 60 , 0 , wrapOutgoingMessages : wrapMessage ) ;
769+ dest => QueueCache . GetSqsQueueName ( dest , "" ) ) , null , new S3Settings ( "someBucket" , "somePrefix" , mockS3Client ) , 15 * 60 , 0 , wrapMessage ) ;
772770
773771 var transportOperations = new TransportOperations (
774772 new TransportOperation (
775- new OutgoingMessage ( Guid . NewGuid ( ) . ToString ( ) , [ ] , Encoding . UTF8 . GetBytes ( new string ( 'x' , 256 * 1024 ) ) ) ,
773+ new OutgoingMessage ( Guid . NewGuid ( ) . ToString ( ) , [ ] , Encoding . UTF8 . GetBytes ( new string ( 'x' , TransportConstraints . SqsMaximumMessageSize ) ) ) ,
776774 new UnicastAddressTag ( "address1" ) ,
777775 [ ] ,
778776 DispatchConsistency . Isolated ) ,
779777 new TransportOperation (
780- new OutgoingMessage ( Guid . NewGuid ( ) . ToString ( ) , [ ] , Encoding . UTF8 . GetBytes ( new string ( 'x' , 256 * 1024 ) ) ) ,
778+ new OutgoingMessage ( Guid . NewGuid ( ) . ToString ( ) , [ ] , Encoding . UTF8 . GetBytes ( new string ( 'x' , TransportConstraints . SqsMaximumMessageSize ) ) ) ,
781779 new UnicastAddressTag ( "address2" ) ,
782780 [ ] ,
783781 DispatchConsistency . Isolated ) ,
784782 new TransportOperation ( /* Crazy long message id will cause the message to go over limits because attributes count as well */
785- new OutgoingMessage ( new string ( 'x' , 256 * 1024 ) , [ ] , Encoding . UTF8 . GetBytes ( "{}" ) ) ,
783+ new OutgoingMessage ( new string ( 'x' , TransportConstraints . SqsMaximumMessageSize ) , [ ] , Encoding . UTF8 . GetBytes ( "{}" ) ) ,
786784 new UnicastAddressTag ( "address2" ) ,
787785 [ ] ,
788786 DispatchConsistency . Isolated ) ) ;
@@ -930,10 +928,11 @@ public async Task Should_handle_empty_body_gracefully(bool wrapMessage)
930928 public async Task Does_upload_to_S3_when_payload_reserved_bytes_are_set ( )
931929 {
932930 var mockSqsClient = new MockSqsClient ( ) ;
931+ var mockSnsClient = new MockSnsClient ( ) ;
933932 var mockS3Client = new MockS3Client ( ) ;
934933
935- var dispatcher = new MessageDispatcher ( new SettingsHolder ( ) , mockSqsClient , null , new QueueCache ( mockSqsClient ,
936- dest => QueueCache . GetSqsQueueName ( dest , "" ) ) , null , new S3Settings ( "bucketname" , "keyprefix" , mockS3Client ) , 15 * 60 , 50 ) ;
934+ var dispatcher = new MessageDispatcher ( new SettingsHolder ( ) , mockSqsClient , mockSnsClient , new QueueCache ( mockSqsClient ,
935+ dest => QueueCache . GetSqsQueueName ( dest , "" ) ) , new TopicCache ( mockSnsClient , new SettingsHolder ( ) , new EventToTopicsMappings ( ) , new EventToEventsMappings ( ) , ( type , s ) => TopicNameHelper . GetSnsTopicName ( type , "" ) , "" ) , new S3Settings ( "bucketname" , "keyprefix" , mockS3Client ) , 15 * 60 , 50 ) ;
937936
938937 var transportOperations = new TransportOperations (
939938 new TransportOperation (
@@ -942,20 +941,23 @@ public async Task Does_upload_to_S3_when_payload_reserved_bytes_are_set()
942941 { TransportHeaders . TimeToBeReceived , ExpectedTtbr . ToString ( ) } ,
943942 { Headers . ReplyToAddress , ExpectedReplyToAddress } ,
944943 { Headers . MessageId , "093C17C6-D32E-44FE-9134-65C10C1287EB" }
945- } , Encoding . Default . GetBytes ( new string ( 'x' , 256 * 1024 ) ) ) ,
944+ } , Encoding . Default . GetBytes ( new string ( 'x' , TransportConstraints . SqsMaximumMessageSize ) ) ) ,
946945 new UnicastAddressTag ( "address" ) ,
947946 [ ] ,
947+ DispatchConsistency . Isolated ) ,
948+ new TransportOperation (
949+ new OutgoingMessage ( "5678" , new Dictionary < string , string > { { TransportHeaders . TimeToBeReceived , ExpectedTtbr . ToString ( ) } , { Headers . ReplyToAddress , ExpectedReplyToAddress } , { Headers . MessageId , "093C17C6-D32E-44FE-9134-65C10C1287EC" } } , Encoding . Default . GetBytes ( new string ( 'x' , TransportConstraints . SnsMaximumMessageSize ) ) ) ,
950+ new MulticastAddressTag ( typeof ( Event ) ) ,
951+ [ ] ,
948952 DispatchConsistency . Isolated ) ) ;
949953
950954 var transportTransaction = new TransportTransaction ( ) ;
951955
952956 await dispatcher . Dispatch ( transportOperations , transportTransaction ) ;
953957
954- Assert . Multiple ( ( ) =>
955- {
956- Assert . That ( mockSqsClient . RequestsSent , Is . Not . Empty , "No requests sent" ) ;
957- Assert . That ( mockS3Client . PutObjectRequestsSent , Is . Not . Empty , "No S3 requests sent" ) ;
958- } ) ;
958+ Assert . That ( mockSqsClient . RequestsSent , Is . Not . Empty , "No SQS requests sent" ) ;
959+ Assert . That ( mockSnsClient . PublishedEvents , Is . Not . Empty , "No SNS events published" ) ;
960+ Assert . That ( mockS3Client . PutObjectRequestsSent , Is . Not . Empty , "No S3 requests sent" ) ;
959961
960962 var s3Request = mockS3Client . PutObjectRequestsSent . First ( ) ;
961963 Assert . That ( s3Request . InputStream . Length , Is . GreaterThan ( 0 ) ) ;
0 commit comments