def test_redirect(base_url, selenium, method, uri):
    HEADING_TEXT = 'Maintenance Mode'
    HEADING_SELECTOR = '#content-main > h1'
    MM_URL_TEMPLATE = '{locale}/maintenance-mode'

    locale = 'en-US'

    url = urljoin(base_url, uri.format(locale=locale))

    if method.lower() == 'get':
        # We do a get on the given URL but wait for the
        # maintenance-mode page to load via redirection.
        selenium.get(url)
        mm_page = BasePage(selenium, base_url, locale=locale)
        mm_page.URL_TEMPLATE = MM_URL_TEMPLATE
        mm_page.wait_for_page_to_load()
        mm_heading = mm_page.find_element(By.CSS_SELECTOR, HEADING_SELECTOR)
        assert mm_heading.is_displayed()
        assert HEADING_TEXT in mm_heading.text
        assert mm_page.is_maintenance_mode_banner_displayed
        assert not mm_page.header.is_signin_displayed
    else:
        request_method = getattr(requests, method.lower())
        resp = request_method(url, allow_redirects=True)
        # The final response should be a successful load of the
        # maintenance-mode page in the given locale.
        assert resp.status_code == 200
        assert resp.url == urljoin(base_url,
                                   MM_URL_TEMPLATE.format(locale=locale))
        pq = PyQuery(resp.text)
        assert HEADING_TEXT in pq(HEADING_SELECTOR).text()
        assert (BasePage.MM_BANNER_TEXT
                in pq(BasePage.MM_BANNER_SELECTOR).text())
        assert not pq.is_(BasePage.Header.SIGNIN_SELECTOR)
def test_redirect(base_url, selenium, method, uri):
    HEADING_TEXT = 'Maintenance Mode'
    HEADING_SELECTOR = '#content-main > h1'
    MM_URL_TEMPLATE = '{locale}/maintenance-mode'

    locale = 'en-US'

    url = urljoin(base_url, uri.format(locale=locale))

    if method.lower() == 'get':
        # We do a get on the given URL but wait for the
        # maintenance-mode page to load via redirection.
        selenium.get(url)
        mm_page = BasePage(selenium, base_url, locale=locale)
        mm_page.URL_TEMPLATE = MM_URL_TEMPLATE
        mm_page.wait_for_page_to_load()
        mm_heading = mm_page.find_element(By.CSS_SELECTOR, HEADING_SELECTOR)
        assert mm_heading.is_displayed()
        assert HEADING_TEXT in mm_heading.text
        assert mm_page.is_maintenance_mode_banner_displayed
        assert not mm_page.header.is_signin_displayed
    else:
        request_method = getattr(requests, method.lower())
        resp = request_method(url, allow_redirects=True)
        # The final response should be a successful load of the
        # maintenance-mode page in the given locale.
        assert resp.status_code == 200
        assert resp.url == urljoin(base_url,
                                   MM_URL_TEMPLATE.format(locale=locale))
        pq = PyQuery(resp.text)
        assert HEADING_TEXT in pq(HEADING_SELECTOR).text()
        assert (BasePage.MM_BANNER_TEXT in
                pq(BasePage.MM_BANNER_SELECTOR).text())
        assert not pq.is_(BasePage.Header.SIGNIN_SELECTOR)
def test_compare_revisions_in_mm(base_url, selenium):
    # Load the page that compares two revisions of a document.
    page = BasePage(selenium, base_url)
    page.URL_TEMPLATE = '/{locale}/docs/Web/CSS$history'
    page.open()
    compare_button = page.find_element(
        By.CSS_SELECTOR, ('div.revision-list-contain > form > '
                          'div.revision-list-controls > input.link-btn'))
    compare_button.click()
    # Check that we're not displaying the "Change Revisions" link.
    page = BasePage(selenium, base_url)
    page.URL_TEMPLATE = '/{locale}/docs/Web/CSS$compare'
    page.wait_for_page_to_load()
    assert not page.is_element_displayed(
        By.CSS_SELECTOR, '#compare-revisions a.change-revisions')
    assert page.is_maintenance_mode_banner_displayed
    assert not page.header.is_signin_displayed
Esempio n. 4
0
def test_compare_revisions_in_mm(base_url, selenium):
    # Load the page that compares two revisions of a document.
    page = BasePage(selenium, base_url)
    page.URL_TEMPLATE = '/{locale}/docs/Web/CSS$history'
    page.open()
    compare_button = page.find_element(
        By.CSS_SELECTOR,
        ('div.revision-list-contain > form > '
         'div.revision-list-controls > input.link-btn')
    )
    compare_button.click()
    # Check that we're not displaying the "Change Revisions" link.
    page = BasePage(selenium, base_url)
    page.URL_TEMPLATE = '/{locale}/docs/Web/CSS$compare'
    page.wait_for_page_to_load()
    assert not page.is_element_displayed(
        By.CSS_SELECTOR, '#compare-revisions a.change-revisions')
    assert page.is_maintenance_mode_banner_displayed
    assert not page.header.is_signin_displayed