public async Task Arn_Still_Retrieved_When_It_Already_Exists() { // Arrange string topicName = Guid.NewGuid().ToString(); ILoggerFactory loggerFactory = OutputHelper.ToLoggerFactory(); var subjectProvider = new NonGenericMessageSubjectProvider(); var serializerFactor = new NewtonsoftSerializationFactory(); var serializationRegister = new MessageSerializationRegister(subjectProvider, serializerFactor); IAmazonSimpleNotificationService client = CreateSnsClient(exists: true); var topic = new SnsTopicByName( topicName, client, serializationRegister, loggerFactory, subjectProvider); // Act await topic.CreateAsync(); // Assert topic.Arn.ShouldNotBeNull(); }
public async Task Then_An_Exception_Is_Not_Thrown() { // Arrange string topicName = Guid.NewGuid().ToString(); ILoggerFactory loggerFactory = OutputHelper.ToLoggerFactory(); IAwsClientFactory clientFactory = CreateClientFactory(); var subjectProvider = new NonGenericMessageSubjectProvider(); var serializationRegister = new MessageSerializationRegister(subjectProvider); var client = clientFactory.GetSnsClient(Region); var topic = new SnsTopicByName( topicName, client, serializationRegister, loggerFactory, subjectProvider); // Act and Assert (await topic.CreateAsync()).ShouldBeTrue(); (await topic.CreateAsync()).ShouldBeTrue(); topic.Arn.ShouldNotBeNull(); topic.Arn.ShouldEndWith(topic.TopicName); }
public async Task Cannot_Create_Topic_Because_It_Exists() { // Arrange string topicName = Guid.NewGuid().ToString(); ILoggerFactory loggerFactory = OutputHelper.ToLoggerFactory(); var subjectProvider = new NonGenericMessageSubjectProvider(); var serializerFactor = new NewtonsoftSerializationFactory(); var serializationRegister = new MessageSerializationRegister(subjectProvider, serializerFactor); IAmazonSimpleNotificationService client = CreateSnsClient(exists: true); var topic = new SnsTopicByName( topicName, client, serializationRegister, loggerFactory, subjectProvider); // Act bool actual = await topic.CreateAsync(); // Assert actual.ShouldBeFalse(); topic.Arn.ShouldNotBeNull(); }
public MessagingConfig() { PublishFailureReAttempts = JustSayingConstants.DefaultPublisherRetryCount; PublishFailureBackoff = JustSayingConstants.DefaultPublisherRetryInterval; AdditionalSubscriberAccounts = new List <string>(); Regions = new List <string>(); MessageSubjectProvider = new NonGenericMessageSubjectProvider(); }
public MessagingConfig() { PublishFailureReAttempts = JustSayingConstants.DEFAULT_PUBLISHER_RETRY_COUNT; PublishFailureBackoffMilliseconds = JustSayingConstants.DEFAULT_PUBLISHER_RETRY_INTERVAL; AdditionalSubscriberAccounts = new List <string>(); Regions = new List <string>(); MessageSubjectProvider = new NonGenericMessageSubjectProvider(); }
public async Task Cannot_Create_Topic_Because_Not_Authorized() { // Arrange string topicName = Guid.NewGuid().ToString(); ILoggerFactory loggerFactory = OutputHelper.ToLoggerFactory(); var subjectProvider = new NonGenericMessageSubjectProvider(); var serializationRegister = new MessageSerializationRegister(subjectProvider); IAmazonSimpleNotificationService client = CreateSnsClient(exists: false); var topic = new SnsTopicByName( topicName, client, serializationRegister, loggerFactory, subjectProvider); // Act and Assert await Assert.ThrowsAsync <InvalidOperationException>(() => topic.CreateAsync()); }