public async Task Should_set_the_IsSystemMessage_when_control_message_header_is_null() { var context = new SystemMessageTestContext { MessageId = Guid.NewGuid().ToString(), EnclosedMessageType = "NServiceBus.Scheduling.Messages.ScheduledTask", IncludeControlMessageHeader = true, // If hte control message header is present, then its a system message ControlMessageHeaderValue = null }; FailedMessageView failure = null; await Define(context) .WithEndpoint <ServerEndpoint>() .Done(async c => { var result = await TryGetSingle <FailedMessageView>("/api/errors", r => r.MessageId == c.MessageId); failure = result; return(result); }) .Run(); Assert.IsNotNull(failure); Assert.IsTrue(failure.IsSystemMessage); }
public void No_SagaType_Header_Is_Ok() { FailedMessageView failure = null; var context = new MyContext(); Define(context) .WithEndpoint <FailureEndpoint>() .Done(c => TryGetSingle("/api/errors/", out failure, m => m.Id == c.UniqueMessageId)) .Run(); Assert.IsNotNull(failure); }
public void Null_TimeSent_should_not_be_cast_to_DateTimeMin() { FailedMessageView failure = null; var context = new MyContext(); Define(context) .WithEndpoint <FailureEndpoint>() .Done(c => TryGetSingle("/api/errors/", out failure, m => m.Id == c.UniqueMessageId)) .Run(); Assert.IsNotNull(failure); Assert.IsNull(failure.TimeSent); }
public async Task Should_be_able_to_get_the_message_by_id() { FailedMessageView failure = null; await Define <MyContext>() .WithEndpoint <Failing>() .Done(async c => { var result = await this.TryGet <FailedMessageView>($"/api/errors/last/{c.UniqueMessageId}"); failure = result; return(c.UniqueMessageId != null & result); }) .Run(); Assert.IsNotNull(failure); }
public void Should_be_listed_in_the_error_list() { var context = new MyContext(); FailedMessageView failure = null; Define(context) .WithEndpoint <Receiver>(b => b.Given(bus => bus.SendLocal(new MyMessage()))) .Done(c => TryGetSingle("/api/errors", out failure, r => r.MessageId == c.MessageId)) .Run(); // The message Ids may contain a \ if they are from older versions. Assert.AreEqual(context.MessageId, failure.MessageId.Replace(@"\", "-"), "The returned message should match the processed one"); Assert.AreEqual(FailedMessageStatus.Unresolved, failure.Status, "Status of new messages should be failed"); Assert.AreEqual(1, failure.NumberOfProcessingAttempts, "One attempt should be stored"); }
public async Task No_SagaType_Header_Is_Ok() { FailedMessageView failure = null; await Define <MyContext>() .WithEndpoint <FailureEndpoint>() .Done(async c => { var result = await this.TryGetSingle <FailedMessageView>("/api/errors/", m => m.Id == c.UniqueMessageId); failure = result; return(result); }) .Run(); Assert.IsNotNull(failure); }
public async Task Null_TimeSent_should_not_be_cast_to_DateTimeMin() { FailedMessageView failure = null; await Define <MyContext>() .WithEndpoint <Failing>() .Done(async c => { var result = await this.TryGetSingle <FailedMessageView>("/api/errors/", m => m.Id == c.UniqueMessageId); failure = result; return(result); }) .Run(); Assert.IsNotNull(failure); Assert.IsNull(failure.TimeSent); }
public void Should_be_listed_in_the_error_list_when_processing_endpoint_header_is_present() { var context = new MyContext { MessageId = Guid.NewGuid().ToString(), IncludeProcessingEndpointHeader = true }; FailedMessageView failure = null; Define(context) .WithEndpoint <SendOnlyEndpoint>() .Done(c => TryGetSingle("/api/errors", out failure, r => r.MessageId == c.MessageId)) .Run(); Assert.IsNotNull(failure); Assert.IsTrue(failure.ReceivingEndpoint.Name.Contains("SomeEndpoint"), $"The sending endpoint should be SomeEndpoint and not {failure.ReceivingEndpoint.Name}"); }
public void Should_set_the_IsSystemMessage_when_message_type_is_a_scheduled_task() { var context = new SystemMessageTestContext { MessageId = Guid.NewGuid().ToString(), EnclosedMessageType = "NServiceBus.Scheduling.Messages.ScheduledTask", IncludeControlMessageHeader = false, }; FailedMessageView failure = null; Define(context) .WithEndpoint <ServerEndpoint>() .Done(c => TryGetSingle("/api/errors", out failure, r => r.MessageId == c.MessageId)) .Run(); Assert.IsNotNull(failure); Assert.IsTrue(failure.IsSystemMessage); }
public void Should_set_the_IsSystemMessage_when_message_type_is_not_a_scheduled_task() { var context = new SystemMessageTestContext { MessageId = Guid.NewGuid().ToString(), EnclosedMessageType = "SendOnlyError.SendSomeCommand, TestSendOnlyError, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", IncludeControlMessageHeader = false, }; FailedMessageView failure = null; Define(context) .WithEndpoint <ServerEndpoint>() .Done(c => TryGetSingle("/api/errors", out failure, r => r.MessageId == c.MessageId)) .Run(); Assert.IsNotNull(failure); Assert.IsFalse(failure.IsSystemMessage); }
public void Should_set_the_IsSystemMessage_for_integration_scenario() { var context = new SystemMessageTestContext { MessageId = Guid.NewGuid().ToString(), EnclosedMessageType = null, IncludeControlMessageHeader = false }; FailedMessageView failure = null; Define(context) .WithEndpoint <ServerEndpoint>() .Done(c => TryGetSingle("/api/errors", out failure, r => r.MessageId == c.MessageId)) .Run(); Assert.IsNotNull(failure); Assert.IsFalse(failure.IsSystemMessage); }
public void Should_be_listed_in_the_error_list_when_processing_endpoint_header_is_not_present() { var context = new MyContext { MessageId = Guid.NewGuid().ToString(), IncludeProcessingEndpointHeader = false }; FailedMessageView failure = null; Scenario.Define(context) .WithEndpoint <ManagementEndpoint>(c => c.AppConfig(PathToAppConfig)) .WithEndpoint <SendOnlyEndpoint>() .Done(c => TryGetSingle("/api/errors", out failure, r => r.MessageId == c.MessageId)) .Run(); Assert.IsNotNull(failure); Assert.IsTrue(failure.ReceivingEndpoint.Name.Contains("SomeEndpoint"), string.Format("The sending endpoint should be SomeEndpoint and not {0}", failure.ReceivingEndpoint.Name)); }
public void Should_set_the_IsSystemMessage_when_control_message_header_is_true() { var context = new SystemMessageTestContext { MessageId = Guid.NewGuid().ToString(), EnclosedMessageType = null, IncludeControlMessageHeader = true, ControlMessageHeaderValue = true }; FailedMessageView failure = null; Define(context) .WithEndpoint <ServerEndpoint>() .Done(c => TryGetSingle("/api/errors", out failure, r => r.MessageId == c.MessageId)) .Run(); Assert.IsNotNull(failure); Assert.IsTrue(failure.IsSystemMessage); }
public async Task TimeSent_should_not_be_casted() { FailedMessageView failure = null; var sentTime = DateTime.Parse("2014-11-11T02:26:58.000462Z"); await Define <MyContext>(ctx => { ctx.TimeSent = sentTime; }) .WithEndpoint <Failing>() .Done(async c => { var result = await this.TryGet <FailedMessageView>($"/api/errors/last/{c.UniqueMessageId}"); failure = result; return(c.UniqueMessageId != null & result); }) .Run(); Assert.IsNotNull(failure); Assert.AreEqual(sentTime, failure.TimeSent); }
public async Task Should_be_listed_in_the_error_list() { FailedMessageView failure = null; var context = await Define <MyContext>() .WithEndpoint <Receiver>(b => b.When(bus => bus.SendLocal(new MyMessage())).DoNotFailOnErrorMessages()) .Done(async c => { var result = await this.TryGetSingle <FailedMessageView>("/api/errors", r => r.MessageId == c.MessageId); failure = result; return(result); }) .Run(); // The message Ids may contain a \ if they are from older versions. Assert.AreEqual(context.MessageId, failure.MessageId.Replace(@"\", "-"), "The returned message should match the processed one"); Assert.AreEqual(FailedMessageStatus.Unresolved, failure.Status, "Status of new messages should be failed"); Assert.AreEqual(1, failure.NumberOfProcessingAttempts, "One attempt should be stored"); }
public void Should_set_the_IsSystemMessage_when_control_message_header_is_null() { var context = new SystemMessageTestContext { MessageId = Guid.NewGuid().ToString(), EnclosedMessageType = "NServiceBus.Scheduling.Messages.ScheduledTask", IncludeControlMessageHeader = true, // If hte control message header is present, then its a system message ControlMessageHeaderValue = null }; FailedMessageView failure = null; Scenario.Define(context) .WithEndpoint <ManagementEndpoint>(c => c.AppConfig(PathToAppConfig)) .WithEndpoint <ServerEndpoint>() .Done(c => TryGetSingle("/api/errors", out failure, r => r.MessageId == c.MessageId)) .Run(); Assert.IsNotNull(failure); Assert.IsTrue(failure.IsSystemMessage); }
public async Task Should_be_listed_in_the_error_list_when_processing_endpoint_header_is_present() { FailedMessageView failure = null; await Define <MyContext>(ctx => { ctx.MessageId = Guid.NewGuid().ToString(); ctx.IncludeProcessingEndpointHeader = true; }) .WithEndpoint <SendOnlyEndpoint>() .Done(async c => { var result = await this.TryGetSingle <FailedMessageView>("/api/errors", r => r.MessageId == c.MessageId); failure = result; return(result); }) .Run(); Assert.IsNotNull(failure); Assert.IsTrue(failure.ReceivingEndpoint.Name.Contains("SomeEndpoint"), $"The sending endpoint should be SomeEndpoint and not {failure.ReceivingEndpoint.Name}"); }
public async Task Should_set_the_IsSystemMessage_when_message_type_is_a_scheduled_task() { FailedMessageView failure = null; await Define <SystemMessageTestContext>(ctx => { ctx.MessageId = Guid.NewGuid().ToString(); ctx.EnclosedMessageType = "NServiceBus.Scheduling.Messages.ScheduledTask"; ctx.IncludeControlMessageHeader = false; }) .WithEndpoint <ServerEndpoint>() .Done(async c => { var result = await this.TryGetSingle <FailedMessageView>("/api/errors", r => r.MessageId == c.MessageId); failure = result; return(result); }) .Run(); Assert.IsNotNull(failure); Assert.IsTrue(failure.IsSystemMessage); }
public async Task Should_set_the_IsSystemMessage_when_message_type_is_not_a_scheduled_task() { FailedMessageView failure = null; await Define <SystemMessageTestContext>(ctx => { ctx.MessageId = Guid.NewGuid().ToString(); ctx.EnclosedMessageType = "SendOnlyError.SendSomeCommand, TestSendOnlyError, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"; ctx.IncludeControlMessageHeader = false; }) .WithEndpoint <ServerEndpoint>() .Done(async c => { var result = await this.TryGetSingle <FailedMessageView>("/api/errors", r => r.MessageId == c.MessageId); failure = result; return(result); }) .Run(); Assert.IsNotNull(failure); Assert.IsFalse(failure.IsSystemMessage); }
public async Task Should_set_the_IsSystemMessage_for_integration_scenario() { FailedMessageView failure = null; await Define <SystemMessageTestContext>(ctx => { ctx.MessageId = Guid.NewGuid().ToString(); ctx.EnclosedMessageType = null; ctx.IncludeControlMessageHeader = false; }) .WithEndpoint <ServerEndpoint>() .Done(async c => { var result = await this.TryGetSingle <FailedMessageView>("/api/errors", r => r.MessageId == c.MessageId); failure = result; return(result); }) .Run(); Assert.IsNotNull(failure); Assert.IsFalse(failure.IsSystemMessage); }