public void Should_correctly_set_Domain()
        {
            const string url          = "http://sub.host.com?p1=v1";
            const string expectedHost = "sub.host.com";
            var          urlItem      = UrlItemBuilder.Create(url, new DateTime(2016, 1, 1));

            Assert.NotNull(urlItem);
            Assert.Equal(expectedHost, urlItem.Host);
        }
        public void Should_correctly_set_URL_and_EvaliableFromDate()
        {
            const string expectedUrl  = "http://sub.host.com?p1=v1";
            var          expectedDate = new DateTime(2016, 1, 1);
            var          urlItem      = UrlItemBuilder.Create(expectedUrl, expectedDate);

            Assert.NotNull(urlItem);
            Assert.Equal(expectedUrl, urlItem.Url);
            Assert.Equal(expectedDate, urlItem.EvaliableFromDate);
        }
Пример #3
0
 public void AddOrUpdateUrl(string url, DateTime nextAvailableTime)
 {
     using (var ctx = CreateContext())
     {
         var urlItem     = UrlItemBuilder.Create(url, nextAvailableTime);
         var existingUrl = ctx.UrlItems.SingleOrDefault(u => u.Host == urlItem.Host && u.Url == url);
         if (existingUrl != null)
         {
             existingUrl.EvaliableFromDate = nextAvailableTime;
             existingUrl.IsInProgress      = false; // reset the flag since the url is not processed anymore and available for the next round
         }
         else
         {
             ctx.UrlItems.Add(urlItem);
         }
         ctx.Commit();
     }
 }