Example #1
0
        public async Task InvokeAsync(InvocationContext context)
        {
            var methodInfo = context.TargetMethod as MethodInfo;

            using (var scope = _logger.BeginScope("begin hystrix command for class {0} and method:{1}", methodInfo.ReflectedType, methodInfo.Name))
            {
                var result = _hystrixCommandProvider.ExecuteAsync(methodInfo, context.Target, context.Arguments);

                context.ReturnValue = await result;
            }
        }
Example #2
0
        public async Task InvokeAsync_ShouldExecute_LoadRetunValueAsString()
        {
            // Arrange
            var hystrixInterceptor = CreateHystrixInterceptor();
            var methodInfo         = typeof(MockService).GetMethod(nameof(MockService.MethodRetunsObject), new Type[] { });
            var mockservice        = new MockService();
            var context            = new DefaultInvocationContext(methodInfo, mockservice, mockservice, new object[] { });

            _hystrixCommandProvider.ExecuteAsync(methodInfo, Arg.Any <object>(), Arg.Any <object[]>()).Returns(Task.FromResult <object>("Teste"));

            // Act
            await hystrixInterceptor.InvokeAsync(context);

            // Assert
            context.ReturnValue.Should().NotBeNull();
        }