public void TestEmpty() { HystrixRequestEvents request = new HystrixRequestEvents(new List <IHystrixInvokableInfo>()); string actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[]", actual); }
private HystrixRequestEventStreamController(IObservable <HystrixRequestEvents> observable) : base(observable.Map((requestEvents) => { return(SerialHystrixRequestEvents.ToJsonString(requestEvents)); })) { }
public void TestSingleTimeoutFallbackSuccess() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo>(); executions.Add(new SimpleExecution(fooKey, 105, HystrixEventType.TIMEOUT, HystrixEventType.FALLBACK_SUCCESS)); HystrixRequestEvents request = new HystrixRequestEvents(executions); String actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"TIMEOUT\",\"FALLBACK_SUCCESS\"],\"latencies\":[105]}]", actual); }
public void TestSingleFailureFallbackFailure() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo>(); executions.Add(new SimpleExecution(fooKey, 104, HystrixEventType.FAILURE, HystrixEventType.FALLBACK_FAILURE)); HystrixRequestEvents request = new HystrixRequestEvents(executions); String actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"FAILURE\",\"FALLBACK_FAILURE\"],\"latencies\":[104]}]", actual); }
public void TestCollapsedBatchOfSix() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo>(); executions.Add(new SimpleExecution(fooKey, 53, collapserKey, 6, HystrixEventType.SUCCESS)); HystrixRequestEvents request = new HystrixRequestEvents(executions); String actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[53],\"collapsed\":{\"name\":\"FooCollapser\",\"count\":6}}]", actual); }
public void TestSingleSuccessMultipleEmitsAndFallbackEmits() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo>(); executions.Add(new SimpleExecution(fooKey, 100, HystrixEventType.EMIT, HystrixEventType.EMIT, HystrixEventType.EMIT, HystrixEventType.FAILURE, HystrixEventType.FALLBACK_EMIT, HystrixEventType.FALLBACK_EMIT, HystrixEventType.FALLBACK_SUCCESS)); HystrixRequestEvents request = new HystrixRequestEvents(executions); String actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[{\"name\":\"EMIT\",\"count\":3},\"FAILURE\",{\"name\":\"FALLBACK_EMIT\",\"count\":2},\"FALLBACK_SUCCESS\"],\"latencies\":[100]}]", actual); }
public void TestSingleShortCircuitedFallbackSuccess() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo>(); executions.Add(new SimpleExecution(fooKey, 1, HystrixEventType.SHORT_CIRCUITED, HystrixEventType.FALLBACK_SUCCESS)); HystrixRequestEvents request = new HystrixRequestEvents(executions); String actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"SHORT_CIRCUITED\",\"FALLBACK_SUCCESS\"],\"latencies\":[1]}]", actual); }
public void TestSingleBadRequest() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo>(); executions.Add(new SimpleExecution(fooKey, 50, HystrixEventType.BAD_REQUEST)); HystrixRequestEvents request = new HystrixRequestEvents(executions); String actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"BAD_REQUEST\"],\"latencies\":[50]}]", actual); }
public void TestSingleThreadPoolRejectedFallbackSuccess() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo> { new SimpleExecution(FooKey, 1, HystrixEventType.THREAD_POOL_REJECTED, HystrixEventType.FALLBACK_SUCCESS) }; HystrixRequestEvents request = new HystrixRequestEvents(executions); string actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"THREAD_POOL_REJECTED\",\"FALLBACK_SUCCESS\"],\"latencies\":[1]}]", actual); }
public void TestSingleFailureFallbackRejected() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo> { new SimpleExecution(FooKey, 103, HystrixEventType.FAILURE, HystrixEventType.FALLBACK_REJECTION) }; HystrixRequestEvents request = new HystrixRequestEvents(executions); string actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"FAILURE\",\"FALLBACK_REJECTION\"],\"latencies\":[103]}]", actual); }
public void TestSingleSuccess() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo> { new SimpleExecution(FooKey, 100, HystrixEventType.SUCCESS) }; HystrixRequestEvents request = new HystrixRequestEvents(executions); string actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[100]}]", actual); }
public void TestSingleSemaphoreRejectedFallbackSuccess() { var executions = new List <IHystrixInvokableInfo> { new SimpleExecution(FooKey, 1, HystrixEventType.SEMAPHORE_REJECTED, HystrixEventType.FALLBACK_SUCCESS) }; var request = new HystrixRequestEvents(executions); var actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"SEMAPHORE_REJECTED\",\"FALLBACK_SUCCESS\"],\"latencies\":[1]}]", actual); }
public void TestSingleFailureFallbackSuccess() { var executions = new List <IHystrixInvokableInfo> { new SimpleExecution(FooKey, 102, HystrixEventType.FAILURE, HystrixEventType.FALLBACK_SUCCESS) }; var request = new HystrixRequestEvents(executions); var actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"FAILURE\",\"FALLBACK_SUCCESS\"],\"latencies\":[102]}]", actual); }
public void TestCollapsedBatchOfOne() { var executions = new List <IHystrixInvokableInfo> { new SimpleExecution(FooKey, 53, CollapserKey, 1, HystrixEventType.SUCCESS) }; var request = new HystrixRequestEvents(executions); var actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[53],\"collapsed\":{\"name\":\"FooCollapser\",\"count\":1}}]", actual); }
public void TestSingleSuccessMultipleEmits() { var executions = new List <IHystrixInvokableInfo> { new SimpleExecution(FooKey, 100, HystrixEventType.EMIT, HystrixEventType.EMIT, HystrixEventType.EMIT, HystrixEventType.SUCCESS) }; var request = new HystrixRequestEvents(executions); var actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[{\"name\":\"EMIT\",\"count\":3},\"SUCCESS\"],\"latencies\":[100]}]", actual); }
public void TestSingleResponseFromCache() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo>(); SimpleExecution foo1 = new SimpleExecution(FooKey, 23, "cacheKeyA", HystrixEventType.SUCCESS); SimpleExecution cachedFoo1 = new SimpleExecution(FooKey, "cacheKeyA"); executions.Add(foo1); executions.Add(cachedFoo1); HystrixRequestEvents request = new HystrixRequestEvents(executions); string actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[23],\"cached\":1}]", actual); }
public void TestTwoFailuresSameKey() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo>(); SimpleExecution foo1 = new SimpleExecution(FooKey, 56, HystrixEventType.FAILURE, HystrixEventType.FALLBACK_SUCCESS); SimpleExecution foo2 = new SimpleExecution(FooKey, 67, HystrixEventType.FAILURE, HystrixEventType.FALLBACK_SUCCESS); executions.Add(foo1); executions.Add(foo2); HystrixRequestEvents request = new HystrixRequestEvents(executions); string actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"FAILURE\",\"FALLBACK_SUCCESS\"],\"latencies\":[56,67]}]", actual); }
public void TestTwoSuccessesSameKey() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo>(); SimpleExecution foo1 = new SimpleExecution(FooKey, 23, HystrixEventType.SUCCESS); SimpleExecution foo2 = new SimpleExecution(FooKey, 34, HystrixEventType.SUCCESS); executions.Add(foo1); executions.Add(foo2); HystrixRequestEvents request = new HystrixRequestEvents(executions); string actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.Equal("[{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[23,34]}]", actual); }
public void TestTwoSuccessesDifferentKey() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo>(); SimpleExecution foo1 = new SimpleExecution(FooKey, 23, HystrixEventType.SUCCESS); SimpleExecution bar1 = new SimpleExecution(BarKey, 34, HystrixEventType.SUCCESS); executions.Add(foo1); executions.Add(bar1); HystrixRequestEvents request = new HystrixRequestEvents(executions); string actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.True(actual.Equals("[{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[23]},{\"name\":\"Bar\",\"events\":[\"SUCCESS\"],\"latencies\":[34]}]") || actual.Equals("[{\"name\":\"Bar\",\"events\":[\"SUCCESS\"],\"latencies\":[34]},{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[23]}]")); }
public void TestTwoSuccessesOneFailureSameKey() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo>(); SimpleExecution foo1 = new SimpleExecution(FooKey, 10, HystrixEventType.SUCCESS); SimpleExecution foo2 = new SimpleExecution(FooKey, 67, HystrixEventType.FAILURE, HystrixEventType.FALLBACK_SUCCESS); SimpleExecution foo3 = new SimpleExecution(FooKey, 11, HystrixEventType.SUCCESS); executions.Add(foo1); executions.Add(foo2); executions.Add(foo3); HystrixRequestEvents request = new HystrixRequestEvents(executions); string actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.True(actual.Equals("[{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[10,11]},{\"name\":\"Foo\",\"events\":[\"FAILURE\",\"FALLBACK_SUCCESS\"],\"latencies\":[67]}]") || actual.Equals("[{\"name\":\"Foo\",\"events\":[\"FAILURE\",\"FALLBACK_SUCCESS\"],\"latencies\":[67]},{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[10,11]}]")); }
public void TestMultipleCacheKeys() { List <IHystrixInvokableInfo> executions = new List <IHystrixInvokableInfo>(); SimpleExecution foo1 = new SimpleExecution(FooKey, 23, "cacheKeyA", HystrixEventType.SUCCESS); SimpleExecution cachedFoo1 = new SimpleExecution(FooKey, "cacheKeyA"); SimpleExecution foo2 = new SimpleExecution(FooKey, 67, "cacheKeyB", HystrixEventType.SUCCESS); SimpleExecution cachedFoo2 = new SimpleExecution(FooKey, "cacheKeyB"); executions.Add(foo1); executions.Add(cachedFoo1); executions.Add(foo2); executions.Add(cachedFoo2); HystrixRequestEvents request = new HystrixRequestEvents(executions); string actual = SerialHystrixRequestEvents.ToJsonString(request); Assert.True(actual.Equals("[{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[67],\"cached\":1},{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[23],\"cached\":1}]") || actual.Equals("[{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[23],\"cached\":1},{\"name\":\"Foo\",\"events\":[\"SUCCESS\"],\"latencies\":[67],\"cached\":1}]")); }