public async Task When_the_message_is_already_in_the_outbox_async() { await _dynamoDbOutboxSync.AddAsync(_messageEarliest); _exception = await Catch.ExceptionAsync(() => _dynamoDbOutboxSync.AddAsync(_messageEarliest)); //_should_ignore_the_duplicate_key_and_still_succeed _exception.Should().BeNull(); }
public DynamoDbOutboxMessageAlreadyExistsTests() { _messageEarliest = new Message(new MessageHeader(Guid.NewGuid(), "test_topic", MessageType.MT_DOCUMENT), new MessageBody("message body")); _dynamoDbOutboxSync = new DynamoDbOutboxSync(Client, new DynamoDbConfiguration(Credentials, RegionEndpoint.EUWest1, TableName)); _dynamoDbOutboxSync.AddAsync(_messageEarliest).Wait(); }
public async Task When_writing_a_message_to_the_dynamo_db_outbox() { await _dynamoDbOutboxSync.AddAsync(_messageEarliest); _storedMessage = await _dynamoDbOutboxSync.GetAsync(_messageEarliest.Id); //should read the message from the sql outbox _storedMessage.Body.Value.Should().Be(_messageEarliest.Body.Value); //should read the header from the sql outbox _storedMessage.Header.Topic.Should().Be(_messageEarliest.Header.Topic); _storedMessage.Header.MessageType.Should().Be(_messageEarliest.Header.MessageType); _storedMessage.Header.TimeStamp.Should().Be(_messageEarliest.Header.TimeStamp); _storedMessage.Header.HandledCount.Should().Be(0); // -- should be zero when read from outbox _storedMessage.Header.DelayedMilliseconds.Should().Be(0); // -- should be zero when read from outbox _storedMessage.Header.CorrelationId.Should().Be(_messageEarliest.Header.CorrelationId); _storedMessage.Header.ReplyTo.Should().Be(_messageEarliest.Header.ReplyTo); _storedMessage.Header.ContentType.Should().Be(_messageEarliest.Header.ContentType); //Bag serialization _storedMessage.Header.Bag.ContainsKey(_key1).Should().BeTrue(); _storedMessage.Header.Bag[_key1].Should().Be(_value1); _storedMessage.Header.Bag.ContainsKey(_key2).Should().BeTrue(); _storedMessage.Header.Bag[_key2].Should().Be(_value2); _storedMessage.Header.Bag.ContainsKey(_key3).Should().BeTrue(); _storedMessage.Header.Bag[_key3].Should().Be(_value3); _storedMessage.Header.Bag.ContainsKey(_key4).Should().BeTrue(); _storedMessage.Header.Bag[_key4].Should().Be(_value4); _storedMessage.Header.Bag.ContainsKey(_key5).Should().BeTrue(); _storedMessage.Header.Bag[_key5].Should().Be(_value5); }