public void CreateOrUpdateDupExTest()
        {
            TransitReferrerHost host = new TransitReferrerHost();
            host.LastSource = string.Format("http://{0}", Guid.NewGuid().ToString());
            host.LastUrl = string.Format("http://{0}", Guid.NewGuid().ToString());
            host.Name = Guid.NewGuid().ToString();
            host.RequestCount = 1;
            host.Id = Blog.CreateOrUpdateReferrerHost(Ticket, host);

            string rollupname = Guid.NewGuid().ToString();

            TransitReferrerHostRollup rollup = new TransitReferrerHostRollup();
            rollup.Name = string.Format("%.{0}", rollupname);
            rollup.Rollup = host.Name;
            rollup.Id = Blog.CreateOrUpdateReferrerHostRollup(Ticket, rollup);

            TransitReferrerHost host2 = new TransitReferrerHost();
            host2.LastSource = host2.LastUrl = string.Format("http://{0}", Guid.NewGuid().ToString());
            host2.Name = string.Format("www.{0}", rollupname);
            host2.RequestCount = 1;
            host2.Id = Blog.CreateOrUpdateReferrerHost(Ticket, host2);

            Assert.AreEqual(host.Id, host2.Id, "Rollup did not translate a LIKE host.");

            Blog.DeleteReferrerHost(Ticket, host.Id);
            Blog.DeleteReferrerHostRollup(Ticket, rollup.Id);
        }
 public BlogReferrerHostTest()
 {
     mReferrerHost = new TransitReferrerHost();
     mReferrerHost.Name = Guid.NewGuid().ToString();
     mReferrerHost.LastSource = string.Format("http://{0}", Guid.NewGuid().ToString());
     mReferrerHost.LastUrl = string.Format("http://{0}", Guid.NewGuid().ToString());
     mReferrerHost.RequestCount = 1;
 }
        public void ExistingReferrerHostRollupTest()
        {
            int count = 10;
            // create hosts
            TransitReferrerHost host = new TransitReferrerHost();
            host.LastSource = host.LastUrl = "http://localhost";
            host.RequestCount = 1;

            string root = Guid.NewGuid().ToString();
            for (int i = 0; i < count; i++)
            {
                host.Name = string.Format("www.{0}.{1}", root, i);
                Blog.CreateOrUpdateReferrerHost(Ticket, host);
                Console.WriteLine("Created {0}", host.Name);
            }

            // create a rollup, should merge hosts
            TransitReferrerHostRollup rollup = new TransitReferrerHostRollup();
            rollup.Name = string.Format("www.{0}.%", root);
            rollup.Rollup = string.Format("www.{0}.target", root);
            rollup.Id = Blog.CreateOrUpdateReferrerHostRollup(Ticket, rollup);

            // additional host will auto-rollup
            for (int i = 0; i < count; i++)
            {
                host.Name = string.Format("www.{0}.{1}", root, i);
                Blog.CreateOrUpdateReferrerHost(Ticket, host);
                Console.WriteLine("Created {0}", host.Name);
            }

            // get the rollup host
            TransitReferrerHost[] hosts = Blog.GetReferrerHosts(Ticket, null);

            bool found = false;
            foreach (TransitReferrerHost rh in hosts)
            {
                if (rh.Name == rollup.Rollup)
                {
                    Console.WriteLine("Found {0} with {1} hits", rh.Name, rh.RequestCount);
                    Assert.AreEqual(rh.RequestCount, count * 2);
                    found = true;
                    Blog.DeleteReferrerHost(Ticket, rh.Id);
                }
            }

            Assert.IsTrue(found);
            Blog.DeleteReferrerHostRollup(Ticket, rollup.Id);
        }
Esempio n. 4
0
        public void CreateOrUpdateStatsTest()
        {
            TransitReferrerHost host = new TransitReferrerHost();
            host.LastSource = Guid.NewGuid().ToString();
            host.LastUrl = Guid.NewGuid().ToString();
            host.Name = Guid.NewGuid().ToString();
            host.RequestCount = 1;
            host.Id = Blog.CreateOrUpdateReferrerHost(Ticket, host);

            TransitBrowser browser = new TransitBrowser();
            browser.Name = Guid.NewGuid().ToString();
            browser.Platform = Guid.NewGuid().ToString();
            browser.Version = Guid.NewGuid().ToString().Substring(0, 10);
            browser.Id = Blog.CreateOrUpdateBrowser(Ticket, browser);

            TransitReferrerSearchQuery query = new TransitReferrerSearchQuery();
            query.RequestCount = 1;
            query.SearchQuery = Guid.NewGuid().ToString();
            query.Id = Blog.CreateOrUpdateReferrerSearchQuery(Ticket, query);

            List<TransitReferrerHost> hosts = new List<TransitReferrerHost>();
            hosts.Add(host);

            List<TransitBrowser> browsers = new List<TransitBrowser>();
            browsers.Add(browser);

            List<TransitReferrerSearchQuery> queries = new List<TransitReferrerSearchQuery>();
            queries.Add(query);

            int result = Blog.CreateOrUpdateStats(Ticket, browsers.ToArray(), hosts.ToArray(), queries.ToArray());
            Assert.AreEqual(result, Math.Max(Math.Max(browsers.Count, hosts.Count), queries.Count));

            Blog.DeleteReferrerHost(Ticket, host.Id);
            Blog.DeleteBrowser(Ticket, browser.Id);
            Blog.DeleteReferrerSearchQuery(Ticket, query.Id);
        }
Esempio n. 5
0
 /// <remarks/>
 public void CreateOrUpdateReferrerHostAsync(string ticket, TransitReferrerHost t_referrerhost, object userState) {
     if ((this.CreateOrUpdateReferrerHostOperationCompleted == null)) {
         this.CreateOrUpdateReferrerHostOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrUpdateReferrerHostOperationCompleted);
     }
     this.InvokeAsync("CreateOrUpdateReferrerHost", new object[] {
                 ticket,
                 t_referrerhost}, this.CreateOrUpdateReferrerHostOperationCompleted, userState);
 }
Esempio n. 6
0
 /// <remarks/>
 public void CreateOrUpdateReferrerHostAsync(string ticket, TransitReferrerHost t_referrerhost) {
     this.CreateOrUpdateReferrerHostAsync(ticket, t_referrerhost, null);
 }
Esempio n. 7
0
 public int CreateOrUpdateReferrerHost(string ticket, TransitReferrerHost t_referrerhost) {
     object[] results = this.Invoke("CreateOrUpdateReferrerHost", new object[] {
                 ticket,
                 t_referrerhost});
     return ((int)(results[0]));
 }
Esempio n. 8
0
 /// <remarks/>
 public void CreateOrUpdateStatsAsync(string ticket, TransitBrowser[] t_browsers, TransitReferrerHost[] t_rhs, TransitReferrerSearchQuery[] t_rsqs, object userState) {
     if ((this.CreateOrUpdateStatsOperationCompleted == null)) {
         this.CreateOrUpdateStatsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrUpdateStatsOperationCompleted);
     }
     this.InvokeAsync("CreateOrUpdateStats", new object[] {
                 ticket,
                 t_browsers,
                 t_rhs,
                 t_rsqs}, this.CreateOrUpdateStatsOperationCompleted, userState);
 }
Esempio n. 9
0
 /// <remarks/>
 public void CreateOrUpdateStatsAsync(string ticket, TransitBrowser[] t_browsers, TransitReferrerHost[] t_rhs, TransitReferrerSearchQuery[] t_rsqs) {
     this.CreateOrUpdateStatsAsync(ticket, t_browsers, t_rhs, t_rsqs, null);
 }
Esempio n. 10
0
 public int CreateOrUpdateStats(string ticket, TransitBrowser[] t_browsers, TransitReferrerHost[] t_rhs, TransitReferrerSearchQuery[] t_rsqs) {
     object[] results = this.Invoke("CreateOrUpdateStats", new object[] {
                 ticket,
                 t_browsers,
                 t_rhs,
                 t_rsqs});
     return ((int)(results[0]));
 }