示例#1
0
        public void UrchinUriBuilder_GetParameters_For_Configuration_Returns_Correct_Keys()
        {
            var configuration = new UrchinConfiguration("UA-1234-5", "hostName");

            var keys = UrchinUriBuilder.GetParameters(configuration).Select(k => k.Key).ToArray();

            CollectionAssert.AreEquivalent(new[] { "utmac", "utmhn", "aip" }, keys);
        }
示例#2
0
        public void UrchinConfiguration_GetHostNameHash_Returns_One_When_CalculateHostNameHash_Is_False()
        {
            var attackPatternConfiguration = new UrchinConfiguration("UA-1234-5", "attackpattern.com")
            {
                CalculateHostNameHash = false
            };

            Assert.AreEqual(1, attackPatternConfiguration.GetHostNameHash());
        }
示例#3
0
        public void UrchinConfiguration_Constructor_With_Required_Parameters_Sets_Correct_Defaults()
        {
            var configuration = new UrchinConfiguration("UA-1234-5", "hostName");

            Assert.IsFalse(configuration.CalculateHostNameHash);
            Assert.IsTrue(configuration.AnonymizeIp);
            Assert.AreEqual(20, configuration.SessionTimeout.TotalMinutes);
            Assert.IsFalse(configuration.UseSsl);
        }
示例#4
0
        public void UrchinConfiguration_Constructor_With_Required_Parameters_Sets_Correct_Properties()
        {
            var sessionTimeout = TimeSpan.FromDays(10);
            var configuration  = new UrchinConfiguration("UA-1234-5", "hostName", sessionTimeout);

            Assert.AreEqual("UA-1234-5", configuration.AccountId);
            Assert.AreEqual("hostName", configuration.HostName);
            Assert.AreEqual(sessionTimeout, configuration.SessionTimeout);
        }
示例#5
0
        private static UrchinAnalyticsClient CreateSampleClient(Action <Uri> sender)
        {
            var configuration         = new UrchinConfiguration("UA-1234-5", "FindHostName");
            var sessionManager        = new SessionManager(TimeSpan.FromDays(1), null);
            var environment           = new Environment("en-gb");
            var urchinAnalyticsClient = new UrchinAnalyticsClient();

            urchinAnalyticsClient.Configure(configuration, sessionManager, environment, sender);
            return(urchinAnalyticsClient);
        }
示例#6
0
        public void UrchinUriBuilder_GetParameters_For_Configuration_Returns_No_Aip_Value_When_False()
        {
            var configuration = new UrchinConfiguration("UA-1234-5", "hostName")
            {
                AnonymizeIp = false
            };

            var keys = UrchinUriBuilder.GetParameters(configuration).Select(k => k.Key).ToArray();

            CollectionAssert.DoesNotContain(keys, "aip");
        }
示例#7
0
        public void UrchinConfiguration_GetHostNameHash_Returns_Correct_Hash_When_CalculateHostNameHash_Is_True()
        {
            var attackPatternConfiguration = new UrchinConfiguration("UA-1234-5", "attackpattern.com")
            {
                CalculateHostNameHash = true
            };
            var stickerTalesConfiguration = new UrchinConfiguration("UA-1234-6", "stickertales.com")
            {
                CalculateHostNameHash = true
            };
            var damiengConfiguration = new UrchinConfiguration("UA-2345-6", "damieng.com")
            {
                CalculateHostNameHash = true
            };

            Assert.AreEqual(162214764, attackPatternConfiguration.GetHostNameHash());
            Assert.AreEqual(59641711, stickerTalesConfiguration.GetHostNameHash());
            Assert.AreEqual(247163921, damiengConfiguration.GetHostNameHash());
        }
示例#8
0
 public void UrchinConfiguration_Constructor_Throws_ArgumentException_If_AccountID_Does_Not_Have_Two_Numeric_Parts()
 {
     var configuration = new UrchinConfiguration("UA-1234", "host");
 }
示例#9
0
 public void CustomVariable_Constructor_Throws_ArgumentOutOfRange_If_Enum_Undefined()
 {
     var configuration = new UrchinConfiguration("NO-1234-5", "host");
 }