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]);
            }
        }
Пример #2
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"));
        }