예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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]}]"));
        }
예제 #5
0
        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]}]"));
        }
예제 #6
0
        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}]"));
        }