Ejemplo n.º 1
0
            public void CanConstruct()
            {
                var requestInfo = CreateRequestInfo();

                var visitor = new Visitor(requestInfo.VisitorIdentifier);
                var visit = new Visit(visitor, requestInfo);
                var item = CreateItem();
                var action = new VisitAction(visit, VisitActionType.ContentView, item);

                Assert.AreEqual(VisitActionType.ContentView, action.VisitActionType);
                Assert.AreSame(item, action.BehaviorMonitoredItem);
                Assert.AreSame(visit, action.Visit);
            }
Ejemplo n.º 2
0
            public void CanConstruct()
            {
                var requestInfo = CreateRequestInfo();

                var visitor = new Visitor(requestInfo.VisitorIdentifier);

                var visit = new Visit(visitor, requestInfo);

                Assert.AreSame(visitor, visit.Visitor);
                Assert.AreEqual(requestInfo.IPAddress, visit.IPAddress);
                Assert.AreEqual(requestInfo.SessionId, visit.SessionId);
                Assert.AreEqual(requestInfo.UrlReferrer.ToString(), visit.UrlReferrer);
                Assert.AreEqual(requestInfo.UserAgent, visit.UserAgent);
            }
Ejemplo n.º 3
0
 public VisitAction(Visit visit, VisitActionType actionType, BehaviorMonitoredItem behaviorMonitoredItem)
 {
     if (visit == null)
     {
         throw new ArgumentNullException("visit");
     }
     if (behaviorMonitoredItem == null)
     {
         throw new ArgumentNullException("behaviorMonitoredItem");
     }
     Visit = visit;
     VisitActionType = actionType;
     BehaviorMonitoredItem = behaviorMonitoredItem;
     ActionDate = DateTime.UtcNow;
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Finds the or create visit.
 /// </summary>
 /// <param name="requestInfo">The request info.</param>
 /// <returns></returns>
 public Visit FindOrCreateVisit(RequestInfo requestInfo)
 {
     if (requestInfo == null)
     {
         throw new ArgumentNullException("requestInfo");
     }
     var visit = Visits
         .OrderByDescending(v => v.Id)
         .FirstOrDefault(v => v.SessionId == requestInfo.SessionId);
     if (visit == null)
     {
         visit = new Visit(this, requestInfo);
         this.Visits.Add(visit);
     }
     return visit;
 }
Ejemplo n.º 5
0
            public void FindsLatestVisitWhenMultipleVisitRecordsForTheSameSessionIdExist()
            {
                var visitor = new Visitor(Guid.NewGuid());
                var requestInfo = CreateRequestInfo();

                var firstVisit = visitor.FindOrCreateVisit(requestInfo);
                firstVisit.Id = 1;

                //simulate glitch that might cause additional visit records for the same session
                var secondVisit = new Visit(visitor, requestInfo) { Id = 2};
                visitor.Visits.Add(secondVisit);

                var foundVisit = visitor.FindOrCreateVisit(requestInfo);

                Assert.AreSame(secondVisit, foundVisit);
            }