public void TestPreventionOfDoubleRegistration() { var serviceProvider = CreateServiceProvider(); var middleware = new CrpcMiddleware <TRS>(serviceProvider, _loggerFactory); var registrationAction = CreateGeneralRegistrationAction(); middleware.SetRegistrationOptions(registrationAction); var ex = Assert.Throws <InvalidOperationException>( () => middleware.SetRegistrationOptions(registrationAction) ); Assert.Equal("Registration options already set", ex.Message); }
public async Task TestOnlyPostMethodAllowed(bool valid, string method) { var serviceProvider = CreateServiceProvider(); var middleware = new CrpcMiddleware <TRS>(serviceProvider, _loggerFactory); var registrationAction = CreateGeneralRegistrationAction(); var context = new DefaultHttpContext(); middleware.SetRegistrationOptions(registrationAction); context.Request.Method = method; context.Request.Path = "/preview/test_endpoint"; if (valid) { await middleware.InvokeAsync(context, (ctx) => Task.CompletedTask); return; } var ex = await Assert.ThrowsAsync <CrpcException>(async() => { await middleware.InvokeAsync(context, (ctx) => Task.CompletedTask); }); Assert.Equal(CrpcCodes.MethodNotAllowed, ex.Message); }
public void TestRegistrationOptions() { var serviceProvider = CreateServiceProvider(); var middleware = new CrpcMiddleware <TRS>(serviceProvider, _loggerFactory); var registrationAction = CreateGeneralRegistrationAction(); middleware.SetRegistrationOptions(registrationAction); }