public void Init() { _guidGenerator = new SequentialAtEndGuidGenerator(); MetaFactories.Add(new MetaFactory(new Meta("ApplicationName", "Tests"))); MetaFactories.Add(new MetaFactory(new Meta("Username", "Tester"))); var typeFactory = new DefaultTypeFactory(new MD5HashProvider(Encoding.UTF8)); var hash = typeFactory.GetHash(typeof(Created)); EventStore = new SqlEventStore( new JsonSerializer(), typeFactory, Encoding.UTF8, ConfigurationManager.ConnectionStrings["SqlEventStore"].ConnectionString); var streamProcessor = new EventStreamProcessor <AccountAggregateRoot, AccountState>(new AggregateRootBuilder <AccountAggregateRoot, AccountState>(), new AggregateRootStateBuilder <AccountState>()); Repository = new EventStoreRepository <AccountAggregateRoot, AccountState>(EventStore, streamProcessor, _guidGenerator); }
public void TestProcessEvent() { var datetime = DateTimeOffset.Now; var expected = new EventData { Name = "event1", DeviceId = "id1", PublishedAt = datetime, Data = "somedata", Ttl = 60 }; using (var ms = new MemoryStream()) { using (var writer = new StreamWriter(ms)) { writer.WriteLine("event: {0}", expected.Name); writer.Flush(); var actualLength = ms.Length; ms.Position = 0; var sut = new EventStreamProcessor(ms, new CancellationTokenSource()); var actual = sut.GetEvent(); Assert.IsNull(actual); writer.WriteLine("data: {0}", JsonConvert.SerializeObject(expected)); writer.Flush(); ms.Position = actualLength; actual = sut.GetEvent(); Assert.IsNotNull(actual); Assert.AreEqual(expected, actual); } } }