Пример #1
0
        public void ParametersArePreservedAsProperties()
        {
            var message = typeof(object);
            Func <IAsyncDocumentSession, object, CancellationToken, Task> handler = (session, msg, token) => Task.FromResult(false);

            var sut = new RavenProjectionHandler(message, handler);

            Assert.That(sut.Message, Is.EqualTo(message));
            Assert.That(sut.Handler, Is.EqualTo(handler));
        }
Пример #2
0
        public void ParametersArePreservedAsProperties()
        {
            var message = typeof(object);
            Func<IAsyncDocumentSession, object, CancellationToken, Task> handler = (session, msg, token) => Task.FromResult(false);

            var sut = new RavenProjectionHandler(message, handler);

            Assert.That(sut.Message, Is.EqualTo(message));
            Assert.That(sut.Handler, Is.EqualTo(handler));
        }
Пример #3
0
        public void ConcatHandlerReturnsExpectedResult()
        {
            var handler1 = new RavenProjectionHandler(typeof(object), (connection, message, token) => Task.FromResult(false));
            var handler2 = new RavenProjectionHandler(typeof(object), (connection, message, token) => Task.FromResult(false));
            var handler3 = new RavenProjectionHandler(typeof(object), (connection, message, token) => Task.FromResult(false));
            var sut      = new RavenProjection(new[]
            {
                handler1,
                handler2
            });

            var result = sut.Concat(handler3);

            Assert.That(result.Handlers, Is.EquivalentTo(new[] { handler1, handler2, handler3 }));
        }
Пример #4
0
        public void ExplicitConversionToRavenProjectionHandlerArray()
        {
            var handler1 = new RavenProjectionHandler(typeof(object), (connection, message, token) => Task.FromResult(false));
            var handler2 = new RavenProjectionHandler(typeof(object), (connection, message, token) => Task.FromResult(false));

            var handlers = new[]
            {
                handler1,
                handler2
            };

            var sut = new RavenProjection(handlers);

            var result = (RavenProjectionHandler[])sut;

            Assert.That(result, Is.EquivalentTo(handlers));
        }
Пример #5
0
        public void HandlersArePreservedAsProperty()
        {
            var handler1 = new RavenProjectionHandler(typeof(object), (connection, message, token) => Task.FromResult(false));
            var handler2 = new RavenProjectionHandler(typeof(object), (connection, message, token) => Task.FromResult(false));

            var handlers = new[]
            {
                handler1,
                handler2
            };

            var sut = new RavenProjection(handlers);

            var result = sut.Handlers;

            Assert.That(result, Is.EquivalentTo(handlers));
        }
Пример #6
0
        public void ToBuilderReturnsExpectedResult()
        {
            var handler1 = new RavenProjectionHandler(typeof(object), (connection, message, token) => Task.FromResult(false));
            var handler2 = new RavenProjectionHandler(typeof(object), (connection, message, token) => Task.FromResult(false));
            var sut      = new RavenProjection(new[]
            {
                handler1,
                handler2
            });

            var result = sut.ToBuilder().Build().Handlers;

            Assert.That(result, Is.EquivalentTo(new[]
            {
                handler1,
                handler2
            }));
        }
Пример #7
0
        public void DecoratedProjectionHandlersAreCopiedOnConstruction()
        {
            var handler1   = new RavenProjectionHandler(typeof(object), (connection, message, token) => Task.FromResult(false));
            var handler2   = new RavenProjectionHandler(typeof(object), (connection, message, token) => Task.FromResult(false));
            var projection = new RavenProjection(new[]
            {
                handler1,
                handler2
            });
            var sut = new RavenProjectionBuilder(projection);

            var result = sut.Build();

            Assert.That(result.Handlers, Is.EquivalentTo(new[]
            {
                handler1, handler2
            }));
        }
Пример #8
0
            public void SetUp()
            {
                _store = new EmbeddableDocumentStore
                {
                    RunInMemory   = true,
                    DataDirectory = Path.GetTempPath()
                };
                _store.Initialize();
                _session = _store.OpenAsyncSession();
                _calls   = new List <RavenProjectionHandlerCall>();
                var handler = new RavenProjectionHandler(
                    typeof(MatchMessage1),
                    (session, msg, token) =>
                {
                    _calls.Add(new RavenProjectionHandlerCall(session, msg, token));
                    return(Task.FromResult(false));
                });

                _sut = SutFactory(new[] { handler });
            }
Пример #9
0
 private static AsyncRavenProjector SutFactory(RavenProjectionHandler[] handlers)
 {
     return new AsyncRavenProjector(handlers);
 }
Пример #10
0
 public void SetUp()
 {
     _store = new EmbeddableDocumentStore
     {
         RunInMemory = true,
         DataDirectory = Path.GetTempPath()
     };
     _store.Initialize();
     _session = _store.OpenAsyncSession();
     _calls = new List<RavenProjectionHandlerCall>();
     var handler1 = new RavenProjectionHandler(
         typeof(MatchMessage1),
         (connection, msg, token) =>
         {
             _calls.Add(new RavenProjectionHandlerCall(connection, msg, token));
             return Task.FromResult(false);
         });
     var handler2 = new RavenProjectionHandler(
         typeof(MatchMessage2),
         (connection, msg, token) =>
         {
             _calls.Add(new RavenProjectionHandlerCall(connection, msg, token));
             return Task.FromResult(false);
         });
     var handler3 = new RavenProjectionHandler(
         typeof(MatchMessage1),
         (connection, msg, token) =>
         {
             _calls.Add(new RavenProjectionHandlerCall(connection, msg, token));
             return Task.FromResult(false);
         });
     var handler4 = new RavenProjectionHandler(
         typeof(MatchMessage2),
         (connection, msg, token) =>
         {
             _calls.Add(new RavenProjectionHandlerCall(connection, msg, token));
             return Task.FromResult(false);
         });
     _sut = SutFactory(new[] { handler1, handler2, handler3, handler4 });
 }