public async Task When_The_Message_Is_Already_In_The_Outbox_Async() { await _sqlOutbox.AddAsync(_messageEarliest); _exception = await Catch.ExceptionAsync(() => _sqlOutbox.AddAsync(_messageEarliest)); //_should_ignore_the_duplcate_key_and_still_succeed _exception.Should().BeNull(); }
private async Task SetUpMessagesAsync() { _messageEarliest = new Message(new MessageHeader(Guid.NewGuid(), "Test", MessageType.MT_COMMAND, DateTime.UtcNow.AddHours(-3)), new MessageBody("Body")); await _sSqlOutbox.AddAsync(_messageEarliest); _message2 = new Message(new MessageHeader(Guid.NewGuid(), "Test2", MessageType.MT_COMMAND, DateTime.UtcNow.AddHours(-2)), new MessageBody("Body2")); await _sSqlOutbox.AddAsync(_message2); _messageLatest = new Message(new MessageHeader(Guid.NewGuid(), "Test3", MessageType.MT_COMMAND, DateTime.UtcNow.AddHours(-1)), new MessageBody("Body3")); await _sSqlOutbox.AddAsync(_messageLatest); }
public async Task When_Writing_A_Message_To_The_Outbox_Async() { await _sqlOutbox.AddAsync(_messageEarliest); _storedMessage = await _sqlOutbox.GetAsync(_messageEarliest.Id); //should read the message from the sql outbox _storedMessage.Body.Value.Should().Be(_messageEarliest.Body.Value); //should read the message header first bag item from the sql outbox //should read the message header timestamp from the sql outbox _storedMessage.Header.TimeStamp.Should().Be(_messageEarliest.Header.TimeStamp); //should read the message header topic from the sql outbox = _storedMessage.Header.Topic.Should().Be(_messageEarliest.Header.Topic); //should read the message header type from the sql outbox _storedMessage.Header.MessageType.Should().Be(_messageEarliest.Header.MessageType); //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); }
public async Task When_There_Are_Multiple_Messages_In_The_Outbox_And_A_Range_Is_Fetched_Async() { await _sqlOutbox.AddAsync(_messageEarliest); await _sqlOutbox.AddAsync(_message1); await _sqlOutbox.AddAsync(_message2); _messages = await _sqlOutbox.GetAsync(1, 3); //should fetch 1 message _messages.Should().HaveCount(1); //should fetch expected message _messages.First().Header.Topic.Should().Be(_TopicLastMessage); //should not fetch null messages _messages.Should().NotBeNull(); }
public async Task When_Writing_A_Message_To_The_Outbox_Async() { await _sqlOutbox.AddAsync(_messageEarliest); _storedMessage = await _sqlOutbox.GetAsync(_messageEarliest.Id); //_should_read_the_message_from_the__sql_outbox _storedMessage.Body.Value.Should().Be(_messageEarliest.Body.Value); //_should_read_the_message_header_first_bag_item_from_the__sql_outbox _storedMessage.Header.Bag.ContainsKey(key1).Should().BeTrue(); _storedMessage.Header.Bag[key1].Should().Be(value1); //_should_read_the_message_header_second_bag_item_from_the__sql_outbox _storedMessage.Header.Bag.ContainsKey(key2).Should().BeTrue(); _storedMessage.Header.Bag[key2].Should().Be(value2); //_should_read_the_message_header_timestamp_from_the__sql_outbox _storedMessage.Header.TimeStamp.Should().Be(_messageEarliest.Header.TimeStamp); //_should_read_the_message_header_topic_from_the__sql_outbox = _storedMessage.Header.Topic.Should().Be(_messageEarliest.Header.Topic); //_should_read_the_message_header_type_from_the__sql_outbox _storedMessage.Header.MessageType.Should().Be(_messageEarliest.Header.MessageType); }