public void Handle(EventB message) { Console.WriteLine("Event B " + message.CorrelationId); Data.StepB = DateTime.Now; Bus.Publish(new EventC() { CorrelationId = message.CorrelationId }); }
public given_a_sql_log_with_three_events() { using (var context = new MessageLogDbContext(dbName)) { if (context.Database.Exists()) { context.Database.Delete(); } context.Database.Create(); } this.eventA = new EventA(); this.eventB = new EventB(); this.eventC = new EventC(); var metadata = Mock.Of<IMetadataProvider>(x => x.GetMetadata(eventA) == new Dictionary<string, string> { { StandardMetadata.SourceId, eventA.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceA" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "A" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventA" }, { StandardMetadata.TypeName, "EventA" }, } && x.GetMetadata(eventB) == new Dictionary<string, string> { { StandardMetadata.SourceId, eventB.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceB" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventB" }, { StandardMetadata.TypeName, "EventB" }, } && x.GetMetadata(eventC) == new Dictionary<string, string> { { StandardMetadata.SourceId, eventC.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceC" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "AnotherNamespace" }, { StandardMetadata.FullName, "AnotherNamespace.EventC" }, { StandardMetadata.TypeName, "EventC" }, }); this.metadata = Mock.Get(metadata); this.sut = new SqlMessageLog(dbName, new JsonTextSerializer(), metadata); this.sut.Save(eventA); this.sut.Save(eventB); this.sut.Save(eventC); }
public given_a_sql_log_with_three_events() { using (var context = new MessageLogDbContext(dbName)) { if (context.Database.Exists()) { context.Database.Delete(); } context.Database.Create(); } this.eventA = new EventA(); this.eventB = new EventB(); this.eventC = new EventC(); var metadata = Mock.Of <IMetadataProvider>(x => x.GetMetadata(eventA) == new Dictionary <string, string> { { StandardMetadata.SourceId, eventA.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceA" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "A" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventA" }, { StandardMetadata.TypeName, "EventA" }, } && x.GetMetadata(eventB) == new Dictionary <string, string> { { StandardMetadata.SourceId, eventB.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceB" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventB" }, { StandardMetadata.TypeName, "EventB" }, } && x.GetMetadata(eventC) == new Dictionary <string, string> { { StandardMetadata.SourceId, eventC.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceC" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "AnotherNamespace" }, { StandardMetadata.FullName, "AnotherNamespace.EventC" }, { StandardMetadata.TypeName, "EventC" }, }); this.metadata = Mock.Get(metadata); this.sut = new SqlMessageLog(dbName, new JsonTextSerializer(), metadata); this.sut.Save(eventA); this.sut.Save(eventB); this.sut.Save(eventC); }
public given_an_empty_event_log() { this.tableName = "AzureEventLogFixture" + new Random((int)DateTime.Now.Ticks).Next(); var settings = InfrastructureSettings.Read("Settings.xml").EventSourcing; this.account = CloudStorageAccount.Parse(settings.ConnectionString); this.eventA = new EventA(); this.eventB = new EventB(); this.eventC = new EventC(); this.metadata = Mock.Of <IMetadataProvider>(x => x.GetMetadata(eventA) == new Dictionary <string, string> { { StandardMetadata.SourceId, eventA.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceA" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "A" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventA" }, { StandardMetadata.TypeName, "EventA" }, } && x.GetMetadata(eventB) == new Dictionary <string, string> { { StandardMetadata.SourceId, eventB.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceB" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventB" }, { StandardMetadata.TypeName, "EventB" }, } && x.GetMetadata(eventC) == new Dictionary <string, string> { { StandardMetadata.SourceId, eventC.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceC" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "AnotherNamespace" }, { StandardMetadata.FullName, "AnotherNamespace.EventC" }, { StandardMetadata.TypeName, "EventC" }, }); this.serializer = new JsonTextSerializer(); this.writer = new AzureMessageLogWriter(this.account, this.tableName); this.sut = new AzureEventLogReader(this.account, this.tableName, new JsonTextSerializer()); this.startEnqueueTime = new DateTime(2012, 06, 30, 23, 59, 0, DateTimeKind.Utc); Save(eventA, startEnqueueTime); Save(eventB, startEnqueueTime.AddMinutes(5)); Save(eventC, startEnqueueTime.AddMinutes(6)); }
public given_an_empty_event_log() { this.tableName = "AzureEventLogFixture" + new Random((int)DateTime.Now.Ticks).Next(); var settings = InfrastructureSettings.Read("Settings.xml").EventSourcing; this.account = CloudStorageAccount.Parse(settings.ConnectionString); this.eventA = new EventA(); this.eventB = new EventB(); this.eventC = new EventC(); this.metadata = Mock.Of<IMetadataProvider>(x => x.GetMetadata(eventA) == new Dictionary<string, string> { { StandardMetadata.SourceId, eventA.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceA" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "A" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventA" }, { StandardMetadata.TypeName, "EventA" }, } && x.GetMetadata(eventB) == new Dictionary<string, string> { { StandardMetadata.SourceId, eventB.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceB" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventB" }, { StandardMetadata.TypeName, "EventB" }, } && x.GetMetadata(eventC) == new Dictionary<string, string> { { StandardMetadata.SourceId, eventC.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceC" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "AnotherNamespace" }, { StandardMetadata.FullName, "AnotherNamespace.EventC" }, { StandardMetadata.TypeName, "EventC" }, }); this.serializer = new JsonTextSerializer(); this.writer = new AzureMessageLogWriter(this.account, this.tableName); this.sut = new AzureEventLogReader(this.account, this.tableName, new JsonTextSerializer()); this.startEnqueueTime = new DateTime(2012, 06, 30, 23, 59, 0, DateTimeKind.Utc); Save(eventA, startEnqueueTime); Save(eventB, startEnqueueTime.AddMinutes(5)); Save(eventC, startEnqueueTime.AddMinutes(6)); }
public void Setup() { using (var context = new MessageLogDbContext(_dbName)) { if (context.Database.Exists()) { context.Database.Delete(); } context.Database.Create(); } _eventA = new EventA(); _eventB = new EventB(); _eventC = new EventC(); var metadata = Mock.Of <IMetadataProvider>(x => x.GetMetadata(_eventA) == new Dictionary <string, string> { { StandardMetadata.SourceId, _eventA.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceA" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "A" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventA" }, { StandardMetadata.TypeName, "EventA" } } && x.GetMetadata(_eventB) == new Dictionary <string, string> { { StandardMetadata.SourceId, _eventA.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceB" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "Namespace" }, { StandardMetadata.FullName, "Namespace.EventB" }, { StandardMetadata.TypeName, "EventB" } } && x.GetMetadata(_eventC) == new Dictionary <string, string> { { StandardMetadata.SourceId, _eventA.SourceId.ToString() }, { StandardMetadata.SourceType, "SourceC" }, { StandardMetadata.Kind, StandardMetadata.EventKind }, { StandardMetadata.AssemblyName, "B" }, { StandardMetadata.Namespace, "AnotherNamespace" }, { StandardMetadata.FullName, "AnotherNamespace.EventC" }, { StandardMetadata.TypeName, "EventC" } }); this._metadata = Mock.Get(metadata); this._messageLog = new SqlMessageLog(_dbName, new JsonTextSerializer(), metadata); this._messageLog.Save(_eventA); this._messageLog.Save(_eventB); this._messageLog.Save(_eventC); }
protected void gridMain_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridEditableItem && e.Item.IsInEditMode) { placeID = -1; Session.Remove("PlaceID"); countryID = -1; Session.Remove("CountryID"); GridEditableItem item = e.Item as GridEditableItem; RadDropDownList ddlPlaces = item.FindControl("ddlPlaces") as RadDropDownList; RadDropDownList ddlCountries = item.FindControl("ddlCountries") as RadDropDownList; TextBox txtNameGR = (TextBox)item["NameGR"].Controls[0]; txtNameGR.Width = Unit.Pixel(300); TextBox txtNameEN = (TextBox)item["NameEN"].Controls[0]; txtNameEN.Width = Unit.Pixel(300); try { EventB currEvent = e.Item.DataItem as EventB; CountriesController ccont = new CountriesController(); PlacesController cont = new PlacesController(); ddlCountries.DataSource = ccont.GetCountries(); ddlCountries.DataTextField = "NameGR"; ddlCountries.DataValueField = "ID"; ddlCountries.DataBind(); if (currEvent != null) { ddlCountries.SelectedIndex = ddlCountries.FindItemByValue(currEvent.Place.CountryID.ToString()).Index; Session["CountryID"] = currEvent.Place.CountryID; ddlPlaces.DataSource = cont.GetPlaces().Where(k => k.CountryID == currEvent.Place.CountryID); ddlPlaces.DataTextField = "NameGR"; ddlPlaces.DataValueField = "ID"; ddlPlaces.DataBind(); ddlPlaces.SelectedIndex = ddlPlaces.FindItemByValue(currEvent.PlaceID.ToString()).Index; Session["PlaceID"] = currEvent.PlaceID; } else { ddlCountries.SelectedIndex = 0; Session["CountryID"] = ddlCountries.SelectedItem.Value; ddlPlaces.DataSource = cont.GetPlaces().Where(k => k.CountryID == int.Parse(ddlCountries.SelectedItem.Value)); ddlPlaces.DataTextField = "NameGR"; ddlPlaces.DataValueField = "ID"; ddlPlaces.DataBind(); ddlPlaces.SelectedIndex = 0; Session["PlaceID"] = ddlPlaces.SelectedItem.Value; } } catch (Exception) { } } }
public async Task Dispatch_SingleEvent_ShouldInvokeCorrectHandler() { // Arrange var singleEvent = new EventB(); var fakeServiceScopeFactory = new FakeServiceScopeFactory(); var dispatcher = new EventDispatcher <object>(fakeServiceScopeFactory); // Act await dispatcher.Dispatch(new[] { singleEvent }, default); // Assert fakeServiceScopeFactory.EventAHandlerMock.Verify(x => x.Handle(It.IsAny <EventA>(), default), Times.Never); fakeServiceScopeFactory.EventBHandlerMock.Verify(x => x.Handle(It.IsAny <EventB>(), default), Times.Once); fakeServiceScopeFactory.EventBHandlerMock.Verify(x => x.Handle(singleEvent, default), Times.Once); }
public void Initialize_PassEvents_ShouldHandleEvents() { // Arrange var eventA = new EventA(); var eventB = new EventB(); var events = new object[] { eventA, eventB, eventA }; var aggregateRootMock = new Mock <FakeAggregateRoot>(); // Act ((IAggregateRootInitializer <object>)aggregateRootMock.Object).Initialize(events); // Assert aggregateRootMock.Verify(x => x.OnEventA(eventA), Times.Exactly(2)); aggregateRootMock.Verify(x => x.OnEventB(eventB), Times.Once); }
public async Task Dispatch_MultipleEvents_ShouldInvokeCorrectHandlers() { // Arrange var eventA = new EventA(); var eventB = new EventB(); var fakeServiceScopeFactory = new FakeServiceScopeFactory(); var dispatcher = new EventDispatcher <object>(fakeServiceScopeFactory); // Act await dispatcher.Dispatch(new object[] { eventB, eventA }, default); // Assert fakeServiceScopeFactory.EventAHandlerMock.Verify(x => x.Handle(It.IsAny <EventA>(), default), Times.Once); fakeServiceScopeFactory.EventAHandlerMock.Verify(x => x.Handle(eventA, default), Times.Once); fakeServiceScopeFactory.EventBHandlerMock.Verify(x => x.Handle(It.IsAny <EventB>(), default), Times.Once); fakeServiceScopeFactory.EventBHandlerMock.Verify(x => x.Handle(eventB, default), Times.Once); }
public void Handler_that_handles_base_event_should_receive_calls_with_derived_event_also() { var eventBroker = GetEventBroker(); var eventHandlerForBaseEvent = Substitute.For<IEventHandler<BaseTestEvent>>(); eventBroker.SubscribeHandlerInstance(eventHandlerForBaseEvent); var baseEvent = new BaseTestEvent(Guid.NewGuid()); var eventA = new EventA(Guid.NewGuid()); var eventB = new EventB(Guid.NewGuid()); eventBroker.Publish(baseEvent); eventBroker.Publish(eventA); eventBroker.Publish(eventB); eventHandlerForBaseEvent.ReceivedWithAnyArgs(3).Handle(null); eventHandlerForBaseEvent.Received(1).Handle(baseEvent); eventHandlerForBaseEvent.Received(1).Handle(eventA); eventHandlerForBaseEvent.Received(1).Handle(eventB); }
public void OnEvent(Message e) { WordEvent we = e as WordEvent; if (we == null) { return; } EventA A = new EventA(); A.A = we.Word + "A"; this.Emit(A); EventB B = new EventB(); B.B = we.Word + "B"; this.Emit(B); EventC C = new EventC(); C.C = we.Word + "C"; this.Emit(C); }
public void Apply(EventB aggregateEvent) { }
public void OnEvent(Message e) { EventB b = e as EventB; Console.WriteLine(b.B); }
void signal(char c) { switch (c) { case '0': break; case '1': Debug.Log("got called?"); Event1.Invoke(); break; case '2': Event2.Invoke(); break; case '3': Event3.Invoke(); break; case '4': Event4.Invoke(); break; case '5': Event5.Invoke(); break; case '6': Event6.Invoke(); break; case '7': Event7.Invoke(); break; case '8': Event8.Invoke(); break; case '9': Event9.Invoke(); break; case 'a': EventA.Invoke(); break; case 'b': EventB.Invoke(); break; case 'c': EventC.Invoke(); break; case 'd': EventD.Invoke(); break; case 'e': EventE.Invoke(); break; case 'f': EventF.Invoke(); break; case 'g': EventG.Invoke(); break; case 'h': EventH.Invoke(); break; case 'i': EventI.Invoke(); break; case 'j': EventJ.Invoke(); break; case 'k': EventK.Invoke(); break; } }
private static void BMSpecificProduceConsume(string bootstrapServers, string schemaRegistryServers) { var producerConfig = new ProducerConfig { BootstrapServers = bootstrapServers }; var schemaRegistryConfig = new SchemaRegistryConfig { Url = schemaRegistryServers }; var adminClientConfig = new AdminClientConfig { BootstrapServers = bootstrapServers }; var topic = Guid.NewGuid().ToString(); Console.Error.WriteLine($"topic: {topic}"); using (var adminClient = new AdminClientBuilder(adminClientConfig).Build()) { adminClient.CreateTopicsAsync( new List <TopicSpecification> { new TopicSpecification { Name = topic, NumPartitions = 1, ReplicationFactor = 1 } }).Wait(); } var srClient = new CachedSchemaRegistryClient(schemaRegistryConfig); Schema schema1 = new Schema(EventA._SCHEMA.ToString(), SchemaType.Avro); Schema schema2 = new Schema(EventB._SCHEMA.ToString(), SchemaType.Avro); var id1 = srClient.RegisterSchemaAsync("events-a", schema1).Result; var id2 = srClient.RegisterSchemaAsync("events-b", schema2).Result; var avroUnion = @"[""Confluent.Kafka.Examples.AvroSpecific.EventA"",""Confluent.Kafka.Examples.AvroSpecific.EventB""]"; Schema unionSchema = new Schema(avroUnion, SchemaType.Avro); SchemaReference reference = new SchemaReference( "Confluent.Kafka.Examples.AvroSpecific.EventA", "events-a", srClient.GetLatestSchemaAsync("events-a").Result.Version); unionSchema.References.Add(reference); reference = new SchemaReference( "Confluent.Kafka.Examples.AvroSpecific.EventB", "events-b", srClient.GetLatestSchemaAsync("events-b").Result.Version); unionSchema.References.Add(reference); var id3 = srClient.RegisterSchemaAsync($"{topic}-value", unionSchema).Result; AvroSerializerConfig avroSerializerConfig = new AvroSerializerConfig { AutoRegisterSchemas = false, UseLatestSchemaVersion = true }; using (var schemaRegistry = new CachedSchemaRegistryClient(schemaRegistryConfig)) using (var producer = new ProducerBuilder <string, ISpecificRecord>(producerConfig) .SetKeySerializer(new AvroSerializer <string>(schemaRegistry)) .SetValueSerializer(new BmSpecificSerializerImpl <ISpecificRecord>( schemaRegistry, false, 1024, SubjectNameStrategy.Topic.ToDelegate(), true)) .Build()) { for (int i = 0; i < 3; ++i) { var eventA = new EventA { A = "I'm event A", EventId = Guid.NewGuid().ToString(), EventType = "EventType-A", OccuredOn = DateTime.UtcNow.Ticks, }; producer.ProduceAsync(topic, new Message <string, ISpecificRecord> { Key = "DomainEvent", Value = eventA }).Wait(); } for (int i = 0; i < 3; ++i) { var eventB = new EventB { B = 123456987, EventId = Guid.NewGuid().ToString(), EventType = "EventType-B", OccuredOn = DateTime.UtcNow.Ticks, }; producer.ProduceAsync(topic, new Message <string, ISpecificRecord> { Key = "DomainEvent", Value = eventB }).Wait(); } Assert.Equal(0, producer.Flush(TimeSpan.FromSeconds(10))); } var consumerConfig = new ConsumerConfig { BootstrapServers = bootstrapServers, GroupId = Guid.NewGuid().ToString(), SessionTimeoutMs = 6000, AutoOffsetReset = AutoOffsetReset.Earliest, EnablePartitionEof = true }; using (var schemaRegistry = new CachedSchemaRegistryClient(schemaRegistryConfig)) using (var consumer = new ConsumerBuilder <string, GenericRecord>(consumerConfig) .SetKeyDeserializer(new AvroDeserializer <string>(schemaRegistry).AsSyncOverAsync()) .SetValueDeserializer(new BmGenericDeserializerImpl(schemaRegistry).AsSyncOverAsync()) .SetErrorHandler((_, e) => Assert.True(false, e.Reason)) .Build()) { consumer.Subscribe(topic); int i = 0; while (true) { var record = consumer.Consume(TimeSpan.FromMilliseconds(100)); if (record == null) { continue; } if (record.IsPartitionEOF) { break; } Console.WriteLine(record.Message.Value["EventType"]); i += 1; } Assert.Equal(6, i); consumer.Close(); } }
public void Rollback() { Mock<ILogger> mockedLogger = new Mock<ILogger>(); mockedLogger.Setup(mock => mock.Log(It.IsAny<string>())); sut = new EventManager(); sut.Logger = mockedLogger.Object; eventA = new EventA(); eventB = new EventB(); eventC = new EventC(); coughtEvent = null; }
private void Awake() { ShowGoalEvent = ShowGoal; SetActiveGoalEvent = SetActiveGoal; }
public void On(EventB e) { this.EventBWasProcessed = true; }
public abstract void OnEventB(EventB @event);
public void Visit(EventB @event) { @event.MyCustomMethodOnB(); @event.SomeAdditionalMethodB(); }