public async Task HandleNotificationAsync_IfInterceptorReturnsNull_DoesNotSendNotification()
        {
            var fakeInterceptorManager = Mock.Of <InterceptorManager>(MockBehavior.Strict);

            Mock.Get(fakeInterceptorManager).Setup(x => x.HasInterceptor("testMethod"))
            .Returns(true);
            Mock.Get(fakeInterceptorManager).Setup(x => x.ProcessInterceptorsAsync("testMethod", It.IsAny <JToken>(), "testLanguage", CancellationToken.None))
            .Returns(Task.FromResult <JToken?>(null));
            var token            = JToken.Parse("{}");
            var sut              = new InterceptionMiddleLayer(fakeInterceptorManager, "testLanguage");
            var sentNotification = false;

            await sut.HandleNotificationAsync("testMethod", token, (_) => { sentNotification = true; return(Task.CompletedTask); });

            Assert.False(sentNotification);
        }
        public async Task HandleNotificationAsync_IfInterceptorReturnsToken_SendsNotificationWithToken()
        {
            var    token    = JToken.Parse("{}");
            var    expected = JToken.Parse("\"expected\"");
            JToken?actual   = null;
            var    fakeInterceptorManager = Mock.Of <InterceptorManager>(MockBehavior.Strict);

            Mock.Get(fakeInterceptorManager).Setup(x => x.HasInterceptor("testMethod"))
            .Returns(true);
            Mock.Get(fakeInterceptorManager).Setup(x => x.ProcessInterceptorsAsync("testMethod", It.IsAny <JToken>(), "testLanguage", CancellationToken.None))
            .Returns(Task.FromResult <JToken?>(expected));
            var sut = new InterceptionMiddleLayer(fakeInterceptorManager, "testLanguage");

            await sut.HandleNotificationAsync("testMethod", token, (t) => { actual = t; return(Task.CompletedTask); });

            Assert.Equal(expected, actual);
        }
Exemplo n.º 3
0
 public Task HandleNotificationAsync(string methodName, JToken methodParam, Func <JToken, Task> sendNotification)
 => _underlyingMiddleLayer.HandleNotificationAsync(methodName, methodParam, sendNotification);