Exemplo n.º 1
0
        public void StreamUriHasCorrectEndpoint()
        {
            _config = _config.WithStreamUri(new Uri("http://stream.test.com"));
            TestStreamProcessor sp = CreateAndStartProcessor();

            Assert.Equal(new Uri("http://stream.test.com/all"), sp.ActualStreamUri);
        }
Exemplo n.º 2
0
        public void TaskIsNotCompletedByDefault()
        {
            TestStreamProcessor sp   = CreateProcessor();
            Task <bool>         task = ((IUpdateProcessor)sp).Start();

            Assert.False(task.IsCompleted);
        }
Exemplo n.º 3
0
        public void PutCausesProcessorToBeInitialized()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();

            _mockEventSource.Raise(es => es.MessageReceived += null, EmptyPutEvent());
            Assert.True(((IUpdateProcessor)sp).Initialized());
        }
Exemplo n.º 4
0
        private TestStreamProcessor CreateAndStartProcessor()
        {
            TestStreamProcessor sp = CreateProcessor();

            ((IUpdateProcessor)sp).Start();
            return(sp);
        }
Exemplo n.º 5
0
        public void PutCausesStoreToBeInitialized()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();

            _mockEventSource.Raise(es => es.MessageReceived += null, EmptyPutEvent());
            Assert.True(_featureStore.Initialized());
        }
Exemplo n.º 6
0
        public void PutCausesTaskToBeCompleted()
        {
            TestStreamProcessor sp   = CreateProcessor();
            Task <bool>         task = ((IUpdateProcessor)sp).Start();

            _mockEventSource.Raise(es => es.MessageReceived += null, EmptyPutEvent());
            Assert.True(task.IsCompleted);
        }
Exemplo n.º 7
0
        public void GeneralExceptionDoesNotStopStream()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();
            ExceptionEventArgs  e  = new ExceptionEventArgs(new Exception("whatever"));

            _mockEventSource.Raise(es => es.Error += null, e);

            _mockEventSource.Verify(es => es.Close(), Times.Never());
        }
Exemplo n.º 8
0
        public void Http401ErrorStopsStream()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();
            ExceptionEventArgs  e  = new ExceptionEventArgs(new EventSourceServiceUnsuccessfulResponseException("", 401));

            _mockEventSource.Raise(es => es.Error += null, e);

            _mockEventSource.Verify(es => es.Close());
        }
Exemplo n.º 9
0
        public void Http500ErrorDoesNotStopStream()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();
            ExceptionEventArgs  e  = new ExceptionEventArgs(new EventSourceServiceUnsuccessfulResponseException("", 500));

            _mockEventSource.Raise(es => es.Error += null, e);

            _mockEventSource.Verify(es => es.Close(), Times.Never());
        }
Exemplo n.º 10
0
        public void PutCausesSegmentToBeStored()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();
            string data            = "{\"data\":{\"flags\":{},\"segments\":{\"" +
                                     SEGMENT_KEY + "\":" + JsonConvert.SerializeObject(SEGMENT) + "}}}";
            MessageReceivedEventArgs e = new MessageReceivedEventArgs(new MessageEvent(data, null), "put");

            _mockEventSource.Raise(es => es.MessageReceived += null, e);

            AssertSegmentInStore(SEGMENT);
        }
Exemplo n.º 11
0
        public void IndirectPatchRequestsAndStoresSegment()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();

            _mockRequestor.Setup(r => r.GetSegmentAsync(SEGMENT_KEY)).ReturnsAsync(SEGMENT);

            string path = "/segments/" + SEGMENT_KEY;
            MessageReceivedEventArgs e = new MessageReceivedEventArgs(new MessageEvent(path, null), "indirect/patch");

            _mockEventSource.Raise(es => es.MessageReceived += null, e);

            AssertSegmentInStore(SEGMENT);
        }
Exemplo n.º 12
0
        public void IndirectPatchRequestsAndStoresFeature()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();

            _mockRequestor.Setup(r => r.GetFlagAsync(FEATURE_KEY)).ReturnsAsync(FEATURE);

            string path = "/flags/" + FEATURE_KEY;
            MessageReceivedEventArgs e = new MessageReceivedEventArgs(new MessageEvent(path, null), "indirect/patch");

            _mockEventSource.Raise(es => es.MessageReceived += null, e);

            AssertFeatureInStore(FEATURE);
        }
Exemplo n.º 13
0
        public void PatchUpdatesSegment()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();

            _mockEventSource.Raise(es => es.MessageReceived += null, EmptyPutEvent());

            string path = "/segments/" + SEGMENT_KEY;
            string data = "{\"path\":\"" + path + "\",\"data\":" + JsonConvert.SerializeObject(SEGMENT) + "}";
            MessageReceivedEventArgs e = new MessageReceivedEventArgs(new MessageEvent(data, null), "patch");

            _mockEventSource.Raise(es => es.MessageReceived += null, e);

            AssertSegmentInStore(SEGMENT);
        }
Exemplo n.º 14
0
        public void DeleteDeletesSegment()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();

            _mockEventSource.Raise(es => es.MessageReceived += null, EmptyPutEvent());
            _featureStore.Upsert(VersionedDataKind.Segments, SEGMENT);

            string path = "/segments/" + SEGMENT_KEY;
            string data = "{\"path\":\"" + path + "\",\"version\":" + (SEGMENT_VERSION + 1) + "}";
            MessageReceivedEventArgs e = new MessageReceivedEventArgs(new MessageEvent(data, null), "delete");

            _mockEventSource.Raise(es => es.MessageReceived += null, e);

            Assert.Null(_featureStore.Get(VersionedDataKind.Segments, SEGMENT_KEY));
        }
Exemplo n.º 15
0
        public void StoreNotInitializedByDefault()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();

            Assert.False(_featureStore.Initialized());
        }
Exemplo n.º 16
0
        public void HeadersHaveAccept()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();

            Assert.Equal("text/event-stream", sp.Headers["Accept"]);
        }
Exemplo n.º 17
0
        public void HeadersHaveUserAgent()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();

            Assert.Equal("DotNetClient/" + Client.Configuration.Version, sp.Headers["User-Agent"]);
        }
Exemplo n.º 18
0
        public void HeadersHaveAuthorization()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();

            Assert.Equal(SDK_KEY, sp.Headers["Authorization"]);
        }
Exemplo n.º 19
0
        public void ProcessorNotInitializedByDefault()
        {
            TestStreamProcessor sp = CreateAndStartProcessor();

            Assert.False(((IUpdateProcessor)sp).Initialized());
        }