Exemplo n.º 1
0
def assert_absence_of_path_in_dir_tree(selenium, browser_id, path, op_page):
    driver = selenium[browser_id]
    curr_dir = op_page(driver).data.sidebar.root_dir
    with pytest.raises(RuntimeError):
        for directory in (dir for dir in path.split('/') if dir != ''):
            with implicit_wait(driver, 0.05, SELENIUM_IMPLICIT_WAIT):
                curr_dir = curr_dir[directory]
Exemplo n.º 2
0
def record_providers_hostname_oz(selenium, browser_id, oz_page, tmp_memory,
                                 displays, clipboard):
    driver = selenium[browser_id]
    world_map = oz_page(driver)['world map']
    for provider_rec in oz_page(driver)['go to your files'].providers:
        provider_popup = None
        provider_rec_name = provider_rec.name
        provider_popup_name = ''
        now = time.time()

        # condition to prevent looping for eternity
        time_limit = now + 10
        while (provider_popup_name != provider_rec_name) and now < time_limit:
            provider_rec.click()
            with implicit_wait(driver, 0.1, SELENIUM_IMPLICIT_WAIT):
                provider_popup = world_map.get_provider_with_displayed_popup()
            provider_popup_name = provider_popup.name if provider_popup else ''
            now = time.time()
        if now > time and (provider_popup_name != provider_rec_name):
            raise RuntimeError('unable to get popup for '
                               '"{}" provider'.format(provider_rec_name))

        provider_popup.copy_hostname()

        prov_name = clipboard.paste(display=displays[browser_id])
        tmp_memory[provider_popup_name] = prov_name
Exemplo n.º 3
0
def record_providers_hostname_oz(selenium, browser_id, oz_page,
                                 tmp_memory, displays, clipboard):
    driver = selenium[browser_id]
    world_map = oz_page(driver)['world map']
    for provider_rec in oz_page(driver)['go to your files'].providers:
        provider_popup = None
        provider_rec_name = provider_rec.name
        provider_popup_name = ''
        now = time.time()

        # condition to prevent looping for eternity
        time_limit = now + 10
        while (provider_popup_name != provider_rec_name) and now < time_limit:
            provider_rec.click()
            with implicit_wait(driver, 0.1, SELENIUM_IMPLICIT_WAIT):
                provider_popup = world_map.get_provider_with_displayed_popup()
            provider_popup_name = provider_popup.name if provider_popup else ''
            now = time.time()
        if now > time and (provider_popup_name != provider_rec_name):
            raise RuntimeError('unable to get popup for '
                               '"{}" provider'.format(provider_rec_name))

        provider_popup.copy_hostname()

        prov_name = clipboard.paste(display=displays[browser_id])
        tmp_memory[provider_popup_name] = prov_name
Exemplo n.º 4
0
def assert_absence_of_path_in_dir_tree(selenium, browser_id, path, op_page):
    driver = selenium[browser_id]
    curr_dir = op_page(driver).data.sidebar.root_dir
    with pytest.raises(RuntimeError):
        for directory in (dir for dir in path.split('/') if dir != ''):
            with implicit_wait(driver, 0.05, SELENIUM_IMPLICIT_WAIT):
                curr_dir = curr_dir[directory]
Exemplo n.º 5
0
def create_and_record_access_token_for_cdmi(selenium, browser_id, oz_page,
                                            tmp_memory, displays, clipboard):
    driver = selenium[browser_id]
    panel = oz_page(driver)['access tokens']
    panel.expand()

    with implicit_wait(driver, 0.05, SELENIUM_IMPLICIT_WAIT):
        if panel.tokens.count() > 0:
            panel.tokens[0].copy()
        else:
            panel.create_new_access_token()
            now = time.time()
            time_limit = now + 10
            while now < time_limit:
                try:
                    panel.tokens[0].copy()
                except (RuntimeError, Exception) as ex:
                    print ex
                    now = time.time()
                else:
                    break
            else:
                raise RuntimeError("couldn't create and copy "
                                   "access token in oz")
    token = clipboard.paste(display=displays[browser_id])
    tmp_memory[browser_id]['access_token'] = token
Exemplo n.º 6
0
def assert_items_absence_in_file_browser(selenium, browser_id, item_list,
                                         tmp_memory):
    driver = selenium[browser_id]
    browser = tmp_memory[browser_id]['file_browser']
    with implicit_wait(driver, 0.1, SELENIUM_IMPLICIT_WAIT):
        for item_name in parse_seq(item_list):
            with pytest.raises(RuntimeError):
                _ = browser[item_name]
Exemplo n.º 7
0
def assert_items_absence_in_file_browser(selenium, browser_id, item_list,
                                         tmp_memory):
    driver = selenium[browser_id]
    browser = tmp_memory[browser_id]['file_browser']
    with implicit_wait(driver, 0.1, SELENIUM_IMPLICIT_WAIT):
        for item_name in parse_seq(item_list):
            with pytest.raises(RuntimeError):
                _ = browser[item_name]
Exemplo n.º 8
0
def assert_no_provider_popup_next_to_provider_circle(selenium, browser_id,
                                                     ordinal, oz_page):
    driver = selenium[browser_id]
    item = oz_page(driver)['world map'].providers[int(ordinal[:-2]) - 1]
    err_msg = 'provider popup for {} circle is displayed ' \
              'while it should not be'
    with implicit_wait(driver, 0.2, SELENIUM_IMPLICIT_WAIT):
        assert not item.is_displayed(), err_msg.format(ordinal)
Exemplo n.º 9
0
def unset_given_item_from_home_by_clicking_on_home_icon(
        selenium, browser_id, provider, oz_page):
    driver = selenium[browser_id]
    item = oz_page(driver)['go to your files'].providers[provider]
    err_msg = 'provider named "{}" is still set as home but it should not'
    with implicit_wait(driver, 0.2, SELENIUM_IMPLICIT_WAIT):
        item.unset_from_home()
        assert not item.is_home(), err_msg.format(provider)
Exemplo n.º 10
0
def assert_no_provider_popup_next_to_provider_circle(selenium, browser_id,
                                                     ordinal, oz_page):
    driver = selenium[browser_id]
    item = oz_page(driver)['world map'].providers[int(ordinal[:-2]) - 1]
    err_msg = 'provider popup for {} circle is displayed ' \
              'while it should not be'
    with implicit_wait(driver, 0.2, SELENIUM_IMPLICIT_WAIT):
        assert not item.is_displayed(), err_msg.format(ordinal)
Exemplo n.º 11
0
def set_given_item_as_home_by_clicking_on_home_outline(selenium, browser_id,
                                                       item_type, item_name,
                                                       oz_panel, oz_page):
    driver = selenium[browser_id]
    items = getattr(oz_page(driver)[oz_panel], '{}s'.format(item_type))
    item = items[item_name]
    with implicit_wait(driver, 0.2, SELENIUM_IMPLICIT_WAIT):
        item.set_as_home()
Exemplo n.º 12
0
def unset_given_item_from_home_by_clicking_on_home_icon(selenium, browser_id,
                                                        provider, oz_page):
    driver = selenium[browser_id]
    item = oz_page(driver)['go to your files'].providers[provider]
    err_msg = 'provider named "{}" is still set as home but it should not'
    with implicit_wait(driver, 0.2, SELENIUM_IMPLICIT_WAIT):
        item.unset_from_home()
        assert not item.is_home(), err_msg.format(provider)
Exemplo n.º 13
0
def assert_oz_access_tokens_list_has_num_tokens(selenium, browser_id, num,
                                                oz_page):
    driver = selenium[browser_id]
    with implicit_wait(driver, 0.1, SELENIUM_IMPLICIT_WAIT):
        displayed = oz_page(driver)['access tokens'].tokens.count()
        assert displayed == num, \
            'Displayed tokens in ACCESS TOKENS oz panel: {seen} ' \
            'instead of excepted: {excepted}'.format(seen=displayed,
                                                     excepted=num)
Exemplo n.º 14
0
def assert_there_is_no_item_named_in_oz_panel_list(selenium, browser_id,
                                                   item_type, item_name,
                                                   oz_panel, oz_page):
    driver = selenium[browser_id]
    with implicit_wait(driver, 0.1, SELENIUM_IMPLICIT_WAIT):
        items = getattr(oz_page(driver)[oz_panel], '{}s'.format(item_type))
        assert item_name not in items, \
            '{} named "{}" found in {} oz panel while it should not be ' \
            'found'.format(item_type, item_name, oz_panel)
Exemplo n.º 15
0
def assert_no_such_supporting_providers_for_space(selenium, browser_id, space,
                                                  providers_list, oz_page):
    driver = selenium[browser_id]
    space_rec = oz_page(driver)['data space management'].spaces[space]
    providers = space_rec.providers
    err_msg = 'space named "{}" has supporting provider named "{{}}" ' \
              'while it should not have'.format(space)
    with implicit_wait(driver, 0.5, SELENIUM_IMPLICIT_WAIT):
        for provider in parse_seq(providers_list):
            assert provider not in providers, err_msg.format(provider)
Exemplo n.º 16
0
def assert_empty_file_browser_in_data_tab_in_op(selenium, browser_id, op_page,
                                                tmp_memory):
    driver = selenium[browser_id]
    file_browser = op_page(driver).data.file_browser

    with implicit_wait(driver, 1, SELENIUM_IMPLICIT_WAIT):
        assert file_browser.is_empty(), 'file browser in data tab in op' \
                                        'should be empty but is not'

    tmp_memory[browser_id]['file_browser'] = file_browser
Exemplo n.º 17
0
def assert_empty_file_browser_in_data_tab_in_op(selenium, browser_id,
                                                op_page, tmp_memory):
    driver = selenium[browser_id]
    file_browser = op_page(driver).data.file_browser

    with implicit_wait(driver, 1, SELENIUM_IMPLICIT_WAIT):
        assert file_browser.is_empty(), 'file browser in data tab in op' \
                                        'should be empty but is not'

    tmp_memory[browser_id]['file_browser'] = file_browser
Exemplo n.º 18
0
def assert_no_such_supporting_providers_for_space(selenium, browser_id, space,
                                                  providers_list, oz_page):
    driver = selenium[browser_id]
    space_rec = oz_page(driver)['data space management'].spaces[space]
    providers = space_rec.providers
    err_msg = 'space named "{}" has supporting provider named "{{}}" ' \
              'while it should not have'.format(space)
    with implicit_wait(driver, 0.5, SELENIUM_IMPLICIT_WAIT):
        for provider in parse_seq(providers_list):
            assert provider not in providers, err_msg.format(provider)
Exemplo n.º 19
0
def _is_home_space(driver, space_name):
    spaces = driver.find_elements_by_css_selector('ul.spaces-list '
                                                  'li:not([class~="clickable"])')
    displayed_name = ''
    with implicit_wait(driver, 0.01, SELENIUM_IMPLICIT_WAIT):
        for space in spaces:
            try:
                space.find_element_by_css_selector('.oneicon-space-home')
            except NoSuchElementException:
                continue
            else:
                displayed_name = space.find_element_by_css_selector('.item-'
                                                                    'label')
    err_msg = 'home space is {} instead of {}'.format(displayed_name.text,
                                                      space_name)
    assert displayed_name.text == space_name, err_msg
Exemplo n.º 20
0
def _is_home_space(driver, space_name):
    spaces = driver.find_elements_by_css_selector(
        'ul.spaces-list '
        'li:not([class~="clickable"])')
    displayed_name = ''
    with implicit_wait(driver, 0.01, SELENIUM_IMPLICIT_WAIT):
        for space in spaces:
            try:
                space.find_element_by_css_selector('.oneicon-space-home')
            except NoSuchElementException:
                continue
            else:
                displayed_name = space.find_element_by_css_selector('.item-'
                                                                    'label')
    err_msg = 'home space is {} instead of {}'.format(displayed_name.text,
                                                      space_name)
    assert displayed_name.text == space_name, err_msg
Exemplo n.º 21
0
def assert_consistent_list_of_spaces_for_provider(selenium, browser_id,
                                                  provider, oz_page):
    driver = selenium[browser_id]
    prov_record = oz_page(driver)['go to your files'].providers[provider]
    prov_popup = oz_page(driver)['world map'].get_provider_with_displayed_popup()
    err_msg1 = 'Popup displayed for provider named "{}" ' \
               'instead of "{}"'
    err_msg2 = 'mismatch between provider popup ({name1}, {is_home1}) ' \
               'and provider record ({name2}, {is_home2}) ' \
               'in GO TO YOUR FILES panel in space list found'
    with implicit_wait(driver, 0.1, SELENIUM_IMPLICIT_WAIT):
        assert provider == prov_popup.name, err_msg1.format(prov_popup.name,
                                                            provider)

        for space1, space2 in itertools.izip(prov_popup.spaces,
                                             prov_record.spaces):
            name1, is_home1 = space1.name, space1.is_home()
            name2, is_home2 = space2.name, space2.is_home()
            assert (name1, is_home1) == (name2, is_home2), \
                err_msg2.format(name1=name1, is_home1=is_home1,
                                name2=name2, is_home2=is_home2)
Exemplo n.º 22
0
def assert_consistent_list_of_spaces_for_provider(selenium, browser_id,
                                                  provider, oz_page):
    driver = selenium[browser_id]
    prov_record = oz_page(driver)['go to your files'].providers[provider]
    prov_popup = oz_page(
        driver)['world map'].get_provider_with_displayed_popup()
    err_msg1 = 'Popup displayed for provider named "{}" ' \
               'instead of "{}"'
    err_msg2 = 'mismatch between provider popup ({name1}, {is_home1}) ' \
               'and provider record ({name2}, {is_home2}) ' \
               'in GO TO YOUR FILES panel in space list found'
    with implicit_wait(driver, 0.1, SELENIUM_IMPLICIT_WAIT):
        assert provider == prov_popup.name, err_msg1.format(
            prov_popup.name, provider)

        for space1, space2 in itertools.izip(prov_popup.spaces,
                                             prov_record.spaces):
            name1, is_home1 = space1.name, space1.is_home()
            name2, is_home2 = space2.name, space2.is_home()
            assert (name1, is_home1) == (name2, is_home2), \
                err_msg2.format(name1=name1, is_home1=is_home1,
                                name2=name2, is_home2=is_home2)
Exemplo n.º 23
0
def is_displayed_dir_tree_in_data_tab_in_op_correct(selenium, browser_id, path,
                                                    op_page):
    driver = selenium[browser_id]
    with implicit_wait(driver, 0.05, SELENIUM_IMPLICIT_WAIT):
        pwd = op_page(driver).data.sidebar.cwd.pwd()
    assert path == pwd, 'expected path {}\n got: {}'.format(path, pwd)
Exemplo n.º 24
0
def is_displayed_dir_tree_in_data_tab_in_op_correct(selenium, browser_id,
                                                    path, op_page):
    driver = selenium[browser_id]
    with implicit_wait(driver, 0.05, SELENIUM_IMPLICIT_WAIT):
        pwd = op_page(driver).data.sidebar.cwd.pwd()
    assert path == pwd, 'expected path {}\n got: {}'.format(path, pwd)