public void GetGrpcWebMode_ContentTypes_Matched(string contentType, string expectedGrpcWebMode) { // Arrange var httpContext = new DefaultHttpContext(); httpContext.Request.Method = HttpMethods.Post; httpContext.Request.ContentType = contentType; // Act var grpcWebMode = GrpcWebMiddleware.GetGrpcWebMode(httpContext); // Assert Assert.AreEqual(Enum.Parse <ServerGrpcWebMode>(expectedGrpcWebMode), grpcWebMode); }
public void GetGrpcWebMode_NonPost_NotMatched() { // Arrange var httpContext = new DefaultHttpContext(); httpContext.Request.Method = HttpMethods.Options; httpContext.Request.ContentType = GrpcWebProtocolConstants.GrpcWebContentType; // Act var grpcWebContext = GrpcWebMiddleware.GetGrpcWebContext(httpContext); // Assert Assert.AreEqual(ServerGrpcWebMode.None, grpcWebContext.Request); Assert.AreEqual(ServerGrpcWebMode.None, grpcWebContext.Response); }
public void GetGrpcWebMode_Accept_Matched( string?contentType, string?accept, string expectedRequestGrpcWebMode, string expectedResponseGrpcWebMode) { // Arrange var httpContext = new DefaultHttpContext(); httpContext.Request.Method = HttpMethods.Post; httpContext.Request.ContentType = contentType !; httpContext.Request.Headers["Accept"] = accept; // Act var grpcWebContext = GrpcWebMiddleware.GetGrpcWebContext(httpContext); // Assert Assert.AreEqual(Enum.Parse <ServerGrpcWebMode>(expectedRequestGrpcWebMode), grpcWebContext.Request); Assert.AreEqual(Enum.Parse <ServerGrpcWebMode>(expectedResponseGrpcWebMode), grpcWebContext.Response); }
public void Setup() { var input = new Pipe(); _inputPipe = input; var output = new Pipe(); _outputPipe = output; _context = new DefaultHttpContext { RequestServices = Services }; _context.Request.Path = "/Service/Method"; Services.GetRequiredService <IHttpContextAccessor>().HttpContext = _context; _redirector = new BodyRedirector(_context, input, output); var logger = Services.GetRequiredService <ILogger <GrpcWebMiddleware> >(); var base64Transcoder = Services.GetRequiredService <Base64Transcoder>(); var binaryTranscoder = Services.GetRequiredService <BinaryTranscoder>(); _middleware = new GrpcWebMiddleware(Forward, logger, binaryTranscoder, base64Transcoder); }