public void UseMiddlewareWithIvokeWithOutAndRefThrows() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(MiddlewareInjectWithOutAndRefParams)); var exception = Assert.Throws<NotSupportedException>(() => builder.Build()); }
public void UseMiddlewareWithIMiddlewareThrowsIfParametersSpecified() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); var exception = Assert.Throws <NotSupportedException>(() => builder.UseMiddleware(typeof(Middleware), "arg")); Assert.Equal(Resources.FormatException_UseMiddlewareExplicitArgumentsNotSupported(typeof(IMiddleware)), exception.Message); }
public void UseMiddlewareWithInvokeWithOutAndRefThrows() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(MiddlewareInjectWithOutAndRefParams)); var exception = Assert.Throws <NotSupportedException>(() => builder.Build()); }
public void UseMiddleware_MutlipleInvokeMethods_ThrowsException() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(MiddlewareMultipleInvokesStub)); var exception = Assert.Throws<InvalidOperationException>(() => builder.Build()); Assert.Equal(Resources.FormatException_UseMiddleMutlipleInvokes("Invoke"), exception.Message); }
public void UseMiddleware_NonTaskReturnType_ThrowsException() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(MiddlewareNonTaskReturnStub)); var exception = Assert.Throws<InvalidOperationException>(() => builder.Build()); Assert.Equal(Resources.FormatException_UseMiddlewareNonTaskReturnType("Invoke", nameof(Task)), exception.Message); }
public void UseMiddlewareWithInvokeArg() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(MiddlewareInjectInvoke)); var app = builder.Build(); app(new DefaultHttpContext()); }
public void UseMiddleware_WithNoParameters_ThrowsException() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(MiddlewareNoParametersStub)); var exception = Assert.Throws<InvalidOperationException>(() => builder.Build()); Assert.Equal(Resources.FormatException_UseMiddlewareNoParameters("Invoke",nameof(HttpContext)), exception.Message); }
public async Task UseMiddleware_ThrowsIfArgCantBeResolvedFromContainer() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(MiddlewareInjectInvokeNoService)); var app = builder.Build(); var exception = await Assert.ThrowsAsync<InvalidOperationException>(() => app(new DefaultHttpContext())); Assert.Equal(Resources.FormatException_InvokeMiddlewareNoService(typeof(object), typeof(MiddlewareInjectInvokeNoService)), exception.Message); }
public void UseMiddleware_MutlipleInvokeMethods_ThrowsException() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(MiddlewareMultipleInvokesStub)); var exception = Assert.Throws <InvalidOperationException>(() => builder.Build()); Assert.Equal(Resources.FormatException_UseMiddleMutlipleInvokes("Invoke"), exception.Message); }
public void UseMiddleware_NonTaskReturnType_ThrowsException() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(MiddlewareNonTaskReturnStub)); var exception = Assert.Throws <InvalidOperationException>(() => builder.Build()); Assert.Equal(Resources.FormatException_UseMiddlewareNonTaskReturnType("Invoke", nameof(Task)), exception.Message); }
public void UseMiddleware_WithNoParameters_ThrowsException() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(MiddlewareNoParametersStub)); var exception = Assert.Throws <InvalidOperationException>(() => builder.Build()); Assert.Equal(Resources.FormatException_UseMiddlewareNoParameters("Invoke", nameof(HttpContext)), exception.Message); }
public async Task UseMiddleware_ThrowsIfArgCantBeResolvedFromContainer() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(MiddlewareInjectInvokeNoService)); var app = builder.Build(); var exception = await Assert.ThrowsAsync <InvalidOperationException>(() => app(new DefaultHttpContext())); Assert.Equal(Resources.FormatException_InvokeMiddlewareNoService(typeof(object), typeof(MiddlewareInjectInvokeNoService)), exception.Message); }
public async Task UseMiddlewareWithIMiddlewareThrowsIfNoIMiddlewareFactoryRegistered() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(Middleware)); var app = builder.Build(); var exception = await Assert.ThrowsAsync <InvalidOperationException>(async() => { var context = new DefaultHttpContext(); var sp = new DummyServiceProvider(); context.RequestServices = sp; await app(context); }); Assert.Equal(Resources.FormatException_UseMiddlewareNoMiddlewareFactory(typeof(IMiddlewareFactory)), exception.Message); }
public async Task UseMiddlewareWithIMiddlewareThrowsIfMiddlewareFactoryCreateReturnsNull() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(Middleware)); var app = builder.Build(); var exception = await Assert.ThrowsAsync <InvalidOperationException>(async() => { var context = new DefaultHttpContext(); var sp = new DummyServiceProvider(); sp.AddService(typeof(IMiddlewareFactory), new BadMiddlewareFactory()); context.RequestServices = sp; await app(context); }); Assert.Equal( Resources.FormatException_UseMiddlewareUnableToCreateMiddleware( typeof(BadMiddlewareFactory), typeof(Middleware)), exception.Message); }
public async Task UseMiddlewareWithIMiddlewareWorks() { var mockServiceProvider = new DummyServiceProvider(); var builder = new ApplicationBuilder(mockServiceProvider); builder.UseMiddleware(typeof(Middleware)); var app = builder.Build(); var context = new DefaultHttpContext(); var sp = new DummyServiceProvider(); var middlewareFactory = new BasicMiddlewareFactory(); sp.AddService(typeof(IMiddlewareFactory), middlewareFactory); context.RequestServices = sp; await app(context); Assert.True(Assert.IsType <bool>(context.Items["before"])); Assert.True(Assert.IsType <bool>(context.Items["after"])); Assert.NotNull(middlewareFactory.Created); Assert.NotNull(middlewareFactory.Released); Assert.IsType <Middleware>(middlewareFactory.Created); Assert.IsType <Middleware>(middlewareFactory.Released); Assert.Same(middlewareFactory.Created, middlewareFactory.Released); }