public void SetsClientIpFromWcfContextOnOtherEvent() { const String originalIp = "10.12.32.12"; const String newIp = "172.34.12.45"; var context = new MockOperationContext(); context.IncomingProperties.Add( RemoteEndpointMessageProperty.Name, new RemoteEndpointMessageProperty(originalIp, 7656)); var initializer = new ClientIpTelemetryInitializer(); // initialize request with the original IP initializer.Initialize(context.Request, context); // replace IP so that we can tell // it is being picked up from the request // rather than the context context.IncomingProperties.Clear(); context.IncomingProperties.Add( RemoteEndpointMessageProperty.Name, new RemoteEndpointMessageProperty(newIp, 7656)); var telemetry = new EventTelemetry("myevent"); initializer.Initialize(telemetry, context); Assert.AreEqual(originalIp, telemetry.Context.Location.Ip); }
public void InitializeDoNotMakeRequestAParentOfItself() { var context = new MockOperationContext(); var initializer = new OperationCorrelationTelemetryInitializer(); var requestTelemetry = context.Request; initializer.Initialize(requestTelemetry, context); Assert.AreEqual(null, requestTelemetry.Context.Operation.ParentId); Assert.AreEqual(requestTelemetry.Id, requestTelemetry.Context.Operation.Id); }
public void SetsOperationIdWhenNoParentOperationIsPresent() { var context = new MockOperationContext(); var initializer = new OperationCorrelationTelemetryInitializer(); var telemetry = context.Request; initializer.Initialize(telemetry, context); Assert.AreEqual(telemetry.Id, telemetry.Context.Operation.Id); }
public void InitializeDoesNotOverrideCustomerParentOperationId() { var context = new MockOperationContext(); var initializer = new OperationCorrelationTelemetryInitializer(); var telemetry = new TraceTelemetry(); telemetry.Context.Operation.ParentId = "someId"; initializer.Initialize(telemetry, context); Assert.AreEqual("someId", telemetry.Context.Operation.ParentId); }
public void InitializeSetsRequestTelemetryRootOperationIdToOperationId() { var context = new MockOperationContext(); var initializer = new OperationCorrelationTelemetryInitializer(); var requestTelemetry = context.Request; var customerTelemetry = new TraceTelemetry(); initializer.Initialize(customerTelemetry, context); Assert.AreEqual(requestTelemetry.Id, requestTelemetry.Context.Operation.Id); }
public void InitializeSetsRootOperationIdForTelemetryUsingIdFromRequestTelemetry() { var context = new MockOperationContext(); context.Request.Context.Operation.Id = "RootId"; var initializer = new OperationCorrelationTelemetryInitializer(); var exceptionTelemetry = new ExceptionTelemetry(); initializer.Initialize(exceptionTelemetry, context); Assert.AreEqual(context.Request.Context.Operation.Id, exceptionTelemetry.Context.Operation.Id); }
public void ClientIpIsCopiedFromRequestIfPresent() { const String clientIp = "10.12.32.12"; var context = new MockOperationContext(); context.Request.Context.Location.Ip = clientIp; var initializer = new ClientIpTelemetryInitializer(); var telemetry = new EventTelemetry(); initializer.Initialize(telemetry, context); Assert.AreEqual(clientIp, telemetry.Context.Location.Ip); }
public void UserAgentIsCopiedFromRequestIfPresent() { var context = new MockOperationContext(); context.EndpointUri = new Uri("http://localhost/Service1.svc"); context.OperationName = "GetData"; context.Request.Context.User.UserAgent = "MyUserAgent"; var initializer = new UserAgentTelemetryInitializer(); var telemetry = new EventTelemetry(); initializer.Initialize(telemetry, context); Assert.AreEqual(context.Request.Context.User.UserAgent, telemetry.Context.User.UserAgent); }
public void UserAgentIsObtainedFromOperationContextIfPresent() { var context = new MockOperationContext(); context.SetState("UATI_UserAgent", "MyAgent"); context.EndpointUri = new Uri("http://localhost/Service1.svc"); context.OperationName = "GetData"; var initializer = new UserAgentTelemetryInitializer(); var telemetry = new EventTelemetry(); initializer.Initialize(telemetry, context); Assert.AreEqual("MyAgent", telemetry.Context.User.UserAgent); }
public void RequestNameEqualsOperationName() { var context = new MockOperationContext(); context.EndpointUri = new Uri("net.tcp://localhost/Service1.svc"); context.OperationName = "GetData"; var initializer = new OperationNameTelemetryInitializer(); var telemetry = new RequestTelemetry(); initializer.Initialize(telemetry, context); String name = telemetry.Context.Operation.Name; Assert.AreEqual(name, telemetry.Name); }
public void InitializeDoesNotOverrideCustomerRootOperationId() { var context = new MockOperationContext(); var initializer = new OperationCorrelationTelemetryInitializer(); var requestTelemetry = context.Request; requestTelemetry.Context.Operation.Id = "RootId"; var customerTelemetry = new TraceTelemetry(); customerTelemetry.Context.Operation.Id = "CustomId"; initializer.Initialize(customerTelemetry, context); Assert.AreEqual("CustomId", customerTelemetry.Context.Operation.Id); }
public void OperationNameIsCopiedFromRequestIfPresent() { const string Name = "MyOperationName"; var context = new MockOperationContext(); context.EndpointUri = new Uri("net.tcp://localhost/Service1.svc"); context.OperationName = "GetData"; context.Request.Context.Operation.Name = Name; var initializer = new OperationNameTelemetryInitializer(); var telemetry = new EventTelemetry(); initializer.Initialize(telemetry, context); Assert.AreEqual(Name, telemetry.Context.Operation.Name); }
public void SetsClientIpFromWcfContextOnRequest() { const String clientIp = "10.12.32.12"; var context = new MockOperationContext(); context.IncomingProperties.Add( RemoteEndpointMessageProperty.Name, new RemoteEndpointMessageProperty(clientIp, 7656)); var initializer = new ClientIpTelemetryInitializer(); var telemetry = context.Request; initializer.Initialize(telemetry, context); Assert.AreEqual(clientIp, telemetry.Context.Location.Ip); }
public void AnonymousDoesNotIncludeUserId() { var context = new MockOperationContext(); context.EndpointUri = new Uri("http://localhost/Service1.svc"); context.OperationName = "GetData"; var authContext = new SimpleAuthorizationContext(); context.SecurityContext = new ServiceSecurityContext(authContext); var initializer = new UserTelemetryInitializer(); var telemetry = new RequestTelemetry(); initializer.Initialize(telemetry, context); Assert.IsNull(telemetry.Context.User.Id); }
public void InitializeReadsRootIdFromCustomSoapHeader() { var context = new MockOperationContext(); context.AddIncomingMessageHeader("headerName", "somenamespace", "RootId"); var initializer = new OperationCorrelationTelemetryInitializer(); initializer.SoapRootOperationIdHeaderName = "headerName"; initializer.SoapHeaderNamespace = "somenamespace"; var requestTelemetry = context.Request; var customerTelemetry = new TraceTelemetry(); initializer.Initialize(customerTelemetry, context); Assert.AreEqual("RootId", customerTelemetry.Context.Operation.Id); Assert.AreEqual("RootId", requestTelemetry.Context.Operation.Id); }
public void ContextUserAgentIsSetIfPresent() { var context = new MockOperationContext(); context.EndpointUri = new Uri("http://localhost/Service1.svc"); context.OperationName = "GetData"; HttpRequestMessageProperty http = new HttpRequestMessageProperty(); http.Headers["User-Agent"] = "MyUserAgent"; context.IncomingProperties.Add(HttpRequestMessageProperty.Name, http); var initializer = new UserAgentTelemetryInitializer(); var telemetry = new RequestTelemetry(); initializer.Initialize(telemetry, context); Assert.AreEqual("MyUserAgent", telemetry.Context.User.UserAgent); }
public void AuthenticatedRequestFillsUserIdWithUserName() { var context = new MockOperationContext(); context.EndpointUri = new Uri("http://localhost/Service1.svc"); context.OperationName = "GetData"; var authContext = new SimpleAuthorizationContext(); authContext.AddIdentity(new GenericIdentity("myuser")); context.SecurityContext = new ServiceSecurityContext(authContext); var initializer = new UserTelemetryInitializer(); var telemetry = new RequestTelemetry(); initializer.Initialize(telemetry, context); Assert.AreEqual("myuser", telemetry.Context.User.Id); }
public void HttpEndpointDoesNotHaveMethodInName() { var context = new MockOperationContext(); context.EndpointUri = new Uri("http://localhost/Service1.svc"); context.OperationName = "GetData"; HttpRequestMessageProperty http = new HttpRequestMessageProperty(); http.Method = "POST"; context.IncomingProperties.Add(HttpRequestMessageProperty.Name, http); var initializer = new OperationNameTelemetryInitializer(); var telemetry = new RequestTelemetry(); initializer.Initialize(telemetry, context); String name = telemetry.Context.Operation.Name; Assert.AreEqual(name, "IFakeService.GetData"); }
public void InitializeReadsRootIdFromCustomHeader() { var httpHeaders = new HttpRequestMessageProperty(); httpHeaders.Headers["headerName"] = "RootId"; var context = new MockOperationContext(); context.SetHttpHeaders(httpHeaders); var initializer = new OperationCorrelationTelemetryInitializer(); initializer.RootOperationIdHeaderName = "headerName"; var requestTelemetry = context.Request; var customerTelemetry = new TraceTelemetry(); initializer.Initialize(customerTelemetry, context); Assert.AreEqual("RootId", customerTelemetry.Context.Operation.Id); Assert.AreEqual("RootId", requestTelemetry.Context.Operation.Id); }