예제 #1
0
        public void setup()
        {
            _exception = null;
            try
            {
                _point = new HeadingEventReader(10);
            }
            catch (Exception ex)
            {
                _exception = ex;
            }

            _distibutionPointCorrelationId = Guid.NewGuid();
            _point.Start(
                _distibutionPointCorrelationId,
                new TransactionFileEventReader(
                    _bus, _distibutionPointCorrelationId, null, new TFPos(0, -1), new RealTimeProvider()));
            _point.Handle(
                ReaderSubscriptionMessage.CommittedEventDistributed.Sample(
                    _distibutionPointCorrelationId, new TFPos(20, 10), "stream", 10, false, Guid.NewGuid(),
                    "type", false, new byte[0], new byte[0]));
            _point.Handle(
                ReaderSubscriptionMessage.CommittedEventDistributed.Sample(
                    _distibutionPointCorrelationId, new TFPos(40, 30), "stream", 11, false, Guid.NewGuid(),
                    "type", false, new byte[0], new byte[0]));
            _subscription             = new FakeReaderSubscription();
            _projectionSubscriptionId = Guid.NewGuid();
            var subscribed = _point.TrySubscribe(_projectionSubscriptionId, _subscription, 30);

            Assert.IsTrue(subscribed); // ensure we really unsubscribing.. even if it is tested elsewhere
            _point.Unsubscribe(_projectionSubscriptionId);
        }
        public void setup()
        {
            //_exception = null;
            try
            {
                _point = new HeadingEventReader(10, _bus);
            }
            catch (Exception)
            {
                //_exception = ex;
            }

            _distibutionPointCorrelationId = Guid.NewGuid();
            _point.Start(
                _distibutionPointCorrelationId,
                new TransactionFileEventReader(_bus, _distibutionPointCorrelationId, null, new TFPos(0, -1), new RealTimeProvider()));
            DateTime timestamp = DateTime.UtcNow;

            _point.Handle(
                ReaderSubscriptionMessage.CommittedEventDistributed.Sample(
                    _distibutionPointCorrelationId, new TFPos(20, 10), "stream", 10, false, Guid.NewGuid(),
                    "type", false, new byte[0], new byte[0], timestamp));
            _point.Handle(
                ReaderSubscriptionMessage.CommittedEventDistributed.Sample(
                    _distibutionPointCorrelationId, new TFPos(40, 30), "stream", 11, false, Guid.NewGuid(),
                    "type", false, new byte[0], new byte[0], timestamp.AddMilliseconds(1)));
            _subscription             = new FakeReaderSubscription();
            _projectionSubscriptionId = Guid.NewGuid();
            _point.TrySubscribe(_projectionSubscriptionId, _subscription, 30);
            _point.Handle(
                new ReaderSubscriptionMessage.EventReaderIdle(
                    _distibutionPointCorrelationId, timestamp.AddMilliseconds(1100)));
        }
예제 #3
0
        public void setup()
        {
            _exception = null;
            try
            {
                _point = new HeadingEventReader(10);
            }
            catch (Exception ex)
            {
                _exception = ex;
            }
            Assume.That(_exception == null);

            _distibutionPointCorrelationId = Guid.NewGuid();
            _point.Start(
                _distibutionPointCorrelationId,
                new TransactionFileEventReader(_bus, _distibutionPointCorrelationId, null, new TFPos(0, -1), new RealTimeProvider()));
            _point.Handle(
                ReaderSubscriptionMessage.CommittedEventDistributed.Sample(
                    _distibutionPointCorrelationId, new TFPos(20, 10), "stream", 10, false, Guid.NewGuid(),
                    "type", false, new byte[0], new byte[0]));
            _point.Handle(
                ReaderSubscriptionMessage.CommittedEventDistributed.Sample(
                    _distibutionPointCorrelationId, new TFPos(40, 30), "stream", 11, false, Guid.NewGuid(),
                    "type", false, new byte[0], new byte[0]));
            _subscription             = new FakeReaderSubscription();
            _projectionSubscriptionId = Guid.NewGuid();
            _point.TrySubscribe(_projectionSubscriptionId, _subscription, 30);
            _point.Handle(
                ReaderSubscriptionMessage.CommittedEventDistributed.Sample(
                    _distibutionPointCorrelationId, new TFPos(60, 50), "stream", 12, false, Guid.NewGuid(),
                    "type", false, new byte[0], new byte[0]));
        }
예제 #4
0
        public void setup()
        {
            _point = new HeadingEventReader(10, _bus);

            _distibutionPointCorrelationId = Guid.NewGuid();
            _point.Start(
                _distibutionPointCorrelationId,
                new TransactionFileEventReader(_bus, _distibutionPointCorrelationId, null, new TFPos(0, -1), new RealTimeProvider()));
            _point.Handle(
                ReaderSubscriptionMessage.CommittedEventDistributed.Sample(
                    _distibutionPointCorrelationId, new TFPos(20, 10), "throws", 10, false, Guid.NewGuid(),
                    "type", false, new byte[0], new byte[0]));
            _point.Handle(
                ReaderSubscriptionMessage.CommittedEventDistributed.Sample(
                    _distibutionPointCorrelationId, new TFPos(40, 30), "throws", 11, false, Guid.NewGuid(),
                    "type", false, new byte[0], new byte[0]));
            _projectionSubscriptionId = Guid.NewGuid();
            _point.TrySubscribe(_projectionSubscriptionId, new FakeReaderSubscription(), 30);
        }
        public void cannot_suibscribe_even_from_reader_zero_position()
        {
            var subscribed = _point.TrySubscribe(Guid.NewGuid(), new FakeReaderSubscription(), -1);

            Assert.AreEqual(false, subscribed);
        }
예제 #6
0
        public void a_projection_can_be_subscribed_after_event_position()
        {
            var subscribed = _point.TrySubscribe(Guid.NewGuid(), new FakeReaderSubscription(), 30);

            Assert.AreEqual(true, subscribed);
        }
예제 #7
0
 public void no_other_projection_can_subscribe_with_the_same_projection_id()
 {
     _point.TrySubscribe(_projectionSubscriptionId, _subscription, 30);
 }
 public void try_subscribe_throws_invalid_operation_exception()
 {
     Assert.Throws <InvalidOperationException>(() => {
         _point.TrySubscribe(Guid.NewGuid(), new FakeReaderSubscription(), 10);
     });
 }
 public void no_other_projection_can_subscribe_with_the_same_projection_id()
 {
     Assert.Throws <InvalidOperationException>(() => { _point.TrySubscribe(_projectionSubscriptionId, _subscription, 30); });
 }
 public void try_subscribe_throws_invalid_operation_exception()
 {
     _point.TrySubscribe(Guid.NewGuid(), new FakeReaderSubscription(), 10);
 }
예제 #11
0
        public void projection_can_resubscribe_with()
        {
            var subscribed = _point.TrySubscribe(_projectionSubscriptionId, _subscription, 30);

            Assert.AreEqual(true, subscribed);
        }