public void CollectCommandsToBePublished() { var sagaCommand1 = new SagaCommand(GuidStrategy.NewGuid(), new HeaderCollection((IEnumerable <Header>)HeaderCollection.Empty), new FakeCommand()); var sagaCommand2 = new SagaCommand(GuidStrategy.NewGuid(), new HeaderCollection((IEnumerable <Header>)HeaderCollection.Empty), new FakeCommand()); using (var context = new SagaContext(typeof(Saga), GuidStrategy.NewGuid(), new FakeEvent())) { context.Publish(sagaCommand1.AggregateId, sagaCommand1.Headers, sagaCommand1.Command); context.Publish(sagaCommand2.AggregateId, sagaCommand2.Headers, sagaCommand2.Command); var publishedCommands = context.GetPublishedCommands().ToArray(); Assert.Equal(sagaCommand1.AggregateId, publishedCommands[0].AggregateId); Assert.Equal(sagaCommand2.AggregateId, publishedCommands[1].AggregateId); } }
public void CollectCommandsToBePublished() { var sagaCommand1 = new SagaCommand(GuidStrategy.NewGuid(), new HeaderCollection((IEnumerable<Header>) HeaderCollection.Empty), new FakeCommand()); var sagaCommand2 = new SagaCommand(GuidStrategy.NewGuid(), new HeaderCollection((IEnumerable<Header>)HeaderCollection.Empty), new FakeCommand()); using (var context = new SagaContext(typeof(Saga), GuidStrategy.NewGuid(), new FakeEvent())) { context.Publish(sagaCommand1.AggregateId, sagaCommand1.Headers, sagaCommand1.Command); context.Publish(sagaCommand2.AggregateId, sagaCommand2.Headers, sagaCommand2.Command); var publishedCommands = context.GetPublishedCommands().ToArray(); Assert.Equal(sagaCommand1.AggregateId, publishedCommands[0].AggregateId); Assert.Equal(sagaCommand2.AggregateId, publishedCommands[1].AggregateId); } }
public void CopyUserNameHeaderFromEventContext() { var saga = new FakeSaga(); var userName = Guid.NewGuid().ToString(); var e = new FakeEvent { Id = GuidStrategy.NewGuid() }; var headers = new HeaderCollection(new Dictionary <String, string> { { Header.UserName, userName } }); using (new EventContext(e.Id, headers, e)) using (var sagaContext = new SagaContext(typeof(Saga), GuidStrategy.NewGuid(), e)) { saga.Handle(new FakeEvent()); Assert.Equal(userName, sagaContext.GetPublishedCommands().Single().Headers.Single().Value); } }
public void CopyRemoteAddressHeaderFromEventContextIfNoUserAddress() { var saga = new FakeSaga(); var userAddress = IPAddress.Loopback.ToString(); var e = new FakeEvent { Id = GuidStrategy.NewGuid() }; var headers = new HeaderCollection(new Dictionary <String, string> { { Header.RemoteAddress, userAddress } }); using (new EventContext(e.Id, headers, e)) using (var sagaContext = new SagaContext(typeof(Saga), GuidStrategy.NewGuid(), e)) { saga.Handle(new FakeEvent()); Assert.Equal(userAddress, sagaContext.GetPublishedCommands().Single().Headers.Single().Value); } }
public void PreferCustomHeaderOverEventContextHeaderIfDefined() { var saga = new FakeSaga(); var userName = Guid.NewGuid().ToString(); var customUserName = Guid.NewGuid().ToString(); var e = new FakeEvent { Id = GuidStrategy.NewGuid() }; var headers = new HeaderCollection(new Dictionary <String, string> { { Header.UserName, userName } }); using (new EventContext(e.Id, headers, e)) using (var sagaContext = new SagaContext(typeof(Saga), GuidStrategy.NewGuid(), e)) { saga.Handle(new FakeEvent { CustomHeaders = new[] { new Header(Header.UserName, customUserName, checkReservedNames: false) } }); Assert.Equal(customUserName, sagaContext.GetPublishedCommands().Single().Headers.Single().Value); } }
public void PreferCustomHeaderOverEventContextHeaderIfDefined() { var saga = new FakeSaga(); var userName = Guid.NewGuid().ToString(); var customUserName = Guid.NewGuid().ToString(); var e = new FakeEvent { Id = GuidStrategy.NewGuid() }; var headers = new HeaderCollection(new Dictionary<String, string> { { Header.UserName, userName } }); using (new EventContext(e.Id, headers, e)) using (var sagaContext = new SagaContext(typeof(Saga), GuidStrategy.NewGuid(), e)) { saga.Handle(new FakeEvent { CustomHeaders = new[] { new Header(Header.UserName, customUserName, checkReservedNames: false) } }); Assert.Equal(customUserName, sagaContext.GetPublishedCommands().Single().Headers.Single().Value); } }
public void CopyUserNameHeaderFromEventContext() { var saga = new FakeSaga(); var userName = Guid.NewGuid().ToString(); var e = new FakeEvent { Id = GuidStrategy.NewGuid() }; var headers = new HeaderCollection(new Dictionary<String, string> { { Header.UserName, userName } }); using (new EventContext(e.Id, headers, e)) using (var sagaContext = new SagaContext(typeof(Saga), GuidStrategy.NewGuid(), e)) { saga.Handle(new FakeEvent()); Assert.Equal(userName, sagaContext.GetPublishedCommands().Single().Headers.Single().Value); } }
public void CopyRemoteAddressHeaderFromEventContextIfNoUserAddress() { var saga = new FakeSaga(); var userAddress = IPAddress.Loopback.ToString(); var e = new FakeEvent { Id = GuidStrategy.NewGuid() }; var headers = new HeaderCollection(new Dictionary<String, string> { { Header.RemoteAddress, userAddress } }); using (new EventContext(e.Id, headers, e)) using (var sagaContext = new SagaContext(typeof(Saga), GuidStrategy.NewGuid(), e)) { saga.Handle(new FakeEvent()); Assert.Equal(userAddress, sagaContext.GetPublishedCommands().Single().Headers.Single().Value); } }