public void throws_when_message_is_large_and_no_s3_bucket_configured() { var settings = new SettingsHolder(); var transportSettings = new TransportExtensions <SqsTransport>(settings); transportSettings .Region("ap-southeast-2"); var sut = new SqsMessageDispatcher { ConnectionConfiguration = new SqsConnectionConfiguration(settings) }; var stringBuilder = new StringBuilder(); while (stringBuilder.Length < 256 * 1024) { stringBuilder.Append("This is a large string. "); } var largeOutgoingMessageToSend = new OutgoingMessage("1234", new Dictionary <string, string>(), Encoding.Default.GetBytes(stringBuilder.ToString())); var transportOperations = new TransportOperations( new TransportOperation( largeOutgoingMessageToSend, new UnicastAddressTag("address"))); var transportTransaction = new TransportTransaction(); var context = new ContextBag(); Assert.ThrowsAsync <InvalidOperationException>(async() => await sut.Dispatch(transportOperations, transportTransaction, context)); }
public static TransportExtensions <SqsTransport> ConfigureSqsTransport(this TransportExtensions <SqsTransport> transportConfiguration, string queueNamePrefix) { var region = EnvironmentHelper.GetEnvironmentVariable(RegionEnvironmentVariableName) ?? "ap-southeast-2"; transportConfiguration .Region(region) .QueueNamePrefix(queueNamePrefix) .PreTruncateQueueNamesForAcceptanceTests(); var s3BucketName = EnvironmentHelper.GetEnvironmentVariable(S3BucketEnvironmentVariableName); if (!string.IsNullOrEmpty(s3BucketName)) { transportConfiguration.S3BucketForLargeMessages(s3BucketName, "test"); } var nativeDeferralRaw = EnvironmentHelper.GetEnvironmentVariable(NativeDeferralEnvironmentVariableName); var validValue = bool.TryParse(nativeDeferralRaw, out var nativeDeferral); if (validValue && nativeDeferral) { transportConfiguration.NativeDeferral(); } return(transportConfiguration); }
public TransportConfigurationResult Configure(SettingsHolder settings, TransportTransactionMode transactionMode) { var sqsTransport = new SqsTransport(); var sqsConfig = new TransportExtensions <SqsTransport>(settings); sqsConfig.Region("ap-southeast-2") .QueueNamePrefix("TransportTest-") .S3BucketForLargeMessages("sqstransportmessages1337", "test") .NativeDeferral(); return(new TransportConfigurationResult { TransportInfrastructure = sqsTransport.Initialize(settings, ""), PurgeInputQueueOnStartup = true }); }