예제 #1
0
        public void TestSaveEvents()
        {
            var eventStore    = new SqlEventStore(connStr, table);
            var correlationId = Guid.NewGuid();
            var sourceId      = Guid.NewGuid();
            var evt1          = new EventData()
            {
                SourceId      = sourceId,
                Payload       = "payload 1",
                AssemblyName  = "ass 1",
                FullName      = "full 1",
                CorrelationId = correlationId,
                Namespace     = "ns",
                SourceType    = "st",
                TypeName      = "tn",
                Version       = 1,
                ProcessedOn   = null
            };
            var evt2 = new EventData()
            {
                SourceId      = sourceId,
                Payload       = "payload 2",
                AssemblyName  = "ass 2",
                FullName      = "full 2",
                CorrelationId = correlationId,
                Namespace     = "ns",
                SourceType    = "st",
                TypeName      = "tn",
                Version       = 2,
                ProcessedOn   = null
            };
            var evt3 = new EventData()
            {
                SourceId      = sourceId,
                Payload       = "payload 3",
                AssemblyName  = "ass 3",
                FullName      = "full 3",
                CorrelationId = correlationId,
                Namespace     = "ns",
                SourceType    = "st",
                TypeName      = "tn",
                Version       = 3,
                ProcessedOn   = DateTime.Today
            };
//            var task = eventStore.SaveEvent(evt1);
            var task = eventStore.SaveEvents(new List <EventData> {
                evt1, evt2, evt3
            });

            task.Wait();

            var readTask = eventStore.LoadEvents(sourceId);

            readTask.Wait();
            Assert.AreEqual(readTask.Result.Count(), 3);

            eventStore.DeleteEvents(sourceId).Wait();
        }