public void ConstructorConcurrentOne()
 {
     var queue = Substitute.For<IBusQueueReciever>();
     var handler = Substitute.For<IBusEventHandler<object>>();
     var be = new BusEvents<object>(queue, handler, 1);
     Assert.AreEqual(BusEvents<object>.DefaultConcurrentCalls, be.ConcurrentCalls);
 }
        public void ConstructorConcurrentOne()
        {
            var queue   = Substitute.For <IBusMessageReciever>();
            var handler = Substitute.For <IBusEventHandler <object> >();
            var be      = new BusEvents <object>(queue, handler, 1);

            Assert.AreEqual(BusEvents <object> .DefaultConcurrentCalls, be.ConcurrentCalls);
        }
        public void MessageArrivedNotSuccessful()
        {
            var data    = Guid.NewGuid().ToString();
            var queue   = Substitute.For <IBusMessageReciever>();
            var handler = Substitute.For <IBusEventHandler <string> >();

            handler.Process(data).Returns(Task.FromResult(false));

            var events = new BusEvents <string>(queue, handler);

            Assert.That(() => events.Process(data), Throws.TypeOf <InvalidOperationException>());
        }
        public void Run()
        {
            var args = new ExceptionReceivedEventArgs(new Exception(), Guid.NewGuid().ToString());
            var queue = Substitute.For<IBusQueueReciever>();
            queue.RegisterForEvents(Arg.Any<Func<BrokeredMessage, Task>>(), Arg.Any<OnMessageOptions>());
            var handler = Substitute.For<IBusEventHandler<object>>();

            var events = new BusEvents<object>(queue, handler);
            events.Run();

            queue.Received().RegisterForEvents(Arg.Any<Func<BrokeredMessage, Task>>(), Arg.Any<OnMessageOptions>());
        }
        public void OnExceptionReceived()
        {
            var args    = new ExceptionReceivedEventArgs(new Exception(), Guid.NewGuid().ToString());
            var queue   = Substitute.For <IBusMessageReciever>();
            var handler = Substitute.For <IBusEventHandler <object> >();

            handler.OnError(args.Action, args.Exception);

            var events = new BusEvents <object>(queue, handler);

            events.OnExceptionReceived(new object(), args);

            handler.Received().OnError(args.Action, args.Exception);
        }
        public void Run()
        {
            var args  = new ExceptionReceivedEventArgs(new Exception(), Guid.NewGuid().ToString());
            var queue = Substitute.For <IBusMessageReciever>();

            queue.RegisterForEvents(Arg.Any <Func <BrokeredMessage, Task> >(), Arg.Any <OnMessageOptions>());
            var handler = Substitute.For <IBusEventHandler <object> >();

            var events = new BusEvents <object>(queue, handler);

            events.Run();

            queue.Received().RegisterForEvents(Arg.Any <Func <BrokeredMessage, Task> >(), Arg.Any <OnMessageOptions>());
        }
        public void OnExceptionReceivedExceptionNull()
        {
            var args    = new ExceptionReceivedEventArgs(null, Guid.NewGuid().ToString());
            var queue   = Substitute.For <IBusMessageReciever>();
            var handler = Substitute.For <IBusEventHandler <object> >();

            handler.OnError(Arg.Any <string>(), Arg.Any <Exception>());

            var events = new BusEvents <object>(queue, handler);

            events.OnExceptionReceived(new object(), args);

            handler.Received(0).OnError(Arg.Any <string>(), Arg.Any <Exception>());
        }
        public void Run()
        {
            var args  = new ExceptionReceivedEventArgs(new Exception(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
            var queue = Substitute.For <IBusReciever>();

            queue.OnMessage(Arg.Any <Func <Message, CancellationToken, Task> >(), Arg.Any <MessageHandlerOptions>());
            var handler = Substitute.For <IBusEventHandler <object> >();

            var events = new BusEvents <object>(queue, handler);

            events.Run();

            queue.Received().OnMessage(Arg.Any <Func <Message, CancellationToken, Task> >(), Arg.Any <MessageHandlerOptions>());
        }
        public async Task OnMessageArrived()
        {
            var data = Guid.NewGuid().ToString();
            var msg = new BrokeredMessage(data)
            {
                ContentType = data.GetType().ToString(),
            };
            var queue = Substitute.For<IBusQueueReciever>();
            var handler = Substitute.For<IBusEventHandler<string>>();
            handler.Process(data).Returns(Task.FromResult(true));

            var events = new BusEvents<string>(queue, handler);
            await events.OnMessageArrived(msg);

            handler.Received().Process(data);
        }
        public async Task OnMessageArrived()
        {
            var data = Guid.NewGuid().ToString();
            var msg  = new BrokeredMessage(data)
            {
                ContentType = data.GetType().ToString(),
            };
            var queue   = Substitute.For <IBusMessageReciever>();
            var handler = Substitute.For <IBusEventHandler <string> >();

            handler.Process(data).Returns(Task.FromResult(true));

            var events = new BusEvents <string>(queue, handler);
            await events.OnMessageArrived(msg);

            await handler.Received().Process(data);
        }
        public async Task OnMessageArrived()
        {
            var formatter = new BinaryFormatter();

            using (var stream = new MemoryStream())
            {
                var data = Guid.NewGuid();
                formatter.Serialize(stream, data);
                var msg     = new Message(stream.ToArray());
                var queue   = Substitute.For <IBusReciever>();
                var handler = Substitute.For <IBusEventHandler <Guid> >();
                handler.Process(data).Returns(Task.FromResult(true));
                var ct = new CancellationToken();

                var events = new BusEvents <Guid>(queue, handler);
                await events.OnMessageArrived(msg, ct);

                await handler.Received().Process(data);
            }
        }
        public void OnExceptionReceived()
        {
            var args = new ExceptionReceivedEventArgs(new Exception(), Guid.NewGuid().ToString());
            var queue = Substitute.For<IBusQueueReciever>();
            var handler = Substitute.For<IBusEventHandler<object>>();
            handler.OnError(args.Action, args.Exception);

            var events = new BusEvents<object>(queue, handler);
            events.OnExceptionReceived(new object(), args);

            handler.Received().OnError(args.Action, args.Exception);
        }
        public void OnExceptionReceivedExceptionNull()
        {
            var args = new ExceptionReceivedEventArgs(null, Guid.NewGuid().ToString());
            var queue = Substitute.For<IBusQueueReciever>();
            var handler = Substitute.For<IBusEventHandler<object>>();
            handler.OnError(Arg.Any<string>(), Arg.Any<Exception>());

            var events = new BusEvents<object>(queue, handler);
            events.OnExceptionReceived(new object(), args);

            handler.Received(0).OnError(Arg.Any<string>(), Arg.Any<Exception>());
        }