public async Task ProcessRequest_WritesExpectedResponse() { const string expectedIdeName = "Visual Studio"; const string expectedDescription = "myproject.csproj"; var apiResponse = new StatusResponse(expectedIdeName, expectedDescription); var apiHandlerMock = new Mock <IStatusRequestHandler>(); apiHandlerMock.Setup(x => x.GetStatusAsync()).Returns(Task.FromResult <IStatusResponse>(apiResponse)); var responseStream = new MemoryStream(); var context = new OwinContext(); context.Response.Body = responseStream; var testSubject = new StatusOwinRequestHandler(apiHandlerMock.Object); // Act await testSubject.ProcessRequest(context) .ConfigureAwait(false); context.Response.ContentType.Should().Be("application/json"); context.Response.StatusCode.Should().Be((int)HttpStatusCode.OK); var responseData = Deserialize(responseStream); responseData["ideName"].Type.Should().Be(JTokenType.String); responseData["ideName"].ToString().Should().Be(expectedIdeName); responseData["description"].Type.Should().Be(JTokenType.String); responseData["description"].ToString().Should().Be(expectedDescription); }
public void ApiPath_ReturnsExpectedPath() { var testSubject = new StatusOwinRequestHandler(Mock.Of <IStatusRequestHandler>()); testSubject.ApiPath.Should().Be("/status"); }