GUI acceptance tests using environment deployed from packages.

Build: #2940 failed

Job: Multiprovider basic was successful

Stages & jobs

  1. Qnthack - copy quarantine

  2. Acceptance Test

  3. Qnthack - rerun

    Final

user sees file is not visible after its upload has been canceled[1oz 2op deployed]: Test case result

The below summarizes the result of the test " user sees file is not visible after its upload has been canceled[1oz 2op deployed]" in build 2,940 of Onedata Products - gui acceptance pkg - Multiprovider basic.
Description
user sees file is not visible after its upload has been canceled[1oz 2op deployed]
Test class
gui.scenarios.test_multiprovider_basic
Method
test_user_sees_file_is_not_visible_after_its_upload_has_been_canceled[1oz_2op_deployed]
Jira Issue
Duration
41 mins
Status
Failed (New Failure)

Error Log

AssertionError: There are 201 files in file browser when should be 200, file list: ['file0.txt', 'file1.txt', 'file10.txt', 'file100.txt', 'file101.txt', 'file102.txt', 'file103.txt', 'file104.txt', 'file105.txt', 'file106.txt', 'file107.txt', 'file108.txt', 'file109.txt', 'file11.txt', 'file110.txt', 'file111.txt', 'file112.txt', 'file113.txt', 'file114.txt', 'file115.txt', 'file116.txt', 'file117.txt', 'file118.txt', 'file119.txt', 'file12.txt', 'file120.txt', 'file121.txt', 'file122.txt', 'file123.txt', 'file124.txt', 'file125.txt', 'file126.txt', 'file127.txt', 'file128.txt', 'file129.txt', 'file13.txt', 'file130.txt', 'file131.txt', 'file132.txt', 'file133.txt', 'file134.txt', 'file135.txt', 'file136.txt', 'file137.txt', 'file138.txt', 'file139.txt', 'file14.txt', 'file140.txt', 'file141.txt', 'file142.txt', 'file143.txt', 'file144.txt', 'file145.txt', 'file146.txt', 'file147.txt', 'file148.txt', 'file149.txt', 'file15.txt', 'file150.txt', 'file151.txt', 'file152.txt', 'file153.txt', 'file154.txt', 'file155.txt', 'file156.txt', 'file157.txt', 'file158.txt', 'file159.txt', 'file16.txt', 'file160.txt', 'file161.txt', 'file162.txt', 'file163.txt', 'file164.txt', 'file165.txt', 'file166.txt', 'file167.txt', 'file168.txt', 'file169.txt', 'file17.txt', 'file170.txt', 'file171.txt', 'file172.txt', 'file173.txt', 'file174.txt', 'file175.txt', 'file176.txt', 'file177.txt', 'file178.txt', 'file179.txt', 'file18.txt', 'file180.txt', 'file181.txt', 'file182.txt', 'file183.txt', 'file184.txt', 'file185.txt', 'file186.txt', 'file187.txt', 'file188.txt', 'file189.txt', 'file19.txt', 'file190.txt', 'file191.txt', 'file192.txt', 'file193.txt', 'file194.txt', 'file195.txt', 'file196.txt', 'file197.txt', 'file198.txt', 'file199.txt', 'file2.txt', 'file20.txt', 'file21.txt', 'file22.txt', 'file23.txt', 'file24.txt', 'file25.txt', 'file26.txt', 'file27.txt', 'file28.txt', 'file29.txt', 'file3.txt', 'file30.txt', 'file31.txt', 'file32.txt', 'file33.txt', 'file34.txt', 'file35.txt', 'file36.txt', 'file37.txt', 'file38.txt', 'file39.txt', 'file4.txt', 'file40.txt', 'file41.txt', 'file42.txt', 'file43.txt', 'file44.txt', 'file45.txt', 'file46.txt', 'file47.txt', 'file48.txt', 'file49.txt', 'file5.txt', 'file50.txt', 'file51.txt', 'file52.txt', 'file53.txt', 'file54.txt', 'file55.txt', 'file56.txt', 'file57.txt', 'file58.txt', 'file59.txt', 'file6.txt', 'file60.txt', 'file61.txt', 'file62.txt', 'file63.txt', 'file64.txt', 'file65.txt', 'file66.txt', 'file67.txt', 'file68.txt', 'file69.txt', 'file7.txt', 'file70.txt', 'file71.txt', 'file72.txt', 'file73.txt', 'file74.txt', 'file75.txt', 'file76.txt', 'file77.txt', 'file78.txt', 'file79.txt', 'file8.txt', 'file80.txt', 'file81.txt', 'file82.txt', 'file83.txt', 'file84.txt', 'file85.txt', 'file86.txt', 'file87.txt', 'file88.txt', 'file89.txt', 'file9.txt', 'file90.txt', 'file91.txt', 'file92.txt', 'file93.txt', 'file94.txt', 'file95.txt', 'file96.txt', 'file97.txt', 'file98.txt', 'file99.txt', 'large_file.txt']
fixturefunc = <function count_files_while_scrolling at 0x7fb2a2ac2a20>
request = <FixtureRequest for <Function test_user_sees_file_is_not_visible_after_its_upload_has_been_canceled[1oz_2op_deployed]>>
kwargs = {'browser_id': 'browser', 'count': '200', 'tmp_memory': defaultdict(<class 'dict'>, {'browser': {'shares': {}, 'spaces...: {'modal': None}, 'file_browser': <tests.gui.utils.oneprovider.file_browser._FileBrowser object at 0x7fb2a25d3650>}})}

    def call_fixture_func(
        fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs
    ) -> FixtureValue:
        if is_generator(fixturefunc):
            fixturefunc = cast(
                Callable[..., Generator[FixtureValue, None, None]], fixturefunc
            )
            generator = fixturefunc(**kwargs)
            try:
                fixture_result = next(generator)
            except StopIteration:
                raise ValueError(f"{request.fixturename} did not yield a value") from None
            finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator)
            request.addfinalizer(finalizer)
        else:
            fixturefunc = cast(Callable[..., FixtureValue], fixturefunc)
>           fixture_result = fixturefunc(**kwargs)

/usr/local/lib/python3.12/dist-packages/_pytest/fixtures.py:913: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/utils/bdd_utils.py:78: in wrapper
    return fun(*ba.args, **ba.kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

browser_id = 'browser', count = 200
tmp_memory = defaultdict(<class 'dict'>, {'browser': {'shares': {}, 'spaces': {}, 'groups': {}, 'mailbox': {}, 'oz': {}, 'window': {'modal': None}, 'file_browser': <tests.gui.utils.oneprovider.file_browser._FileBrowser object at 0x7fb2a25d3650>}})

    @wt(
        parsers.parse(
            "user of {browser_id} scrolls to the bottom of file browser "
            "and sees there are {count} files"
        )
    )
    def count_files_while_scrolling(browser_id, count: int, tmp_memory):
        """
        In order to stabilize this function, func does not scroll too much at once
        to don`t omit any files
        Function assumes files` names don`t repeat
        """
    
        browser = tmp_memory[browser_id]["file_browser"]
        detected_files = []
        visible_files = browser.names_of_visible_elems()
        new_files = [f for f in visible_files if f]
        while new_files:
            detected_files.extend(new_files)
            # click some browser elem
            browser.click_header()
            # scroll about 5 files downs
            for _ in range(5):
                browser.scroll_one_file_down()
            # wait if page does not respond instantly
            for _ in range(10):
                try:
                    visible_files = browser.names_of_visible_elems()
                    break
                except StaleElementReferenceException:
                    time.sleep(0.1)
            new_files = [f for f in visible_files if f and f not in detected_files]
        err_msg = (
            f"There are {len(detected_files)} files in file browser "
            f"when should be {count}, file list: {detected_files}"
        )
>       assert len(detected_files) == count, err_msg
E       AssertionError: There are 201 files in file browser when should be 200, file list: ['file0.txt', 'file1.txt', 'file10.txt', 'file100.txt', 'file101.txt', 'file102.txt', 'file103.txt', 'file104.txt', 'file105.txt', 'file106.txt', 'file107.txt', 'file108.txt', 'file109.txt', 'file11.txt', 'file110.txt', 'file111.txt', 'file112.txt', 'file113.txt', 'file114.txt', 'file115.txt', 'file116.txt', 'file117.txt', 'file118.txt', 'file119.txt', 'file12.txt', 'file120.txt', 'file121.txt', 'file122.txt', 'file123.txt', 'file124.txt', 'file125.txt', 'file126.txt', 'file127.txt', 'file128.txt', 'file129.txt', 'file13.txt', 'file130.txt', 'file131.txt', 'file132.txt', 'file133.txt', 'file134.txt', 'file135.txt', 'file136.txt', 'file137.txt', 'file138.txt', 'file139.txt', 'file14.txt', 'file140.txt', 'file141.txt', 'file142.txt', 'file143.txt', 'file144.txt', 'file145.txt', 'file146.txt', 'file147.txt', 'file148.txt', 'file149.txt', 'file15.txt', 'file150.txt', 'file151.txt', 'file152.txt', 'file153.txt', 'file154.txt', 'file155.txt', 'file156.txt', 'file157.txt', 'file158.txt', 'file159.txt', 'file16.txt', 'file160.txt', 'file161.txt', 'file162.txt', 'file163.txt', 'file164.txt', 'file165.txt', 'file166.txt', 'file167.txt', 'file168.txt', 'file169.txt', 'file17.txt', 'file170.txt', 'file171.txt', 'file172.txt', 'file173.txt', 'file174.txt', 'file175.txt', 'file176.txt', 'file177.txt', 'file178.txt', 'file179.txt', 'file18.txt', 'file180.txt', 'file181.txt', 'file182.txt', 'file183.txt', 'file184.txt', 'file185.txt', 'file186.txt', 'file187.txt', 'file188.txt', 'file189.txt', 'file19.txt', 'file190.txt', 'file191.txt', 'file192.txt', 'file193.txt', 'file194.txt', 'file195.txt', 'file196.txt', 'file197.txt', 'file198.txt', 'file199.txt', 'file2.txt', 'file20.txt', 'file21.txt', 'file22.txt', 'file23.txt', 'file24.txt', 'file25.txt', 'file26.txt', 'file27.txt', 'file28.txt', 'file29.txt', 'file3.txt', 'file30.txt', 'file31.txt', 'file32.txt', 'file33.txt', 'file34.txt', 'file35.txt', 'file36.txt', 'file37.txt', 'file38.txt', 'file39.txt', 'file4.txt', 'file40.txt', 'file41.txt', 'file42.txt', 'file43.txt', 'file44.txt', 'file45.txt', 'file46.txt', 'file47.txt', 'file48.txt', 'file49.txt', 'file5.txt', 'file50.txt', 'file51.txt', 'file52.txt', 'file53.txt', 'file54.txt', 'file55.txt', 'file56.txt', 'file57.txt', 'file58.txt', 'file59.txt', 'file6.txt', 'file60.txt', 'file61.txt', 'file62.txt', 'file63.txt', 'file64.txt', 'file65.txt', 'file66.txt', 'file67.txt', 'file68.txt', 'file69.txt', 'file7.txt', 'file70.txt', 'file71.txt', 'file72.txt', 'file73.txt', 'file74.txt', 'file75.txt', 'file76.txt', 'file77.txt', 'file78.txt', 'file79.txt', 'file8.txt', 'file80.txt', 'file81.txt', 'file82.txt', 'file83.txt', 'file84.txt', 'file85.txt', 'file86.txt', 'file87.txt', 'file88.txt', 'file89.txt', 'file9.txt', 'file90.txt', 'file91.txt', 'file92.txt', 'file93.txt', 'file94.txt', 'file95.txt', 'file96.txt', 'file97.txt', 'file98.txt', 'file99.txt', 'large_file.txt']

tests/gui/steps/oneprovider/file_browser.py:443: AssertionError