public void CanHandle_DelegatesToInterceptionManager(bool value) { var fakeInterceptorManager = Mock.Of <InterceptorManager>(MockBehavior.Strict); Mock.Get(fakeInterceptorManager).Setup(x => x.HasInterceptor("testMessage")) .Returns(value); var sut = new InterceptionMiddleLayer(fakeInterceptorManager, "testLanguage"); var result = sut.CanHandle("testMessage"); Assert.Equal(value, result); }
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); }
public RazorCSharpInterceptionMiddleLayer(InterceptorManager interceptorManager) { _underlyingMiddleLayer = new InterceptionMiddleLayer(interceptorManager, RazorLSPConstants.CSharpContentTypeName); }