예제 #1
0
        public void ExtractIdFromUrlShouldWorkCorrectly(string url, string id)
        {
            var source = new ApiBgSource();
            var result = source.ExtractIdFromUrl(url);

            Assert.Equal(id, result);
        }
예제 #2
0
        public void GetNewsShouldReturnResults()
        {
            var provider = new ApiBgSource();
            var result   = provider.GetLatestPublications();

            Assert.Equal(5, result.Count());
        }
예제 #3
0
        public void ExtractIdFromUrlShouldWorkCorrectly()
        {
            var provider = new ApiBgSource();
            var result   = provider.ExtractIdFromUrl("http://www.api.bg/index.php/bg/prescentar/novini/podpapka/druga-podpapka/filename");

            Assert.Equal("filename", result);
        }
예제 #4
0
        public void ExtractIdFromUrlShouldWorkCorrectlyWithDashAtTheEnd()
        {
            var provider = new ApiBgSource();
            var result   = provider.ExtractIdFromUrl("http://www.api.bg/index.php/bg/prescentar/novini/10-sa-kandidatite-za-izrabotvane-na-tehnicheski-proekt-pri-rehabilitaciyata-na-31-km-ot-pt-iii-861-ii-86-yugovo-lki-zdravec/");

            Assert.Equal("10-sa-kandidatite-za-izrabotvane-na-tehnicheski-proekt-pri-rehabilitaciyata-na-31-km-ot-pt-iii-861-ii-86-yugovo-lki-zdravec", result);
        }
예제 #5
0
        public void ParseRemoteNewsShouldWorkCorrectlyWithOneOfTheFirstNews()
        {
            const string NewsUrl  = "http://www.api.bg/index.php/bg/prescentar/novini/8-firmi-podadoha-oferti-za-stroitelstvoto-na-lot-2-ot-am-trakiya/";
            var          provider = new ApiBgSource();
            var          news     = provider.GetPublication(NewsUrl);

            Assert.Equal(NewsUrl, news.OriginalUrl);
            Assert.Equal("8 фирми подадоха оферти за строителството на Лот 2 от АМ „Тракия“", news.Title);
            Assert.Contains("„Днешното събитие е плод на един огромен и сериозен труд на всички служители в агенцията”", news.Content);
            Assert.Contains("националния бюджет чрез Оперативна програма „Транспорт“ 2007-2013 г.", news.Content);
            Assert.DoesNotContain("Logo-OPT.png", news.Content);
            Assert.Equal("http://www.api.bg/files/3113/6830/4295/Logo-OPT.png", news.ImageUrl);
            Assert.Equal(new DateTime(2010, 1, 12, 14, 31, 0), news.PostDate);
            Assert.Equal("8-firmi-podadoha-oferti-za-stroitelstvoto-na-lot-2-ot-am-trakiya", news.RemoteId);
        }
예제 #6
0
        public void ParseRemoteNewsShouldWorkCorrectly()
        {
            const string NewsUrl  = "http://www.api.bg/bg/prescentar/novini/na-31-yanuari-izticha-validnostta-na-godishnite-vinetki-za-2015-g/";
            var          provider = new ApiBgSource();
            var          news     = provider.GetPublication(NewsUrl);

            Assert.Equal(NewsUrl, news.OriginalUrl);
            Assert.Equal("На 31 януари изтича валидността на годишните винетки за 2015 г.", news.Title);
            Assert.Contains("На дирекциите „Социално подпомогане“ досега са предоставени безплатни", news.Content);
            Assert.Contains("Пълният списък на дистрибуторската мрежа е публикуван на интернет страницата на АПИ", news.Content);
            Assert.DoesNotContain("16e9043a49410f09048c7f65c06248bd_f4527.jpg", news.Content);
            Assert.Equal("http://www.api.bg/files/cache/16e9043a49410f09048c7f65c06248bd_f4527.jpg", news.ImageUrl);
            Assert.Equal(new DateTime(2016, 1, 24, 09, 59, 0), news.PostDate);
            Assert.Equal("na-31-yanuari-izticha-validnostta-na-godishnite-vinetki-za-2015-g", news.RemoteId);
        }
예제 #7
0
        public void ParseRemoteNewsShouldWorkCorrectlyWithOneOfTheFirstNews()
        {
            const string NewsUrl  = "https://api.bg/bg/1610264152.html";
            var          provider = new ApiBgSource();
            var          news     = provider.GetPublication(NewsUrl);

            Assert.Equal(NewsUrl, news.OriginalUrl);
            Assert.Equal("8 фирми подадоха оферти за строителството на Лот 2 от АМ „Тракия“", news.Title);
            Assert.Contains("„Днешното събитие е плод на един огромен и сериозен труд на всички служители в агенцията”", news.Content);
            Assert.Contains("националния бюджет чрез Оперативна програма „Транспорт“ 2007-2013 г.", news.Content);
            Assert.DoesNotContain("1fc5c10fd4f3b3baf46527f5a4965d57", news.Content);
            Assert.DoesNotContain("12.01.2010", news.Content);
            Assert.DoesNotContain("8 фирми подадоха оферти", news.Content);
            Assert.Equal("https://api.bg/files/imagecache/1fc5c10fd4f3b3baf46527f5a4965d57_256x144.jpg", news.ImageUrl);
            Assert.Equal(new DateTime(2010, 1, 12, 14, 31, 0), news.PostDate);
            Assert.Equal("1610264152", news.RemoteId);
        }
예제 #8
0
        public void ParseRemoteNewsShouldWorkCorrectly()
        {
            const string NewsUrl  = "https://api.bg/bg/1636184416.html";
            var          provider = new ApiBgSource();
            var          news     = provider.GetPublication(NewsUrl);

            Assert.Equal(NewsUrl, news.OriginalUrl);
            Assert.Equal("В неделя за автомобилно състезание за няколко часа ще бъде ограничено движението по пътя Стойките - Смолян и Пампорово - Смолян", news.Title);
            Assert.Contains("Утре - 7 ноември, от 8:30 ч. до 11:30 ч., ще бъде ограничено движението по участък", news.Content);
            Assert.Contains("който събира и обобщава данните за състоянието на републиканските пътища.", news.Content);
            Assert.DoesNotContain("5a3ce4098d782730d035723466112c41", news.Content);
            Assert.DoesNotContain("06.11.2021", news.Content);
            Assert.DoesNotContain("В неделя за автомобилно състезание", news.Content);
            Assert.Equal("https://api.bg/files/imagecache/5a3ce4098d782730d035723466112c41_256x144.jpg", news.ImageUrl);
            Assert.Equal(new DateTime(2021, 11, 6, 9, 38, 0), news.PostDate);
            Assert.Equal("1636184416", news.RemoteId);
        }
예제 #9
0
        public void ParseRemoteNewsWithBigImageShouldWorkCorrectly()
        {
            const string NewsUrl  = "http://www.api.bg/index.php/bg/prescentar/novini/zapochna-prodazhbata-na-e-vinetki-na-kasite-v-benzinostanciite-omv/";
            var          provider = new ApiBgSource();
            var          news     = provider.GetPublication(NewsUrl);

            Assert.Equal(NewsUrl, news.OriginalUrl);
            Assert.Equal("Започна продажбата на е-винетки на касите в бензиностанциите ОМВ", news.Title);
            Assert.Contains("Започна продажбата на електронни винетки на касите и в бензиностанциите ОМВ.", news.Content);
            Assert.Contains("До 8 часа тази сутрин са продадени 114 705 електронни винетки за 7 817 916 лв.", news.Content);
            Assert.DoesNotContain(news.Title, news.Content);
            Assert.DoesNotContain("09.01.2019 16:40", news.Content);
            Assert.DoesNotContain("Photo__vinetki_-_09.01.2019", news.Content);
            Assert.Equal("http://www.api.bg/files/3715/4704/5587/Photo__vinetki_-_09.01.2019.jpg", news.ImageUrl);
            Assert.Equal(new DateTime(2019, 1, 9, 16, 40, 0), news.PostDate);
            Assert.Equal("zapochna-prodazhbata-na-e-vinetki-na-kasite-v-benzinostanciite-omv", news.RemoteId);
        }