Пример #1
0
        public void InitializeSetsTelemetryOperationNameToControllerFromActionContext()
        {
            var actionContext = new ActionContext();

            actionContext.RouteData = new RouteData();
            actionContext.RouteData.Values.Add("controller", "home");

            var contextAccessor = HttpContextAccessorHelper.CreateHttpContextAccessor(new RequestTelemetry(), actionContext);

            var telemetryListener = new DiagnosticListener(TestListenerName);
            var initializer       = new MvcDiagnosticsListener();

            telemetryListener.SubscribeWithAdapter(initializer);
            telemetryListener.Write("Microsoft.AspNetCore.Mvc.BeforeAction",
                                    new { httpContext = contextAccessor.HttpContext, routeData = actionContext.RouteData });

            var telemetry = contextAccessor.HttpContext.Features.Get <RequestTelemetry>();

            Assert.Equal("GET home", telemetry.Name);
        }
Пример #2
0
        public void InitializeDoesNotIncludeRouteGroupKeyInParametersList()
        {
            var actionContext = new ActionContext();

            actionContext.RouteData = new RouteData();
            actionContext.RouteData.Values.Add("controller", "account");
            actionContext.RouteData.Values.Add("action", "login");
            actionContext.RouteData.Values.Add(TreeRouter.RouteGroupKey, "RouteGroupKey");

            var contextAccessor   = HttpContextAccessorHelper.CreateHttpContextAccessor(new RequestTelemetry(), actionContext);
            var telemetryListener = new DiagnosticListener(TestListenerName);
            var initializer       = new MvcDiagnosticsListener();

            telemetryListener.SubscribeWithAdapter(initializer);
            telemetryListener.Write("Microsoft.AspNetCore.Mvc.BeforeAction",
                                    new { httpContext = contextAccessor.HttpContext, routeData = actionContext.RouteData });

            var telemetry = contextAccessor.HttpContext.Features.Get <RequestTelemetry>();

            Assert.Equal("GET account/login", telemetry.Name);
        }
        public void InitializeSortsParameters()
        {
            var actionContext = new ActionContext();

            actionContext.RouteData = new RouteData();
            actionContext.RouteData.Values.Add("controller", "account");
            actionContext.RouteData.Values.Add("action", "login");
            actionContext.RouteData.Values.Add("parameterZ", "myName1");
            actionContext.RouteData.Values.Add("parameterA", "myName2");
            actionContext.RouteData.Values.Add("parameterN", "myName1");

            var contextAccessor = HttpContextAccessorHelper.CreateHttpContextAccessor(new RequestTelemetry(), actionContext);

            var telemetryListener = new DiagnosticListener(TestListenerName);
            var initializer       = new MvcDiagnosticsListener();

            telemetryListener.Subscribe(initializer);
            telemetryListener.Write("Microsoft.AspNetCore.Mvc.BeforeAction",
                                    new { httpContext = contextAccessor.HttpContext, routeData = actionContext.RouteData });

            var telemetry = contextAccessor.HttpContext.Features.Get <RequestTelemetry>();

            Assert.Equal("GET account/login [parameterA/parameterN/parameterZ]", telemetry.Name);
        }