public async void HeapDumpInvoke_ReturnsExpected() { if (Environment.OSVersion.Platform == PlatformID.Win32NT) { var opts = new HeapDumpEndpointOptions(); var mopts = TestHelpers.GetManagementOptions(opts); LoggerFactory loggerFactory = new LoggerFactory(); loggerFactory.AddConsole(minLevel: LogLevel.Debug); var logger1 = loggerFactory.CreateLogger <HeapDumper>(); var logger2 = loggerFactory.CreateLogger <HeapDumpEndpoint>(); var logger3 = loggerFactory.CreateLogger <HeapDumpEndpointOwinMiddleware>(); HeapDumper obs = new HeapDumper(opts, logger: logger1); var ep = new HeapDumpEndpoint(opts, obs, logger2); var middle = new HeapDumpEndpointOwinMiddleware(null, ep, mopts, logger3); var context = OwinTestHelpers.CreateRequest("GET", "/cloudfoundryapplication/heapdump", GetResponseBodyStream()); await middle.Invoke(context); context.Response.Body.Seek(0, SeekOrigin.Begin); byte[] buffer = new byte[1024]; await context.Response.Body.ReadAsync(buffer, 0, 1024); Assert.NotEqual(0, buffer[0]); } }
public void HeapDumpEndpointMiddleware_PathAndVerbMatching_ReturnsExpected() { var opts = new HeapDumpOptions(); HeapDumper obs = new HeapDumper(opts); var ep = new HeapDumpEndpoint(opts, obs); var middle = new HeapDumpEndpointOwinMiddleware(null, ep); Assert.True(middle.RequestVerbAndPathMatch("GET", "/heapdump")); Assert.False(middle.RequestVerbAndPathMatch("PUT", "/heapdump")); Assert.False(middle.RequestVerbAndPathMatch("GET", "/badpath")); }
public void HeapDumpEndpointMiddleware_PathAndVerbMatching_ReturnsExpected() { var opts = new HeapDumpEndpointOptions(); var mopts = TestHelpers.GetManagementOptions(opts); HeapDumper obs = new HeapDumper(opts); var ep = new HeapDumpEndpoint(opts, obs); var middle = new HeapDumpEndpointOwinMiddleware(null, ep, mopts); Assert.True(middle.RequestVerbAndPathMatch("GET", "/cloudfoundryapplication/heapdump")); Assert.False(middle.RequestVerbAndPathMatch("PUT", "/cloudfoundryapplication/heapdump")); Assert.False(middle.RequestVerbAndPathMatch("GET", "/cloudfoundryapplication/badpath")); }