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); }
public void TaskIsNotCompletedByDefault() { TestStreamProcessor sp = CreateProcessor(); Task <bool> task = ((IUpdateProcessor)sp).Start(); Assert.False(task.IsCompleted); }
public void PutCausesProcessorToBeInitialized() { TestStreamProcessor sp = CreateAndStartProcessor(); _mockEventSource.Raise(es => es.MessageReceived += null, EmptyPutEvent()); Assert.True(((IUpdateProcessor)sp).Initialized()); }
private TestStreamProcessor CreateAndStartProcessor() { TestStreamProcessor sp = CreateProcessor(); ((IUpdateProcessor)sp).Start(); return(sp); }
public void PutCausesStoreToBeInitialized() { TestStreamProcessor sp = CreateAndStartProcessor(); _mockEventSource.Raise(es => es.MessageReceived += null, EmptyPutEvent()); Assert.True(_featureStore.Initialized()); }
public void PutCausesTaskToBeCompleted() { TestStreamProcessor sp = CreateProcessor(); Task <bool> task = ((IUpdateProcessor)sp).Start(); _mockEventSource.Raise(es => es.MessageReceived += null, EmptyPutEvent()); Assert.True(task.IsCompleted); }
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()); }
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()); }
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()); }
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); }
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); }
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); }
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); }
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)); }
public void StoreNotInitializedByDefault() { TestStreamProcessor sp = CreateAndStartProcessor(); Assert.False(_featureStore.Initialized()); }
public void HeadersHaveAccept() { TestStreamProcessor sp = CreateAndStartProcessor(); Assert.Equal("text/event-stream", sp.Headers["Accept"]); }
public void HeadersHaveUserAgent() { TestStreamProcessor sp = CreateAndStartProcessor(); Assert.Equal("DotNetClient/" + Client.Configuration.Version, sp.Headers["User-Agent"]); }
public void HeadersHaveAuthorization() { TestStreamProcessor sp = CreateAndStartProcessor(); Assert.Equal(SDK_KEY, sp.Headers["Authorization"]); }
public void ProcessorNotInitializedByDefault() { TestStreamProcessor sp = CreateAndStartProcessor(); Assert.False(((IUpdateProcessor)sp).Initialized()); }