public async Task Only_Unsigned_Signals_Are_PiggyBacked_For_SendingPModes_Where_Signing_Is_Not_Configured() { // Arrange const string url = "http://localhost:8081/msh"; string mpc = $"mpc-{Guid.NewGuid()}"; var user = new UserMessage($"user-{Guid.NewGuid()}", mpc); var unsignedReceipt = new Receipt($"receipt-{Guid.NewGuid()}", user.MessageId); var signedReceipt = new Receipt($"receipt-{Guid.NewGuid()}", user.MessageId); InsertUserMessage(user); InsertReceipt(unsignedReceipt, Operation.ToBePiggyBacked, url, signed: false); InsertReceipt(signedReceipt, Operation.ToBePiggyBacked, url, signed: true); var pr = new PullRequest($"pr-{Guid.NewGuid()}", mpc); var ctx = new MessagingContext(AS4Message.Create(pr), MessagingContextMode.PullReceive) { SendingPMode = new SendingProcessingMode { PushConfiguration = new PushConfiguration { Protocol = { Url = url } }, Security = { Signing = { IsEnabled = false } } } }; var sut = new BundleSignalMessageToPullRequestStep(GetDataStoreContext, _bodyStore); // Act StepResult result = await sut.ExecuteAsync(ctx); // Assert Assert.True(result.Succeeded); Assert.Collection( result.MessagingContext.AS4Message.MessageUnits, u => Assert.IsType <PullRequest>(u), u => Assert.Equal(unsignedReceipt.MessageId, Assert.IsType <Receipt>(u).MessageId)); GetDataStoreContext.AssertOutMessage( signedReceipt.MessageId, m => Assert.Equal(Operation.ToBePiggyBacked, m.Operation)); GetDataStoreContext.AssertOutMessage( unsignedReceipt.MessageId, m => Assert.Equal(Operation.Sending, m.Operation)); }
private StepResult ExerciseBundleWithPullRequest(PullRequest pullRequest, string url) { var sut = new BundleSignalMessageToPullRequestStep(GetDataStoreContext, _bodyStore); var ctx = new MessagingContext( AS4Message.Create(pullRequest), MessagingContextMode.PullReceive) { SendingPMode = new SendingProcessingMode { PushConfiguration = new PushConfiguration { Protocol = { Url = url } } } }; return(sut.ExecuteAsync(ctx) .GetAwaiter() .GetResult()); }