public async void LocalhostFilterTesting() { var logger = new Mock <ILogger <LocalhostFilter> >(); var next = new Mock <RequestDelegate>(); var filter = new LocalhostFilter(next.Object, logger.Object); var connectionInfo = new Mock <ConnectionInfo>(); connectionInfo.Setup(x => x.RemoteIpAddress).Returns(IPAddress.Parse("172.217.4.206")); var http = new Mock <HttpContext>(); http.Setup(x => x.Connection).Returns(connectionInfo.Object); var response = new Mock <HttpResponse>(); http.Setup(x => x.Response).Returns(response.Object); response.SetupProperty(x => x.StatusCode); var headers = new Mock <IHeaderDictionary>(); response.Setup(x => x.Headers).Returns(headers.Object); var body = new Mock <Stream>(); response.Setup(x => x.Body).Returns(body.Object); response.SetupProperty(x => x.ContentLength); await filter.Invoke(http.Object); Assert.Equal(403, response.Object.StatusCode); }
public async void LocalhostFilterPass() { var http = new Mock <HttpContext>(); var cnx = new Mock <ConnectionInfo>(); http.Setup(x => x.Connection).Returns(cnx.Object); cnx.Setup(x => x.RemoteIpAddress).Returns(IPAddress.Loopback); var next = new Mock <RequestDelegate>(); var logger = new Mock <ILogger <LocalhostFilter> >(); var filter = new LocalhostFilter(next.Object, logger.Object); await filter.Invoke(http.Object); next.Verify(x => x.Invoke(http.Object), Times.Once); }