Ejemplo n.º 1
0
 def test_get_redirect_history_mm_ok_domains(self):
     """
     правильные возвращаемые значения для одноклассников и mm
     :return:
     """
     ok_url = 'https://odnoklassniki.ru/'
     mm_url = 'https://my.mail.ru/apps/'
     history_types = []
     counters = []
     self.assertEquals((history_types, [ok_url], counters), get_redirect_history(url=ok_url, timeout=1), "non valid return for ok url")
     self.assertEquals((history_types, [mm_url], counters), get_redirect_history(url=mm_url, timeout=1), "non valid return for mm url")
Ejemplo n.º 2
0
 def test_get_redirect_history_mymail(self):
     """
     правильные возвращаемые значения для my.mail
     :return:
     """
     m_url = 'https://my.mail.ru/apps/'
     self.assertEquals(([], [m_url], []), get_redirect_history(url=m_url, timeout=self.small_timeout), "invalid")
Ejemplo n.º 3
0
 def test_redirect_history_match_mm(self):
     """
     mm matching
     """
     mm_url = u'https://my.mail.ru/apps/'
     with mock.patch("source.lib.prepare_url", mock.Mock(return_value=mm_url)):
         self.assertEquals(([], [mm_url], []), get_redirect_history(url=mm_url, timeout=1))
Ejemplo n.º 4
0
 def test_redirect_history_match_ok(self):
     """
     ok matching
     """
     ok_url = u'https://odnoklassniki.ru/'
     with mock.patch("source.lib.prepare_url", mock.Mock(return_value=ok_url)):
         self.assertEquals(([], [ok_url], []), get_redirect_history(url=ok_url, timeout=1))
Ejemplo n.º 5
0
 def test_get_redirect_history_odnoklassniki(self):
     """
     правильные возвращаемые значения для odnoklassniki
     :return:
     """
     o_url = 'https://odnoklassniki.ru/'
     self.assertEquals(([], [o_url], []), get_redirect_history(url=o_url, timeout=self.small_timeout), "invalid")
Ejemplo n.º 6
0
 def test_get_redirect_with_counter(self):
     urlg = 'http://example.com'
     content = 'Content'
     counter = 'counter'
     url = ('http://test.org', REDIRECT_HTTP, content)
     with mock.patch('source.lib.get_url', mock.Mock(return_value=url)):
         with mock.patch('source.lib.get_counters', mock.Mock(return_value='counter')):
             self.assertEqual(get_redirect_history(urlg, 10, 1), ([url[1]], [urlg, url[0]], counter))
Ejemplo n.º 7
0
 def test_redirect_history_no_redirect_url(self):
     url = "http://example.ru"
     redirect_url = None
     redirect_type = None
     content = None
     with mock.patch("source.lib.prepare_url", mock.Mock(return_value=u'http://example.ru')), \
          mock.patch("source.lib.get_url", mock.Mock(return_value=(redirect_url, redirect_type, content))):
         self.assertEquals(([], [url], []),
                           get_redirect_history(url=url, timeout=1))
    def test_redirect_history_url(self):
        url = 'https://www.odnoklassniki.ru/'
        timeout = 10
        with mock.patch('source.lib.prepare_url', mock.Mock(return_value=url)):
            history_types, history_urls, counters = lib.get_redirect_history(url, timeout)

        self.assertEquals([], history_types)
        self.assertEquals([url], history_urls)
        self.assertEquals([], counters)
Ejemplo n.º 9
0
    def test_get_redirect_history_mm_url(self):
        url = 'https://my.mail.ru/apps/'
        timeout = 30
        with mock.patch('source.lib.prepare_url', mock.Mock(return_value=url)):
            history_types, history_urls, counters = lib.get_redirect_history(url, timeout)

        self.assertEquals([], history_types)
        self.assertEquals([url], history_urls)
        self.assertEquals([], counters)
    def test_redirect_history_url(self):
        url = 'https://www.odnoklassniki.ru/'
        timeout = 10
        with mock.patch('source.lib.prepare_url', mock.Mock(return_value=url)):
            history_types, history_urls, counters = lib.get_redirect_history(
                url, timeout)

        self.assertEquals([], history_types)
        self.assertEquals([url], history_urls)
        self.assertEquals([], counters)
Ejemplo n.º 11
0
 def test_get_redirect_history_mymail(self):
     """
     правильные возвращаемые значения для my.mail
     :return:
     """
     m_url = 'https://my.mail.ru/apps/'
     self.assertEquals(([], [m_url], []),
                       get_redirect_history(url=m_url,
                                            timeout=self.small_timeout),
                       "invalid")
Ejemplo n.º 12
0
 def test_get_redirect_history_redirect_url_none_counters_none(self):
     """
     правильные возвращаемые значения для redirect_url = None и content = None
     :return:
     """
     url = "http://url.ru"
     redirect_url = redirect_type = content = None
     with mock.patch('source.lib.get_url', mock.Mock(return_value=(redirect_url, redirect_type, content))):
         self.assertEquals(([], [url], []), get_redirect_history(url=url, timeout=self.small_timeout),
                           "invalid returned values")
Ejemplo n.º 13
0
 def test_get_redirect_history_odnoklassniki(self):
     """
     правильные возвращаемые значения для odnoklassniki
     :return:
     """
     o_url = 'https://odnoklassniki.ru/'
     self.assertEquals(([], [o_url], []),
                       get_redirect_history(url=o_url,
                                            timeout=self.small_timeout),
                       "invalid")
Ejemplo n.º 14
0
    def test_get_redirect_history_not_redirect_url(self):
        url = 'http://url.ru'
        timeout = 30
        with mock.patch('source.lib.prepare_url', mock.Mock(return_value=url)):
            with mock.patch('source.lib.get_url', mock.Mock(return_value=[None, None, None])):
                history_types, history_urls, counters = lib.get_redirect_history(url, timeout)

        self.assertEquals([], history_types)
        self.assertEquals([url], history_urls)
        self.assertEquals([], counters)
Ejemplo n.º 15
0
    def test_get_redirect_history_many_redirects(self):
        m_types = [REDIRECT_META, REDIRECT_META]
        m_urls = ['url1', 'url2', 'url3']

        with mock.patch('source.lib.get_url', mock.Mock(side_effect=[
            (m_urls[1], m_types[0], self._get_html_with_redirect(m_urls[1])),
            (m_urls[2], m_types[1], self._get_html_with_redirect(m_urls[2])),
            (None, None, '<html></html>')
        ])):
            types, urls, counters = get_redirect_history(m_urls[0], timeout=11, max_redirects=1)
            self.assertEquals(len(urls), 2)
Ejemplo n.º 16
0
 def test_get_redirect_history_url_multiple_iterations(self):
     """
     More than 1 time while
     """
     url = 'http://example2.com/'
     redirect_type = 'http_status'
     content = None
     with mock.patch("source.lib.get_url", mock.Mock(return_value=(url, redirect_type, content))):
         self.assertEqual((['http_status', 'http_status'],
                           [u'http://example.com/', 'http://example2.com/', 'http://example2.com/'], []),
                          get_redirect_history(url='http://example.com/', timeout=1))
Ejemplo n.º 17
0
 def test_get_redirect_history_error_redirect_type(self):
     url = "http://url.ru"
     redirect_url = "http://redirect.url"
     redirect_type = ERROR_REDIRECT
     content = 'google-analytics.com/ga.js'
     google_counter = "GOOGLE_ANALYTICS"
     history_types = [redirect_type]
     history_urls = [url, redirect_url]
     counters = [google_counter]
     with mock.patch('source.lib.get_url', mock.Mock(return_value=(redirect_url, redirect_type, content))):
         self.assertEquals((history_types, history_urls, counters), get_redirect_history(url=url, timeout=1), "non valid return values")
Ejemplo n.º 18
0
    def test_get_redirect_history_error(self):
        m_types = ['ERROR', REDIRECT_META]
        m_urls = ['http://url', 'http://url2', 'http://url3']

        with mock.patch('source.lib.get_url', mock.Mock(side_effect=[
            (m_urls[1], m_types[0], self._get_html_with_redirect('http://url2')),
            (m_urls[2], m_types[1], self._get_html_with_redirect('http://url3')),
            (None, None, '<html></html>')
        ])):
            history_types, history_urls, counters = get_redirect_history(m_urls[0], 11)
            self.assertEquals(len(history_urls), 2)
    def test_get_url_returned_none(self):
        url = 'http://url.ru'
        timeout = 30
        with mock.patch('source.lib.prepare_url', mock.Mock(return_value=url)):
            with mock.patch('source.lib.get_url',
                            mock.Mock(return_value=[None, None, None])):
                history_types, history_urls, counters = lib.get_redirect_history(
                    url, timeout)

        self.assertEquals([], history_types)
        self.assertEquals([url], history_urls)
        self.assertEquals([], counters)
Ejemplo n.º 20
0
    def test_get_redirect_history_redirect_repeat(self):
        url = 'http://url.ru'
        timeout = 30
        redirect_url = 'http://redirect-url.ru'
        redirect_type = 'redirect_type'
        with mock.patch('source.lib.prepare_url', mock.Mock(return_value=url)):
            with mock.patch('source.lib.get_url', mock.Mock(return_value=[redirect_url, redirect_type, None])):
                    history_types, history_urls, return_counters = lib.get_redirect_history(url, timeout)

        self.assertEquals([redirect_type, redirect_type], history_types)
        self.assertEquals([url, redirect_url, redirect_url], history_urls)
        self.assertEquals([], return_counters)
Ejemplo n.º 21
0
    def test_get_redirect_history_redirect_type_error(self):
        """
        with redirect type ERROR_REDIRECT
        """
        url = "http://example.ru"
        redirect_url = "http://redirect.url"
        redirect_type = ERROR_REDIRECT

        with mock.patch('source.lib.get_url',
                        mock.Mock(return_value=(redirect_url, redirect_type, 'google-analytics.com/ga.js'))):
            self.assertEquals(([redirect_type], [url, redirect_url], ["GOOGLE_ANALYTICS"]),
                              get_redirect_history(url=url, timeout=self.small_timeout), "invalid returned values")
Ejemplo n.º 22
0
    def test_redirect_one(self):
        """
        только 1 редирект
        :return:
        """
        url = "http://example.ru"
        redirect_url = "http://redirect.url"
        redirect_type = "type"

        with mock.patch('source.lib.get_url', mock.Mock(return_value=(redirect_url, redirect_type, None))):
            self.assertEquals(([redirect_type], [url, redirect_url], []),
                              get_redirect_history(url=url, timeout=self.small_timeout, max_redirects=1),
                              "invalid returned values")
Ejemplo n.º 23
0
 def test_get_redirect_history_max_redirect_break(self):
     """
     only 1 redirect
     """
     url = "http://example.ru"
     redirect_url = "http://r.ru"
     redirect_type = "http_status"
     content = None
     history_types = [redirect_type]
     history_urls = [url, redirect_url]
     with mock.patch('source.lib.get_url', mock.Mock(return_value=(redirect_url, redirect_type, content))):
         self.assertEquals((history_types, history_urls, []),
                           get_redirect_history(url=url, timeout=1, max_redirects=1))
Ejemplo n.º 24
0
    def test_get_redirect_history_redirect_type_error_content(self):
        url = 'http://url.ru'
        timeout = 30
        redirect_url = 'http://redirect-url.ru'
        redirect_type_error = 'ERROR'
        counters = 'counters'
        with mock.patch('source.lib.prepare_url', mock.Mock(return_value=url)):
            with mock.patch('source.lib.get_url', mock.Mock(return_value=[redirect_url, redirect_type_error, 'content'])):
                with mock.patch('source.lib.get_counters', mock.Mock(return_value=counters)):
                    history_types, history_urls, return_counters = lib.get_redirect_history(url, timeout)

        self.assertEquals([redirect_type_error], history_types)
        self.assertEquals([url, redirect_url], history_urls)
        self.assertEquals(counters, return_counters)
Ejemplo n.º 25
0
 def test_get_redirect_history_none_redirect_url_none_counters(self):
     """
     правильные возвращаемые значения для redirect_url = none и отсутствии контента
     :return:
     """
     url = "http://url.ru"
     redirect_url = None
     redirect_type = None
     content = None
     history_types = []
     history_urls = [url]
     counters = []
     with mock.patch('source.lib.get_url', mock.Mock(return_value=(redirect_url, redirect_type, content))):
         self.assertEquals((history_types, history_urls, counters), get_redirect_history(url=url, timeout=1), "non valid return values")
Ejemplo n.º 26
0
 def test_max_redirect_break(self):
     """
     тест что был произведен только 1 редирект
     :return:
     """
     url = "http://url.ru"
     redirect_url = "http://redirect.url"
     redirect_type = "good redirect"
     content = None
     history_types = [redirect_type]
     history_urls = [url, redirect_url]
     counters = []
     with mock.patch('source.lib.get_url', mock.Mock(return_value=(redirect_url, redirect_type, content))):
         self.assertEquals((history_types, history_urls, counters), get_redirect_history(url=url, timeout=1, max_redirects=1), "non valid return values")
Ejemplo n.º 27
0
 def test_get_redirect_history_redirect_url_none_counters_none(self):
     """
     правильные возвращаемые значения для redirect_url = None и content = None
     :return:
     """
     url = "http://url.ru"
     redirect_url = redirect_type = content = None
     with mock.patch(
             'source.lib.get_url',
             mock.Mock(return_value=(redirect_url, redirect_type,
                                     content))):
         self.assertEquals(([], [url], []),
                           get_redirect_history(url=url,
                                                timeout=self.small_timeout),
                           "invalid returned values")
Ejemplo n.º 28
0
    def test_get_redirect_history_redirect_type_error(self):
        """
        with redirect type ERROR_REDIRECT
        """
        url = "http://example.ru"
        redirect_url = "http://redirect.url"
        redirect_type = ERROR_REDIRECT

        with mock.patch(
                'source.lib.get_url',
                mock.Mock(return_value=(redirect_url, redirect_type,
                                        'google-analytics.com/ga.js'))):
            self.assertEquals(
                ([redirect_type], [url, redirect_url], ["GOOGLE_ANALYTICS"]),
                get_redirect_history(url=url, timeout=self.small_timeout),
                "invalid returned values")
Ejemplo n.º 29
0
    def test_redirect_one(self):
        """
        только 1 редирект
        :return:
        """
        url = "http://example.ru"
        redirect_url = "http://redirect.url"
        redirect_type = "type"

        with mock.patch(
                'source.lib.get_url',
                mock.Mock(return_value=(redirect_url, redirect_type, None))):
            self.assertEquals(([redirect_type], [url, redirect_url], []),
                              get_redirect_history(url=url,
                                                   timeout=self.small_timeout,
                                                   max_redirects=1),
                              "invalid returned values")
Ejemplo n.º 30
0
    def test_get_redirect_history_error(self):
        expected_history_types = ['ERROR', 'meta_tag']
        expected_history_urls = ['http://mail.ru/', 'http://mail.ru/a.html', 'http://mail.ru/b.html']

        content1 = self.get_redirect_html('a.html')
        content2 = self.get_redirect_html('b.html')
        content_no_redirect = self.get_default_html()

        with mock.patch('source.lib.get_url', mock.Mock(side_effect=[
            (expected_history_urls[1], expected_history_types[0], content1),
            (expected_history_urls[2], expected_history_types[1], content2),
            (None, None, content_no_redirect)
        ])):
            history_types, history_urls, counters = lib.get_redirect_history(expected_history_urls[0],
                                                                             timeout=10)
            # 2 means 1 source url + 1 redirect from it
            self.assertEquals(len(history_urls), 2, 'continued redirecting after ERROR type')
Ejemplo n.º 31
0
    def test_get_redirect_history_ok(self):
        expected_history_types = ['meta_tag', 'meta_tag']
        expected_history_urls = ['http://odnoklassniki.ru/', 'http://mail.ru/a.html', 'http://mail.ru/b.html']

        content1 = self.get_redirect_html('a.html')
        content2 = self.get_redirect_html('b.html')
        content_no_redirect = self.get_default_html()

        with mock.patch('source.lib.get_url', mock.Mock(side_effect=[
            (expected_history_urls[1], expected_history_types[0], content1),
            (expected_history_urls[2], expected_history_types[1], content2),
            (None, None, content_no_redirect)
        ])):
            history_types, history_urls, counters = lib.get_redirect_history(expected_history_urls[0],
                                                                             timeout=10)

            self.assertEquals(len(history_urls), 1, 'should return after odnoklassniki.ru')
Ejemplo n.º 32
0
 def test_get_redirect_history_error_redirect_type(self):
     """
     break with redirect_type = ERROR
     """
     url = "http://example.ru"
     redirect_url = "http://r.ru"
     redirect_type = 'ERROR'
     content = "<html><head></head><body><img src=\"http://counter.rambler.ru/top100.cnt?264737\"" \
               + " alt=\"\" width=\"1\" height=\"1\" style=\"border:0;position:absolute;" \
               + "left:-10000px;\" /></body></html>"
     rambler_counter = "RAMBLER_TOP100"
     history_types = [redirect_type]
     history_urls = [url, redirect_url]
     counters = [rambler_counter]
     with mock.patch("source.lib.prepare_url", mock.Mock(return_value=u'http://example.ru')), \
          mock.patch("source.lib.get_url", mock.Mock(return_value=(redirect_url, redirect_type, content))):
         self.assertEquals((history_types, history_urls, counters), get_redirect_history(url=url, timeout=1))
Ejemplo n.º 33
0
    def test_get_redirect_history(self):
        expected_history_types = ['meta_tag', 'meta_tag']
        expected_history_urls = ['http://mail.ru/', 'http://mail.ru/a.html', 'http://mail.ru/b.html']
        expected_counters = []

        content1 = self.get_redirect_html('a.html')
        content2 = self.get_redirect_html('b.html')
        content_no_redirect = self.get_default_html()

        with mock.patch('source.lib.get_url', mock.Mock(side_effect=[
            (expected_history_urls[1], expected_history_types[0], content1),
            (expected_history_urls[2], expected_history_types[1], content2),
            (None, None, content_no_redirect)
        ])):
            history_types, history_urls, counters = lib.get_redirect_history(expected_history_urls[0], timeout=10)
            self.assertEquals(history_urls, expected_history_urls, 'history_urls not match')
            self.assertEquals(history_types, expected_history_types, 'history_types not match')
            self.assertEquals(counters, expected_counters, 'counters not match')
    def test_get_url_returned_error_redirect_type(self):
        url = 'http://url.ru'
        timeout = 30
        redirect_url = 'http://redirect-url.ru'
        redirect_type_error = 'ERROR'
        counters = 'counters'
        with mock.patch('source.lib.prepare_url', mock.Mock(return_value=url)):
            with mock.patch(
                    'source.lib.get_url',
                    mock.Mock(return_value=[
                        redirect_url, redirect_type_error, 'content'
                    ])):
                with mock.patch('source.lib.get_counters',
                                mock.Mock(return_value=counters)):
                    history_types, history_urls, return_counters = lib.get_redirect_history(
                        url, timeout)

        self.assertEquals([redirect_type_error], history_types)
        self.assertEquals([url, redirect_url], history_urls)
        self.assertEquals(counters, return_counters)
Ejemplo n.º 35
0
 def test_get_redirect_error_redirect_type(self):
     urlg = 'http://example.com'
     url = ('http://test.org', 'ERROR', None)
     with mock.patch('source.lib.get_url', mock.Mock(return_value=url)):
         self.assertEqual(get_redirect_history(urlg, 10), ([url[1]], [urlg, url[0]], []))
Ejemplo n.º 36
0
 def test_get_redirect_history_overlimut(self):
     urlg = 'http://example.com'
     url = ('http://test.org', REDIRECT_HTTP, None)
     with mock.patch('source.lib.get_url', mock.Mock(return_value=url)):
         self.assertEqual(get_redirect_history(urlg, 10, 1), ([url[1]], [urlg, url[0]], []))
Ejemplo n.º 37
0
 def test_get_redirect_no_redirect_url(self):
     urlg = 'http://example.com'
     url = (None, REDIRECT_HTTP, None)
     with mock.patch('source.lib.get_url', mock.Mock(return_value=url)):
         self.assertEqual(get_redirect_history(urlg, 10), ([], [urlg], []))
Ejemplo n.º 38
0
 def test_get_redirect_history_for_od(self):
     url = 'http://www.odnoklassniki.ru/someapp'
     self.assertEqual(get_redirect_history(url, 10), ([], [url], []))