static void SendEvent(Object sender, ControllerConnectedEventArgs e) { var tenantId = Guid.Parse(Configuration.GetSection("AppSettings").GetSection("ControllerId").Value); ConnectToControllerCommand cmd = new ConnectToControllerCommand(tenantId); var eventMetadata = new EventMetadata(cmd.ControllerId, "Controller", cmd.ControllerId.ToString(), cmd.ControllerId, cmd.ControllerId, DateTimeOffset.UtcNow); var controller = new Domain.Controller(eventMetadata, EventStore).ConnectToController(cmd); }
public void Connect_To_Controller_Should_Send_One_Event_To_EventStore() { var moqEventStore = new Mock <IEventStore>(); var eventMetadata = new EventMetadata(Guid.NewGuid(), "TestCategory", "TestCorrelationId", Guid.NewGuid(), Guid.NewGuid(), DateTimeOffset.UtcNow); ConnectToControllerCommand cmd = new ConnectToControllerCommand(Guid.Parse(Configuration.GetSection("AppSettings").GetSection("ControllerId").Value)); var p = new Domain.Controller(eventMetadata, moqEventStore.Object).ConnectToController(cmd); moqEventStore.Verify(m => m.SaveEvents(It.IsAny <CompositeAggregateId>(), It.IsAny <IEnumerable <IEvent> >()), Times.Once); }
public Controller ConnectToController(ConnectToControllerCommand cmd) { var controllerId = cmd.ControllerId; var connectToControllerCommand = new ConnectToController(controllerId); var commandBus = CommandBus.Instance; commandBus.Execute(connectToControllerCommand); var controller = new Controller(controllerId, EventMetadata, EventStore); return(controller); }
public void Should_Connect_To_Controller() { var moqEventStore = new Mock <IEventStore>(); var eventMetadata = new EventMetadata(Guid.NewGuid(), "TestCategory", "TestCorrelationId", Guid.NewGuid(), Guid.NewGuid(), DateTimeOffset.UtcNow); ConnectToControllerCommand cmd = new ConnectToControllerCommand(Guid.Parse(Configuration.GetSection("AppSettings").GetSection("ControllerId").Value)); var p = new Domain.Controller(eventMetadata, moqEventStore.Object).ConnectToController(cmd); var events = p.GetUncommittedEvents(); events.ShouldNotBeEmpty(); events.Count().ShouldBeGreaterThan(0); events.Count().ShouldBeLessThan(2); Assert.IsNotNull(p.AggregateGuid); Assert.AreNotEqual(Guid.Empty, p.AggregateGuid); }