public void check_response_handled() { var sampleMessage = new SampleTestCommand(10); sampleMessage.SetContextData(MessagesConstants.ReplyToHeader, "test"); _bus.Send(sampleMessage); var handled = _handler.Reset.WaitOne(10000); //cycle until we found handled message on tracking List<TrackedMessageModel> tracks = null; DateTime startTime = DateTime.Now; do { Thread.Sleep(50); tracks = _messages.FindAll().ToList(); } while ( tracks.Count < 2 && //command tracking and commandhandled tracking DateTime.Now.Subtract(startTime).TotalSeconds < 4 ); var track = tracks.Single(t => t.MessageId == sampleMessage.MessageId.ToString()); Assert.That(track.Description, Is.EqualTo(sampleMessage.Describe())); Assert.That(track.StartedAt, Is.Not.Null); Assert.That(track.CompletedAt, Is.Not.Null); var handledTrack = tracks.Single(t => t.MessageId != sampleMessage.MessageId.ToString()); CommandHandled commandHandled = (CommandHandled)handledTrack.Message; Assert.That(commandHandled.CommandId, Is.EqualTo(sampleMessage.MessageId)); Assert.That(handledTrack.Description, Is.StringContaining(sampleMessage.MessageId.ToString())); Assert.That(handledTrack.Description, Is.StringContaining("Handled!")); }
public void verify_elaboration_tracking() { var sampleMessage = new SampleTestCommand(10); _bus.Send(sampleMessage); var handled = _handler.Reset.WaitOne(10000); //cycle until we found handled message on tracking TrackedMessageModel track = null; DateTime startTime = DateTime.Now; do { Thread.Sleep(50); var tracks = _messages.FindAll().ToList(); Assert.That(tracks, Has.Count.EqualTo(1)); track = tracks.Single(); } while ( track.CompletedAt == null && DateTime.Now.Subtract(startTime).TotalSeconds < 4 ); Assert.That(track.MessageId, Is.EqualTo(sampleMessage.MessageId.ToString())); Assert.That(track.LastExecutionStartTime, Is.Not.Null); Assert.That(track.ExecutionCount, Is.EqualTo(1)); Assert.That(track.ExecutionStartTimeList.Length, Is.EqualTo(1)); }
public void Test_extensions_write_object_to_command_Context_int() { var cmd = new SampleTestCommand(1); cmd.SetContextData("data", 42); Assert.That(cmd.GetContextData <int>("data"), Is.EqualTo(42)); }
public async Task Check_basic_tracking() { var sampleMessage = new SampleTestCommand(10); await _bus.Send(sampleMessage).ConfigureAwait(false); _handler.Reset.WaitOne(10000); //cycle until we found handled message on tracking DateTime startTime = DateTime.Now; TrackedMessageModel track; do { Thread.Sleep(50); var tracks = _messages.FindAll().ToList(); Assert.That(tracks, Has.Count.EqualTo(1)); track = tracks.Single(); }while (track.CompletedAt == null && DateTime.Now.Subtract(startTime).TotalSeconds < 4 ); Assert.That(track.MessageId, Is.EqualTo(sampleMessage.MessageId.ToString())); Assert.That(track.Description, Is.EqualTo(sampleMessage.Describe())); Assert.That(track.StartedAt, Is.Not.Null); Assert.That(track.CompletedAt, Is.Not.Null); Assert.That(track.Completed, Is.True); Assert.That(track.Success, Is.True); }
public void Test_extensions_write_object_to_command_Context_mismatch_throw() { var cmd = new SampleTestCommand(1); cmd.SetContextData("data", 42); Assert.Throws <InvalidCastException>(() => cmd.GetContextData <DateTime>("data")); }
public void Test_extensions_write_object_to_command_Context_dateTime_nullable() { var cmd = new SampleTestCommand(1); var data = DateTime.Now; cmd.SetContextData("data", data); Assert.That(cmd.GetContextData <DateTime?>("data"), Is.EqualTo(data)); }
public void Test_extensions_write_object_to_command_Context_dateTime_from_string() { var cmd = new SampleTestCommand(1); var data = DateTime.Now; cmd.SetContextData("data", JsonConvert.SerializeObject(data, CommandExtensions.JsonSerializerSettings)); Assert.That(cmd.GetContextData <DateTime>("data"), Is.EqualTo(data)); }
public void Test_extensions_datetime_object() { var cmd = new SampleTestCommand(1); var data = new TestObject(StringValue, 42); cmd.SetContextData("obj", data); Assert.That(cmd.GetContextData <TestObject>("obj").Value, Is.EqualTo(StringValue)); Assert.That(cmd.GetContextData <TestObject>("obj").Age, Is.EqualTo(42)); }
public void verify_multiple_start_execution_time() { SampleTestCommand cmd = new SampleTestCommand(1); sut.Started(cmd); DateTime startDate1 = new DateTime(2000, 01, 01, 1, 1, 42, DateTimeKind.Utc); DateTime startDate2 = startDate1.AddSeconds(1); sut.ElaborationStarted(cmd.MessageId, startDate1); sut.ElaborationStarted(cmd.MessageId, startDate2); var handledTrack = _messages.AsQueryable().Single(t => t.MessageId == cmd.MessageId.ToString()); Assert.That(handledTrack.LastExecutionStartTime, Is.EqualTo(startDate2)); Assert.That(handledTrack.ExecutionStartTimeList, Is.EquivalentTo(new[] { startDate1, startDate2 })); }
public void Verify_multiple_start_do_not_push_too_much_data() { SampleTestCommand cmd = new SampleTestCommand(1); sut.Started(cmd); DateTime startDate1 = new DateTime(2000, 01, 01, 1, 1, 42, DateTimeKind.Utc); for (int i = 0; i < 100; i++) { sut.ElaborationStarted(cmd, startDate1.AddMinutes(i)); } var handledTrack = _messages.AsQueryable().Single(t => t.MessageId == cmd.MessageId.ToString()); Assert.That(handledTrack.ExecutionStartTimeList.Length, Is.EqualTo(10)); var last = handledTrack.ExecutionStartTimeList.Last(); Assert.That(last, Is.EqualTo(startDate1.AddMinutes(99))); }