public void DeserializeEventStreamShouldReturnAnEvent() { //Arrange var evt = new EventStub(12); var json = @"{ 'Id': '12', 'MediaFileId': '26443db2-1ca1-4f19-bd34-98654a61741c', 'AggregateId': '735f8407-16be-44b5-be96-2bab582b5298', 'EventId': 'b6c73140-684b-447c-b8fd-9c78c975dc38', 'AggregateVersion': 1, 'OcurrendOn': '2019-09-08T10:55:48.5529384Z' }"; Mock <IJsonProvider> moqJsonProvider = new Mock <IJsonProvider>(); moqJsonProvider.Setup(m => m.DeserializeObject <EventStub>(It.IsAny <string>(), It.IsAny <string>())).Returns(evt); //Act IEventSerializer sut = new JsonEventSerializer(moqJsonProvider.Object); var result = sut.Deserialize <EventStub>(It.IsAny <string>(), json); //Assert Assert.Equal(evt, result); }
public InMemoryEventStoreTests() { var serializer = new JsonEventSerializer(JsonSerializer.CreateDefault()); var settings = new InMemoryEventStoreSettings(serializer); _store = new InMemoryEventStore(settings); }
public void ItThrowsWhenNull() { JsonEventSerializer sut = GetSut(); SimpleEvent foo = null; Assert.Throws <ArgumentNullException>(() => sut.SerializeEvent(foo)); }
public void WhenDataIsNotNullThenShouldSerializeWithExpectedValue() { var serializer = new JsonEventSerializer(); var result = serializer.Serialize(new FakeEvent()); result.Should().BeEquivalentTo(_json); }
private static IEventSerializer CreateJsonSerializer(IEventNameMap eventNameMap) { var serializer = new JsonEventSerializer(); serializer.RegisterEventTypeMappings(eventNameMap); return(serializer); }
public AccountTest() { _mockStore = new InMemoryEventStore(); _mockStoreConnection = _mockStore.Connect("Accounts"); var eventSerializer = new JsonEventSerializer(); _repo = new StreamStoreRepository(new PrefixedCamelCaseStreamNameBuilder(), _mockStoreConnection, eventSerializer); _service = new AccountHandler(_repo); }
public async Task <EventStoreWriter> GetSut() { IEventStoreConnection con = await LocalConfig.GetConnection(); var serializer = new JsonEventSerializer(new EventTypeResolver()); var transformer = new EventTransformator(serializer); var sut = new EventStoreWriter(con, transformer); return(sut); }
public Program() { _bus = new SimpleBus(); // _configuration = SqlLiteDatabase(); _configuration = SqlServerDatabase(); _eventSerializer = new JsonEventSerializer(); var query = new CustomerQuery(_configuration, _eventSerializer); _customerService = new CustomerService(_bus, query, SqliteSubscriber(_configuration)); _bus.Register(new CustomerReadModelEventSubscriber(_configuration)); }
public void passthru_jobject() { var serializer = new JsonEventSerializer <JObject>(); var obj = new JObject { { "String", new JValue("Hello") }, { "Type", new JValue("StringEvent") } }; var json = serializer.Serialize(obj); var obj2 = serializer.Deserialize(json); Assert.AreEqual("Hello", obj2.Property("String").ToObject <string>()); Assert.AreEqual("StringEvent", obj2.Property("Type").ToObject <string>()); }
public void json_of_jobject() { var serializer = new JsonEventSerializer <JObject>(); var obj = new JObject { { "String", new JValue("Hello") }, { "Type", new JValue("StringEvent") } }; var json = serializer.Serialize(obj); Assert.IsTrue(json.Length % 8 == 0); Assert.AreEqual( "{\"String\":\"Hello\",\"Type\":\"StringEvent\"} ", Encoding.ASCII.GetString(json)); }
public void ShouldBeAbleToSerializerAndDeserialize() { var obj = ValidSimpleObject(); var serializer = new JsonEventSerializer(); var serial = serializer.Serialize(obj); var actual = (TestSimpleObject)serializer.Deserialize(obj.Type, serial); Assert.Equal(obj.StringType, actual.StringType); Assert.Equal(obj.TrueBoolean, actual.TrueBoolean); Assert.Equal(obj.FalseBoolean, actual.FalseBoolean); Assert.Equal(obj.Double, actual.Double); Assert.Equal(obj.Integer, actual.Integer); }
public static EventStoreContext CreateDefault(string prefix, IEventStoreConnection connection, IDomainObjectActivator activator = null) { var namer = new StreamTypeNamer(prefix); var eventSerializer = new JsonEventSerializer(new EventTypeResolver()); var transformer = new EventTransformator(eventSerializer); if (activator == null) { activator = new ActivatorDomainObjectActivator(); } return(new EventStoreContext(connection, namer, new EventStoreReader(connection, transformer), new EventStoreWriter(connection, transformer), activator)); }
public void ShouldSerializeLists() { var obj = new TestEventWithList(Guid.NewGuid().ToString()) { ListOfObjects = new [] { ValidSimpleObject(), ValidSimpleObject() } }; var serializer = new JsonEventSerializer(); var serial = serializer.Serialize(obj); var actual = (TestEventWithList)serializer.Deserialize(obj.Type, serial); Assert.Equal(obj.ListOfObjects.Count(), actual.ListOfObjects.Count()); }
public async Task CreateWithNoStream() { var serializer = new JsonEventSerializer(JsonSerializer.CreateDefault()); var settings = new VerifiableEventStoreSettings(serializer); var eventStore = new VerifiableEventStore(settings); var aggregate = Goat.Create("g047"); await aggregate.CommitAsync(eventStore); eventStore.VerifyAppendToStream(aggregate, ExpectedVersion.NoStream, verify => verify .Event(GoatCreated.EventType, e => { Assert.Equal("g047", e.Name); }) ); }
public void ItSerializes() { JsonEventSerializer sut = GetSut(); var @event = new SimpleEvent { Value = "Foo" }; @event.Headers.Set("abc", "foo"); string result = sut.SerializeEvent(@event); string header = sut.SerializeHeader(@event.Headers); IEvent second = sut.DeserializeEvent(header, result); string temp = second.Headers.GetString("abc"); Assert.Equal("foo", temp); Assert.Equal("Foo", @event.Value); }
public async Task SetupAggregate_VerifyAppendToStream() { var serializer = new JsonEventSerializer(JsonSerializer.CreateDefault()); var settings = new VerifiableEventStoreSettings(serializer); var eventStore = new VerifiableEventStore(settings); var aggregate = Goat.Create("g047"); aggregate.Rename("goatl"); await aggregate.CommitAsync(eventStore); eventStore.VerifyAppendToStream(aggregate, ExpectedVersion.NoStream, verify => verify .Event(GoatCreated.EventType, e => { Assert.Equal("g047", e.Name); }) .Event(GoatRenamed.EventType, e => { Assert.Equal("goatl", e.Name); }) ); var streamVersion = eventStore.CurrentVersion(aggregate); var retrieved = await Goat.FromAsync(eventStore, aggregate.Id); retrieved.Rename("meh"); await retrieved.CommitAsync(eventStore); eventStore.VerifyAppendToStream(aggregate, streamVersion, verify => verify .Event(GoatRenamed.EventType, e => { Assert.Equal("meh", e.Name); }) ); }
public static async Task Main(string[] args) { var services = new ServiceCollection() .AddLogging(lb => lb .SetMinimumLevel(LogLevel.Trace) .AddConsole() ); await using var serviceProvider = services.BuildServiceProvider(); var jsonSerializerSettings = new JsonSerializerSettings { ContractResolver = new DefaultContractResolver { NamingStrategy = new SnakeCaseNamingStrategy() }, Converters = { new StringEnumConverter() } }; var jsonSerializer = JsonSerializer.CreateDefault(jsonSerializerSettings); var serializer = new JsonEventSerializer(jsonSerializer); // var serializer = new Aggregail.System.Text.Json.JsonEventSerializer(new JsonSerializerOptions()); // using var connection = EventStoreConnection.Create("ConnectTo=tcp://admin:changeit@localhost:1113"); // await connection.ConnectAsync(); // var eventStore = new EventStore(connection, serializer); var mongoClient = new MongoClient("mongodb://*****:*****@mongodb-primary:27017,mongodb-secondary:27018,mongodb-arbiter:27019/aggregail_demo?authSource=admin&replicaSet=rs0"); // var mongoClient = new MongoClient("mongodb://*****:*****@mongodb:27017/aggregail_demo?authSource=admin&replicaSet=rs0"); var mongoDatabase = mongoClient.GetDatabase("aggregail_demo"); var mongoSettings = new MongoEventStoreSettings(mongoDatabase, "streams", serializer); mongoSettings.Logger = serviceProvider.GetRequiredService <ILogger <MongoEventStore> >(); mongoSettings.MetadataFactory = new UserMetadataFactory("nije"); var mongoStore = new MongoEventStore(mongoSettings); await mongoStore.InitializeAsync(); var sw = new Stopwatch(); sw.Start(); Console.WriteLine("Running Test Case..."); var inMemoryStore = new InMemoryEventStore(new InMemoryEventStoreSettings(serializer)); var robotStore = new Robot.Store(mongoStore); await RobotProgram.RunAsync(robotStore); // var tasks = Enumerable.Range(0, 500) // .Select(_ => TestCase(mongoStore)) // .ToArray(); // // await Task.WhenAll(tasks); sw.Stop(); Console.WriteLine($"Test Case Complete in {sw.Elapsed}"); }
static EventsRepositoryTests() { _eventSerializer = new JsonEventSerializer(new[] { typeof(DummyAggregate).Assembly }); }
public JsonEventSerializerTests() { @event = new FakeEvent(Guid.NewGuid(), "A knight says Ni."); serializer = new JsonEventSerializer(); }
static EventProducerTests() { _eventSerializer = new JsonEventSerializer(new[] { typeof(DummyAggregate).Assembly }); }
public void SetUp() { _serializer = new JsonEventSerializer <ISerializableEvent>(); }