public void BuildEventTelemetryWithProperties()
        {
            var factory = new TelemetryFactory();

            var name  = Guid.NewGuid().ToString();
            var props = new Dictionary <string, string>();

            props.Add("key1", "value1");

            var telemetry = factory.BuildEventTelemetry(name, props);

            telemetry.Sanitize();

            Assert.IsInstanceOfType(telemetry, typeof(ITelemetry));
            Assert.IsInstanceOfType(telemetry, typeof(ISupportProperties));
            Assert.IsInstanceOfType(telemetry, typeof(ISupportMetrics));
            Assert.IsInstanceOfType(telemetry, typeof(IEventTelemetry));
            Assert.IsInstanceOfType(telemetry, typeof(IDataModelTelemetry <IEventDataModel>));

            Assert.AreEqual("Event", telemetry.TelemetryName);
            Assert.AreEqual(name, telemetry.Name);
            Assert.IsNotNull(telemetry.Properties);
            Assert.AreNotSame(props, telemetry.Properties);
            Assert.AreEqual(1, telemetry.Properties.Count);
            Assert.AreEqual("value1", telemetry.Properties["key1"]);
            Assert.IsNotNull(telemetry.Metrics);
            Assert.AreEqual(0, telemetry.Metrics.Count);
        }
        public void BuildExceptionTelemetryWithPropertiesAndMetrics()
        {
            var factory = new TelemetryFactory();

            var ex = new Exception("some error");

            var props = new Dictionary <string, string>();

            props.Add("key1", "value1");
            var metrics = new Dictionary <string, double>();

            metrics.Add("key1", 2.456);


            var telemetry = factory.BuildExceptionTelemetry(ex, props, metrics);

            telemetry.Sanitize();

            Assert.IsInstanceOfType(telemetry, typeof(ITelemetry));
            Assert.IsInstanceOfType(telemetry, typeof(ISupportProperties));
            Assert.IsInstanceOfType(telemetry, typeof(ISupportMetrics));
            Assert.IsInstanceOfType(telemetry, typeof(IExceptionTelemetry));
            Assert.IsInstanceOfType(telemetry, typeof(IDataModelTelemetry <IExceptionDataModel>));

            Assert.AreEqual("Exception", telemetry.TelemetryName);
            Assert.AreEqual(ex.Message, telemetry.Exception.Message);
            Assert.IsNotNull(telemetry.Properties);
            Assert.AreEqual(1, telemetry.Properties.Count);
            Assert.AreEqual("value1", telemetry.Properties["key1"]);
            Assert.IsNotNull(telemetry.Metrics);
            Assert.AreEqual(1, telemetry.Metrics.Count);
            Assert.AreEqual(2.456, telemetry.Metrics["key1"]);
            Assert.AreNotSame(metrics, telemetry.Metrics);
        }
        public void BuildMessageTelemetryWithProperties()
        {
            var factory = new TelemetryFactory();

            var message = Guid.NewGuid().ToString();
            var props   = new Dictionary <string, string>();

            props.Add("key1", "value1");

            var telemetry = factory.BuildMessageTelemetry(message, eSeverityLevel.Error, props);

            telemetry.Sanitize();

            Assert.IsInstanceOfType(telemetry, typeof(ITelemetry));
            Assert.IsInstanceOfType(telemetry, typeof(ISupportProperties));
            Assert.IsInstanceOfType(telemetry, typeof(IMessageTelemetry));
            Assert.IsInstanceOfType(telemetry, typeof(IDataModelTelemetry <IMessageDataModel>));

            Assert.AreEqual("Message", telemetry.TelemetryName);
            Assert.AreEqual(message, telemetry.Message);
            Assert.AreEqual(eSeverityLevel.Error, telemetry.SeverityLevel);
            Assert.IsNotNull(telemetry.Properties);
            Assert.AreNotSame(props, telemetry.Properties);
            Assert.AreEqual(1, telemetry.Properties.Count);
            Assert.AreEqual("value1", telemetry.Properties["key1"]);
        }
示例#4
0
 void ConfigureTelemetry()
 {
     _telemetryLibrary = TelemetryFactory.GetTelemetryInstance();
     _telemetryLibrary.Initialize(_configuration.AccessToken);
     _telemetryLibrary.SetLocationCollectionState(GetTelemetryCollectionState());
     _telemetryLibrary.SendTurnstile();
 }
        public void GivenCriticalEventShouldReturnTelemetryExceptionStrategy()
        {
            TelemetryFactory telemetryFactory = new TelemetryFactory();

            ITelemetryStrategy telemetryStrategy = telemetryFactory.Strategy(new EventType(new EventTypes().Critical()));

            telemetryStrategy.Should().BeOfType <TelemetryException>();
        }
        public void GivenWarningEventShouldReturnTelemetryEventStrategy()
        {
            TelemetryFactory telemetryFactory = new TelemetryFactory();

            ITelemetryStrategy telemetryStrategy = telemetryFactory.Strategy(new EventType(new EventTypes().Warning()));

            telemetryStrategy.Should().BeOfType <TelemetryEvent>();
        }
        public void GivenInformationEventShouldReturnTelemetryEventStrategy()
        {
            TelemetryFactory telemetryFactory = new TelemetryFactory();

            ITelemetryStrategy telemetryStrategy = telemetryFactory.Strategy(new EventType(new EventTypes().Information()));

            telemetryStrategy.Should().BeOfType <TelemetryEvent>();
        }
示例#8
0
 public void SendTurnstileEvent()
 {
     try
     {
         _telemetryLibrary = TelemetryFactory.GetTelemetryInstance();
         _telemetryLibrary.Initialize(accessToken);
         //_telemetryLibrary.SetLocationCollectionState(GetTelemetryCollectionState());
         _telemetryLibrary.SendTurnstile();
     }
     catch (Exception ex)
     {
         Debug.LogErrorFormat("Error initializing telemetry: {0}", ex);
     }
 }
        public void ShouldWriteExceptionWithoutThrowingException()
        {
            TelemetryFactory telemetryFactory = new TelemetryFactory();

            ITelemetryStrategy telemetryStrategy = telemetryFactory.Strategy(new EventType(new EventTypes().Error()));

            Action action = () =>
            {
                telemetryStrategy.TrackEvent("source", new Dictionary <string, string>
                {
                    { "key", "value" }
                });
            };

            action.ShouldNotThrow();
        }
        public void BuildMessageTelemetry()
        {
            var factory = new TelemetryFactory();

            var message = Guid.NewGuid().ToString();

            var telemetry = factory.BuildMessageTelemetry(message, eSeverityLevel.Error);

            telemetry.Sanitize();

            Assert.IsInstanceOfType(telemetry, typeof(ITelemetry));
            Assert.IsInstanceOfType(telemetry, typeof(ISupportProperties));
            Assert.IsInstanceOfType(telemetry, typeof(IMessageTelemetry));
            Assert.IsInstanceOfType(telemetry, typeof(IDataModelTelemetry <IMessageDataModel>));

            Assert.AreEqual("Message", telemetry.TelemetryName);
            Assert.AreEqual(message, telemetry.Message);
            Assert.AreEqual(eSeverityLevel.Error, telemetry.SeverityLevel);
            Assert.IsNotNull(telemetry.Properties);
            Assert.AreEqual(0, telemetry.Properties.Count);
        }
示例#11
0
 void ConfigureTelemetry()
 {
     // TODO: enable after token validation has been made async
     //if (
     //	null == _configuration
     //	|| string.IsNullOrEmpty(_configuration.AccessToken)
     //	|| !_tokenValid
     //)
     //{
     //	Debug.LogError(_tokenNotSetErrorMessage);
     //	return;
     //}
     try
     {
         _telemetryLibrary = TelemetryFactory.GetTelemetryInstance();
         _telemetryLibrary.Initialize(_configuration.AccessToken);
         _telemetryLibrary.SetLocationCollectionState(GetTelemetryCollectionState());
         _telemetryLibrary.SendTurnstile();
     }
     catch (Exception ex)
     {
         Debug.LogErrorFormat("Error initializing telemetry: {0}", ex);
     }
 }