GUI acceptance tests using environment deployed from packages.

Build: #1459 failed

Job: Oneprovider ACL subdirectories failed

rename subdirectory[1oz 1op deployed-group-group1-succeeds-[data:list files, data:delete child, data:traverse directory, data:add subdirectory]]: Test case result

The below summarizes the result of the test " rename subdirectory[1oz 1op deployed-group-group1-succeeds-[data:list files, data:delete child, data:traverse directory, data:add subdirectory]]" in build 1,459 of Onedata Products - gui acceptance pkg - Chrome oneprovider ACL subdirectories.
Description
rename subdirectory[1oz 1op deployed-group-group1-succeeds-[data:list files, data:delete child, data:traverse directory, data:add subdirectory]]
Test class
gui.scenarios.test_oneprovider_acl_subdir
Method
test_rename_subdirectory[1oz_1op_deployed-group-group1-succeeds-[data:list files, data:delete child, data:traverse directory, data:add subdirectory]]
Duration
3 mins
Status
Failed (New Failure)

Error Log

RuntimeError: no "dir2" found in file browser in Oneprovider page
selenium = {'browser_user1': <selenium.webdriver.chrome.webdriver.WebDriver (session="bb0bbeed3d743c887af4e1aae78a6a61")>, 'space...4acda5787d2f")>, 'user1': <selenium.webdriver.chrome.webdriver.WebDriver (session="bb0bbeed3d743c887af4e1aae78a6a61")>}
browser_id = 'browser_user1', path = 'dir1/dir2', space = 'space1'
tmp_memory = defaultdict(<class 'dict'>, {'user1': {'shares': {}, 'spaces': {}, 'groups': {}, 'mailbox': {}, 'oz': {}, 'window': {'...4-190c2cfebed9")>}, 'file_browser': <tests.gui.utils.oneprovider.file_browser._FileBrowser object at 0x7f1420d01358>}})
oz_page = <class 'tests.gui.utils.onezone.OZLoggedIn'>
op_container = <class 'tests.gui.utils.oneprovider.OPLoggedIn'>

    def _click_menu_for_elem_somewhere_in_file_browser(selenium, browser_id, path,
                                                       space, tmp_memory, oz_page,
                                                       op_container):
        item_name, _ = get_item_name_and_containing_dir_path(path)
    
        try:
>           go_to_path_without_last_elem(browser_id, tmp_memory, path)

tests/gui/meta_steps/oneprovider/data.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

browser_id = 'browser_user1'
tmp_memory = defaultdict(<class 'dict'>, {'user1': {'shares': {}, 'spaces': {}, 'groups': {}, 'mailbox': {}, 'oz': {}, 'window': {'...4-190c2cfebed9")>}, 'file_browser': <tests.gui.utils.oneprovider.file_browser._FileBrowser object at 0x7f1420d01358>}})
path = 'dir1/dir2'

    def go_to_path_without_last_elem(browser_id, tmp_memory, path):
        if '/' in path:
            _, path_list = get_item_name_and_containing_dir_path(path)
            for directory in path_list:
                double_click_on_item_in_file_browser(browser_id, directory,
>                                                    tmp_memory)

tests/gui/meta_steps/oneprovider/data.py:373: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

args = ('browser_user1', 'dir1', defaultdict(<class 'dict'>, {'user1': {'shares': {}, 'spaces': {}, 'groups': {}, 'mailbox': ...-190c2cfebed9")>}, 'file_browser': <tests.gui.utils.oneprovider.file_browser._FileBrowser object at 0x7f1420d01358>}}))
kwargs = {}
ba = <BoundArguments (browser_id='browser_user1', item_name='dir1', tmp_memory=defaultdict(<class 'dict'>, {'user1': {'shar...190c2cfebed9")>}, 'file_browser': <tests.gui.utils.oneprovider.file_browser._FileBrowser object at 0x7f1420d01358>}}))>
param = <Parameter "tmp_memory">, ann = <class 'inspect._empty'>

    @wraps(fun)
    def wrapper(*args, **kwargs):
        ba = sig.bind(*args, **kwargs)
        ba.apply_defaults()
    
        for param in parameters.values():
            ann = param.annotation
            if ann is not inspect.Parameter.empty:
                value = ba.arguments[param.name]
                try:
                    if not isinstance(value, ann):
                        ba.arguments[param.name] = ann(value)
                except Exception as ex:
                    msg = f"Cannot cast '{param.name}' <{value}> to {ann}"
                    raise ValueError(msg) from ex
    
>       return fun(*ba.args, **ba.kwargs)

tests/utils/bdd_utils.py:77: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

browser_id = 'browser_user1', item_name = 'dir1'
tmp_memory = defaultdict(<class 'dict'>, {'user1': {'shares': {}, 'spaces': {}, 'groups': {}, 'mailbox': {}, 'oz': {}, 'window': {'...4-190c2cfebed9")>}, 'file_browser': <tests.gui.utils.oneprovider.file_browser._FileBrowser object at 0x7f1420d01358>}})

>   ???

<decorator-gen-523>:2: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

fun = <function double_click_on_item_in_file_browser at 0x7f1421e418c8>
args = ('browser_user1', 'dir1', defaultdict(<class 'dict'>, {'user1': {'shares': {}, 'spaces': {}, 'groups': {}, 'mailbox': ...-190c2cfebed9")>}, 'file_browser': <tests.gui.utils.oneprovider.file_browser._FileBrowser object at 0x7f1420d01358>}}))
kwargs = {}, now = 1618915181.9622252, limit = 1618915185.9622252
i = 1618915186.006047

    @decorator
    def wrapper(fun, *args, **kwargs):
        now = time()
        limit, i = (now + timeout, now) if timeout else (attempts, 0)
    
        while i < limit:
            try:
                result = fun(*args, **kwargs)
            except exceptions:
                sleep(interval)
                i = time() if timeout else i+1
                continue
            else:
                return result
>       return fun(*args, **kwargs)

tests/utils/utils.py:90: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

browser_id = 'browser_user1', item_name = 'dir1'
tmp_memory = defaultdict(<class 'dict'>, {'user1': {'shares': {}, 'spaces': {}, 'groups': {}, 'mailbox': {}, 'oz': {}, 'window': {'...4-190c2cfebed9")>}, 'file_browser': <tests.gui.utils.oneprovider.file_browser._FileBrowser object at 0x7f1420d01358>}})

    @wt(parsers.parse('user of {browser_id} double clicks on item '
                      'named "{item_name}" in file browser'))
    @repeat_failed(timeout=WAIT_FRONTEND)
    def double_click_on_item_in_file_browser(browser_id, item_name, tmp_memory):
>       browser = tmp_memory[browser_id]['file_browser']
E       KeyError: 'file_browser'

tests/gui/steps/oneprovider/file_browser.py:193: KeyError

During handling of the above exception, another exception occurred:

request = <FixtureRequest for <Function 'test_rename_subdirectory[1oz_1op_deployed-group-group1-succeeds-[data:list files, data:delete child, data:traverse directory, data:add subdirectory]]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.6/dist-packages/pytest_bdd/scenario.py:227: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.6/dist-packages/pytest_bdd/scenario.py:189: in _execute_scenario
    _execute_step_function(request, scenario, step, step_func)
/usr/local/lib/python3.6/dist-packages/pytest_bdd/scenario.py:130: in _execute_step_function
    step_func(**kwargs)
tests/utils/bdd_utils.py:77: in wrapper
    return fun(*ba.args, **ba.kwargs)
tests/gui/meta_steps/oneprovider/data.py:58: in rename_item
    op_container)
tests/gui/meta_steps/oneprovider/data.py:404: in open_modal_for_file_browser_item
    op_container)
tests/gui/meta_steps/oneprovider/data.py:42: in _click_menu_for_elem_somewhere_in_file_browser
    click_menu_for_elem_in_file_browser(browser_id, item_name, tmp_memory)
tests/utils/bdd_utils.py:77: in wrapper
    return fun(*ba.args, **ba.kwargs)
tests/utils/bdd_utils.py:77: in wrapper
    return fun(*ba.args, **ba.kwargs)
<decorator-gen-547>:2: in click_menu_for_elem_in_file_browser
    ???
tests/utils/utils.py:90: in wrapper
    return fun(*args, **kwargs)
tests/gui/steps/oneprovider/file_browser.py:349: in click_menu_for_elem_in_file_browser
    browser.data[item_name].menu_button()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.gui.utils.core.web_objects.PageObjectsSequence object at 0x7f1420d56c50>
sel = 'dir2'

    def __getitem__(self, sel):
        if isinstance(sel, int):
            item = self._getitem_by_idx(sel)
            if item:
                return self.cls(self.driver, item, self.parent)
            else:
                raise RuntimeError('Index out of bound. Requested item at '
                                   '{idx} while limit is {limit} in '
                                   '{parent}'.format(idx=sel, limit=len(self),
                                                     parent=self.parent))
        elif isinstance(sel, str):
            item = self._getitem_by_id(sel)
            if item:
                return item
            else:
                raise RuntimeError('no "{id}" found in '
                                   '{parent}'.format(id=sel,
>                                                    parent=self.parent))
E               RuntimeError: no "dir2" found in file browser in Oneprovider page

tests/gui/utils/core/web_objects.py:85: RuntimeError