Beispiel #1
0
        public void TraceEndpointMiddleware_PathAndVerbMatching_ReturnsExpected()
        {
            var opts = new TraceOptions();
            TraceDiagnosticObserver obs = new TraceDiagnosticObserver(opts);
            var ep     = new TraceEndpoint(opts, obs);
            var middle = new TraceEndpointMiddleware(null, ep);

            Assert.True(middle.RequestVerbAndPathMatch("GET", "/trace"));
            Assert.False(middle.RequestVerbAndPathMatch("PUT", "/trace"));
            Assert.False(middle.RequestVerbAndPathMatch("GET", "/badpath"));
        }
        public void TraceEndpointMiddleware_PathAndVerbMatching_ReturnsExpected()
        {
            var opts  = new TraceEndpointOptions();
            var mopts = TestHelpers.GetManagementOptions(opts);
            TraceDiagnosticObserver obs = new TraceDiagnosticObserver(opts);
            var ep     = new TraceEndpoint(opts, obs);
            var middle = new TraceEndpointMiddleware(null, ep, mopts);

            Assert.True(middle.RequestVerbAndPathMatch("GET", "/cloudfoundryapplication/trace"));
            Assert.False(middle.RequestVerbAndPathMatch("PUT", "/cloudfoundryapplication/trace"));
            Assert.False(middle.RequestVerbAndPathMatch("GET", "/cloudfoundryapplication/badpath"));
        }
Beispiel #3
0
        public async void HandleTraceRequestAsync_ReturnsExpected()
        {
            var opts = new TraceOptions();

            TraceDiagnosticObserver obs = new TraceDiagnosticObserver(opts);
            var ep      = new TestTraceEndpoint(opts, obs);
            var middle  = new TraceEndpointMiddleware(null, ep);
            var context = CreateRequest("GET", "/trace");
            await middle.HandleTraceRequestAsync(context);

            context.Response.Body.Seek(0, SeekOrigin.Begin);
            StreamReader rdr  = new StreamReader(context.Response.Body);
            string       json = await rdr.ReadToEndAsync();

            Assert.Equal("[]", json);
        }
        public async Task HandleTraceRequestAsync_OtherPathReturnsExpected()
        {
            var opts  = new TraceEndpointOptions();
            var mopts = new CloudFoundryManagementOptions();

            mopts.EndpointOptions.Add(opts);

            var obs     = new TraceDiagnosticObserver(opts);
            var ep      = new TestTraceEndpoint(opts, obs);
            var middle  = new TraceEndpointMiddleware(null, ep, mopts);
            var context = CreateRequest("GET", "/cloudfoundryapplication/trace");
            await middle.HandleTraceRequestAsync(context);

            context.Response.Body.Seek(0, SeekOrigin.Begin);
            var rdr  = new StreamReader(context.Response.Body);
            var json = await rdr.ReadToEndAsync();

            Assert.Equal("[]", json);
        }
Beispiel #5
0
        public void IsTraceRequest_ReturnsExpected()
        {
            var opts = new TraceOptions();
            DiagnosticListener listener = new DiagnosticListener("test");

            TraceObserver obs     = new TraceObserver(listener, opts);
            var           ep      = new TraceEndpoint(opts, obs);
            var           middle  = new TraceEndpointMiddleware(null, ep);
            var           context = CreateRequest("GET", "/trace");

            Assert.True(middle.IsTraceRequest(context));
            var context2 = CreateRequest("PUT", "/trace");

            Assert.False(middle.IsTraceRequest(context2));
            var context3 = CreateRequest("GET", "/badpath");

            Assert.False(middle.IsTraceRequest(context3));
            listener.Dispose();
        }