owncloud / web

:dragon_face: Next generation frontend for ownCloud Infinite Scale
https://owncloud.dev/clients/web/
GNU Affero General Public License v3.0
443 stars 157 forks source link

Flaky e2e tests #8648

Closed kobergj closed 1 year ago

kobergj commented 1 year ago

Sorry if I duplicate, but I couldn't find another ticket for flaky e2e tests. During web bump to v7.0.0-rc.22 the following two tests were failing. Both were failing once and got green on a retry

1 - tests/e2e/cucumber/features/smoke/share.ocis.feature:9 Test times out while trying to share an item through the side panel https://drone.owncloud.com/owncloud/ocis/20537/86/9

Test log ```feature Feature: share # tests/e2e/cucumber/features/smoke/share.ocis.feature:1 Scenario: folder # tests/e2e/cucumber/features/smoke/share.ocis.feature:9 Given "Admin" creates following users │ id │ │ Alice │ │ Brian │ Given "Alice" creates the following folder in personal space using API │ name │ │ folder_to_shared │ │ folder_to_customShared │ │ shared_folder │ And "Alice" logs in And "Alice" opens the "files" app And "Alice" uploads the following resource │ resource │ to │ │ lorem.txt │ folder_to_shared │ │ lorem-big.txt │ folder_to_customShared │ When "Alice" shares the following resource using the sidebar panel │ resource │ recipient │ type │ role │ resourceType │ │ folder_to_shared │ Brian │ user │ editor │ folder │ │ shared_folder │ Brian │ user │ editor │ folder │ │ folder_to_customShared │ Brian │ user │ custom_permissions:read,create,delete │ folder │ And "Brian" logs in And "Brian" opens the "files" app And "Brian" navigates to the shared with me page And "Brian" accepts the following share │ name │ │ folder_to_shared │ │ folder_to_customShared │ And "Brian" declines the following share │ name │ │ shared_folder │ Then "Brian" should not be able to open the folder "shared_folder" When "Brian" accepts the following share from the context menu │ name │ │ shared_folder │ And "Brian" copies quick link of the resource "shared_folder" from the context menu And "Brian" declines the following share from the context menu │ name │ │ shared_folder │ And "Brian" renames the following resource │ resource │ as │ │ folder_to_shared/lorem.txt │ lorem_new.txt │ And "Brian" uploads the following resource │ resource │ to │ │ simple.pdf │ folder_to_shared │ │ testavatar.jpeg │ folder_to_customShared │ When "Brian" deletes the following resources using the sidebar panel │ resource │ from │ │ lorem-big.txt │ folder_to_customShared │ ✖ failed page.waitForResponse: Timeout 30000ms exceeded while waiting for event "response" at clickResource (/drone/src/webTestRunner/tests/e2e/support/objects/app-files/resource/actions.ts:70:18) at deleteResource (/drone/src/webTestRunner/tests/e2e/support/objects/app-files/resource/actions.ts:375:17) at Resource.delete (/drone/src/webTestRunner/tests/e2e/support/objects/app-files/resource/index.ts:57:9) at processDelete (/drone/src/webTestRunner/tests/e2e/cucumber/steps/ui/resources.ts:196:9) at World. (/drone/src/webTestRunner/tests/e2e/cucumber/steps/ui/resources.ts:38:5) And "Alice" opens the "files" app - skipped And "Alice" uploads the following resource │ resource │ to │ option │ │ PARENT/simple.pdf │ folder_to_shared │ replace │ - skipped And "Brian" downloads old version of the following resource │ resource │ to │ │ simple.pdf │ folder_to_shared │ - skipped And "Brian" restores following resources │ resource │ to │ version │ │ simple.pdf │ folder_to_shared │ 1 │ - skipped And "Alice" removes following sharee │ resource │ recipient │ │ folder_to_customShared │ Brian │ - skipped When "Alice" deletes the following resources using the sidebar panel │ resource │ from │ │ lorem_new.txt │ folder_to_shared │ │ folder_to_shared │ │ - skipped And "Alice" logs out - skipped Then "Brian" should not be able to see the following shares │ resource │ owner │ │ folder_to_customShared │ Alice Hansen │ │ folder_to_shared │ Alice Hansen │ - skipped And "Brian" logs out - skipped ```

2 - tests/e2e/cucumber/features/smoke/spaces/project.ocis.feature:3 User unable to log in https://drone.owncloud.com/owncloud/ocis/20540/86/9

Two types of error while logging in

Test log ```feature Scenario: unstructured collection of testable space interactions, # tests/e2e/cucumber/features/smoke/spaces/project.ocis.feature:3 .... And "Alice" uploads the following resources │ resource │ to │ │ lorem.txt │ folderPublic │ And "Alice" creates a public link for the resource "folderPublic" using the sidebar panel And "Alice" renames the most recently created public link of resource "folderPublic" to "team.2" And "Alice" edits the public link named "team.2" of resource "folderPublic" changing role to "uploader" And "Alice" sets the expiration date of the public link named "team.2" of resource "folderPublic" to "+5 days" And "Alice" sets the password of the public link named "team.2" of resource "folderPublic" to "54321" When "Anonymous" opens the public link "team.1" And "Anonymous" unlocks the public link with password "12345" And "Anonymous" drop uploads following resources │ resource │ │ textfile.txt │ And "Brian" logs in ✖ failed locator.fill: Timeout 30000ms exceeded. =========================== logs =========================== waiting for locator('#oc-login-username') ============================================================ at Ocis.login (/drone/src/webTestRunner/tests/e2e/support/objects/runtime/session.ts:12:56) at Session.login (/drone/src/webTestRunner/tests/e2e/support/objects/runtime/session.ts:43:29) at World.LogInUser (/drone/src/webTestRunner/tests/e2e/cucumber/steps/ui/session.ts:20:25) ``` ```feature Feature: spaces public link # tests/e2e/cucumber/features/smoke/spaces/publicLink.ocis.feature:1 Scenario: public link for space # tests/e2e/cucumber/features/smoke/spaces/publicLink.ocis.feature:3 Given "Admin" creates following users │ id │ │ Alice │ │ Brian │ │ Carol │ │ Marie │ And "Admin" assigns following roles to the users using API │ id │ role │ │ Alice │ Space Admin │ And "Alice" creates the following project space using API │ name │ id │ │ team │ team.1 │ When "Alice" logs in ✖ failed page.goto: Timeout 30000ms exceeded. =========================== logs =========================== navigating to "https://ocis-server:9200/", waiting until "load" ============================================================ at World.LogInUser (/drone/src/webTestRunner/tests/e2e/cucumber/steps/ui/session.ts:19:16) And "Alice" navigates to the projects space page - skipped ```

cc @individual-it

SwikritiT commented 1 year ago

The login one should have been fixed by https://github.com/owncloud/web/pull/8631, I don't see those errors in web these days maybe the fix commit hasn't been bumped in ocis?

ScharfViktor commented 1 year ago

:hammer_and_wrench: :heavy_check_mark: 1 - need check that all DELETE/POST (delete user from group/add users to group) requests are OKAY

https://drone.owncloud.com/owncloud/ocis/20666/66/10

npx playwright show-trace https://cache.owncloud.com/public/owncloud/ocis/20666/tracing/user-group-assignments-can-be-handled-via-batch-actions-admin-2023-3-22-09-42-00.zip

Test log Screenshot 2023-03-22 at 12 44 08 ``` Scenario: user group assignments can be handled via batch actions # tests/e2e/cucumber/features/smoke/admin-settings/users.ocis.feature:45 Given "Admin" creates following users │ id │ │ Alice │ │ Brian │ │ Carol │ And "Admin" creates following groups using API │ id │ │ sales │ │ finance │ When "Admin" logs in And "Admin" opens the "admin-settings" app And "Admin" navigates to the users management page And "Admin" adds the following users to the groups "sales department,finance department" using the batch actions │ user │ │ Alice │ │ Brian │ │ Carol │ When "Admin" sets the following filter │ filter │ values │ │ groups │ sales department,finance department │ Then "Admin" should see the following users │ user │ │ Alice │ │ Brian │ │ Carol │ And "Admin" removes the following users from the groups "sales department,finance department" using the batch actions │ user │ │ Alice │ │ Brian │ When "Admin" reloads the page Then "Admin" should see the following users │ user │ │ Carol │ And "Admin" should not see the following users │ user │ │ Alice │ │ Brian │ ✖ failed Error: expect(received).not.toContain(expected) // indexOf Expected value: not "b24822a7-855c-4fac-8e84-7b16dd15096c" Received array: [null, "b24822a7-855c-4fac-8e84-7b16dd15096c", "bdd56985-c5ea-49ef-860a-799ac2a7bd6c", null] at Proxy. (/drone/src/webTestRunner/node_modules/.pnpm/@playwright+test@1.29.1/node_modules/@playwright/test/lib/expect.js:130:37) at World. (/drone/src/webTestRunner/tests/e2e/cucumber/steps/ui/adminSettings.ts:150:47) And "Admin" logs out - skipped ```

Fix: https://github.com/owncloud/web/pull/8697

ScharfViktor commented 1 year ago

:hammer_and_wrench: :heavy_check_mark: 3 - For whatever reason, readmi.md didn't create during the creating space.

test fails when tries to edit description (no readmi file no button on the web)

Screenshot ![Screenshot 2023-03-22 at 12 09 27](https://user-images.githubusercontent.com/84779829/226899678-782717d1-d33b-4028-b75d-28bf8b3c6f26.png)

Check that during creating space we have responses:

Fix: https://github.com/owncloud/web/pull/8693

ScharfViktor commented 1 year ago

:hammer_and_wrench: :heavy_check_mark: 3 - npx playwright show-trace https://cache.owncloud.c/public/owncloud/ocis/20666/tracing/multiple-spaces-can-be-managed-at-once-in-the-admin-settings-via-the-batch-actions-alice-2023-3-22-09-40-44.zip

const count = await result.count() gets 7 items (expect 2) and fails when

Screenshots Screenshot 2023-03-22 at 13 17 46 image

Fix: https://github.com/owncloud/web/pull/8687

saw-jan commented 1 year ago

:hammer_and_wrench: :heavy_check_mark: Test: tests/e2e/cucumber/features/smoke/admin-settings/spaces.ocis.feature:39 Scenario: Scenario: multiple spaces can be managed at once in the admin settings via the batch actions Error:

✖ Then "Alice" should not see the following spaces # tests/e2e/cucumber/steps/ui/adminSettings.ts:11
       | id     |
       | team.a |
       | team.b |
       | team.c |
       | team.d |
       locator.getAttribute: Timeout 30000ms exceeded.
       =========================== logs ===========================
       waiting for locator('tr').nth(3)
       ============================================================
           at getDisplayedSpaces (/drone/src/webTestRunner/tests/e2e/support/objects/app-admin-settings/spaces/actions.ts:23:41)
           at World.<anonymous> (/drone/src/webTestRunner/tests/e2e/cucumber/steps/ui/adminSettings.ts:14:24)
Full log ```bash Scenario: multiple spaces can be managed at once in the admin settings via the batch actions (attempt 2) # tests/e2e/cucumber/features/smoke/admin-settings/spaces.ocis.feature:39 ✔ Before # tests/e2e/cucumber/environment/index.ts:36 ✔ Given "Admin" creates following users # tests/e2e/cucumber/steps/api.ts:10 | id | | Alice | ✔ And "Admin" assigns following roles to the users using API # tests/e2e/cucumber/steps/api.ts:24 | id | role | | Alice | Space Admin | ✔ And "Alice" creates the following project spaces using API # tests/e2e/cucumber/steps/api.ts:125 | name | id | | team A | team.a | | team B | team.b | | team C | team.c | | team D | team.d | ✔ When "Alice" logs in # tests/e2e/cucumber/steps/ui/session.ts:24 ✔ And "Alice" opens the "admin-settings" app # tests/e2e/cucumber/steps/ui/application.ts:6 ✔ And "Alice" navigates to the project spaces management page # tests/e2e/cucumber/steps/ui/adminSettings.ts:6 ✔ And "Alice" disables the following spaces using the batch-actions # tests/e2e/cucumber/steps/ui/adminSettings.ts:72 | id | | team.a | | team.b | | team.c | | team.d | ✔ And "Alice" enables the following spaces using the batch-actions # tests/e2e/cucumber/steps/ui/adminSettings.ts:72 | id | | team.a | | team.b | | team.c | | team.d | ✔ And "Alice" updates quota of the following spaces to "50" using the batch-actions # tests/e2e/cucumber/steps/ui/adminSettings.ts:60 | id | | team.a | | team.b | | team.c | | team.d | ✔ And "Alice" disables the following spaces using the batch-actions # tests/e2e/cucumber/steps/ui/adminSettings.ts:72 | id | | team.a | | team.b | | team.c | | team.d | ✔ And "Alice" deletes the following spaces using the batch-actions # tests/e2e/cucumber/steps/ui/adminSettings.ts:72 | id | | team.a | | team.b | | team.c | | team.d | ✖ Then "Alice" should not see the following spaces # tests/e2e/cucumber/steps/ui/adminSettings.ts:11 | id | | team.a | | team.b | | team.c | | team.d | locator.getAttribute: Timeout 30000ms exceeded. =========================== logs =========================== waiting for locator('tr').nth(3) ============================================================ at getDisplayedSpaces (/drone/src/webTestRunner/tests/e2e/support/objects/app-admin-settings/spaces/actions.ts:23:41) at World. (/drone/src/webTestRunner/tests/e2e/cucumber/steps/ui/adminSettings.ts:14:24) - And "Alice" logs out # tests/e2e/cucumber/steps/ui/session.ts:33 ✔ After # tests/e2e/cucumber/environment/index.ts:83 ```

Speculated cause: Race condition (performing other checks before batch action completion) Fix: https://github.com/owncloud/web/pull/8687

Same as https://github.com/owncloud/web/issues/8648#issuecomment-1479479714

ScharfViktor commented 1 year ago

✔ And "Alice" deletes the following spaces using the batch-actions # tests/e2e/cucumber/steps/ui/adminSettings.ts:72 | id | | team.a | | team.b | | team.c | | team.d |

I think if we set waitForResponse for each deleting space next step will be work

✖ Then "Alice" should not see the following spaces # tests/e2e/cucumber/steps/ui/adminSettings.ts:11 | id | | team.a | | team.b | | team.c | | team.d |

saw-jan commented 1 year ago

yeah, we do have waitForResponse but I think that checks only one space-id during batch action deletion. I will look if we can somehow check for all the spaces. Thanks!

ScharfViktor commented 1 year ago
Clipboard - March 23, 2023 12_36 PM
saw-jan commented 1 year ago

:hammer_and_wrench: :heavy_check_mark: Test: tests/e2e/cucumber/features/smoke/admin-settings/users.ocis.feature:3 Scenario: Scenario: user login can be managed in the admin settings Error:

✖ Then "Alice" fails to log in # tests/e2e/cucumber/steps/ui/session.ts:34
       locator.fill: Timeout 30000ms exceeded.
       =========================== logs ===========================
       waiting for locator('#oc-login-username')
       ============================================================
           at Ocis.login (/var/www/owncloud/web/tests/e2e/support/objects/runtime/session.ts:12:56)
           at Session.login (/var/www/owncloud/web/tests/e2e/support/objects/runtime/session.ts:43:29)
           at World.<anonymous> (/var/www/owncloud/web/tests/e2e/cucumber/steps/ui/session.ts:39:25)
Full log ```bash Scenario: user login can be managed in the admin settings (attempt 1, retried) # tests/e2e/cucumber/features/smoke/admin-settings/users.ocis.feature:3 ✔ Before # tests/e2e/cucumber/environment/index.ts:36 ✔ Given "Admin" creates following user using API # tests/e2e/cucumber/steps/api.ts:10 | id | | Alice | ✔ When "Admin" logs in # tests/e2e/cucumber/steps/ui/session.ts:24 ✔ And "Admin" opens the "admin-settings" app # tests/e2e/cucumber/steps/ui/application.ts:6 ✔ And "Admin" navigates to the users management page # tests/e2e/cucumber/steps/ui/adminSettings.ts:96 ✔ And "Admin" forbids the login for the following user "Alice" using the sidebar panel # tests/e2e/cucumber/steps/ui/adminSettings.ts:101 ✔ And "Admin" logs out # tests/e2e/cucumber/steps/ui/session.ts:33 ✖ Then "Alice" fails to log in # tests/e2e/cucumber/steps/ui/session.ts:34 locator.fill: Timeout 30000ms exceeded. =========================== logs =========================== waiting for locator('#oc-login-username') ============================================================ at Ocis.login (/var/www/owncloud/web/tests/e2e/support/objects/runtime/session.ts:12:56) at Session.login (/var/www/owncloud/web/tests/e2e/support/objects/runtime/session.ts:43:29) at World. (/var/www/owncloud/web/tests/e2e/cucumber/steps/ui/session.ts:39:25) - When "Admin" logs in # tests/e2e/cucumber/steps/ui/session.ts:24 - And "Admin" opens the "admin-settings" app # tests/e2e/cucumber/steps/ui/application.ts:6 - And "Admin" navigates to the users management page # tests/e2e/cucumber/steps/ui/adminSettings.ts:96 - And "Admin" allows the login for the following user "Alice" using the sidebar panel # tests/e2e/cucumber/steps/ui/adminSettings.ts:101 - And "Admin" logs out # tests/e2e/cucumber/steps/ui/session.ts:33 - Then "Alice" logs in # tests/e2e/cucumber/steps/ui/session.ts:24 - And "Alice" logs out # tests/e2e/cucumber/steps/ui/session.ts:33 ✔ After # tests/e2e/cucumber/environment/index.ts:83 ```

Cause: user session not closed properly (user not logged out) Always fails after tests/e2e/cucumber/features/smoke/admin-settings/spaces.ocis.feature:94 because the scenario doesn't logout the user. User sessions should be properly managed with https://github.com/owncloud/web/issues/8662

Fix: https://github.com/owncloud/web/pull/8723

saw-jan commented 1 year ago

:hammer_and_wrench: :heavy_check_mark: Test: tests/e2e/cucumber/features/smoke/tiles.feature:6 Scenario: Scenario: Users can navigate web via tiles Error:

✖ And "Alice" sees the resources displayed as tiles # tests/e2e/cucumber/steps/ui/resources.ts:174
       Error: expect(received).toBe(expected) // Object.is equality
       Expected: true
       Received: false
           at Proxy.<anonymous> (/var/www/owncloud/web/node_modules/.pnpm/@playwright+test@1.29.1/node_modules/@playwright/test/lib/expect.js:130:37)
           at World.<anonymous> (/var/www/owncloud/web/tests/e2e/cucumber/steps/ui/resources.ts:178:35)
Full log ```bash Scenario: Users can navigate web via tiles (attempt 1, retried) # tests/e2e/cucumber/features/smoke/tiles.feature:6 ✔ Before # tests/e2e/cucumber/environment/index.ts:36 ✔ Given "Admin" creates following user using API # tests/e2e/cucumber/steps/api.ts:10 | id | | Alice | ✔ And "Alice" logs in # tests/e2e/cucumber/steps/ui/session.ts:24 ✔ And "Alice" opens the "files" app # tests/e2e/cucumber/steps/ui/application.ts:6 ✔ And "Alice" creates the following resources # tests/e2e/cucumber/steps/ui/resources.ts:12 | resource | type | | tile_folder | folder | ✔ And "Alice" switches to the tiles-view # tests/e2e/cucumber/steps/ui/resources.ts:169 ✖ And "Alice" sees the resources displayed as tiles # tests/e2e/cucumber/steps/ui/resources.ts:174 Error: expect(received).toBe(expected) // Object.is equality Expected: true Received: false at Proxy. (/var/www/owncloud/web/node_modules/.pnpm/@playwright+test@1.29.1/node_modules/@playwright/test/lib/expect.js:130:37) at World. (/var/www/owncloud/web/tests/e2e/cucumber/steps/ui/resources.ts:178:35) - And "Alice" logs out # tests/e2e/cucumber/steps/ui/session.ts:33 ✔ After # tests/e2e/cucumber/environment/index.ts:83 ```

Speculated cause: Fix: #8709

saw-jan commented 1 year ago

:hammer_and_wrench: :heavy_check_mark: Test: tests/e2e/cucumber/features/smoke/spaces/memberExpiry.ocis.feature:4 Scenario: Scenario: space members can be invited with an expiration date Error:

✖ And "Alice" sets the expiration date of the member "Brian" of the project space to "+5 days" # tests/e2e/cucumber/steps/ui/spaces.ts:133
       locator.waitFor: Timeout 30000ms exceeded.
       =========================== logs ===========================
       waiting for locator('xpath=//*[@data-testid="collaborator-user-item-brian"]') to be visible
       ============================================================
           at Function.setExpirationDateForCollaborator (/var/www/owncloud/web/tests/e2e/support/objects/app-files/share/collaborator.ts:150:45)
           at addExpirationDateToMember (/var/www/owncloud/web/tests/e2e/support/objects/app-files/spaces/actions.ts:201:34)
           at Spaces.addExpirationDate (/var/www/owncloud/web/tests/e2e/support/objects/app-files/spaces/index.ts:76:9)
           at World.<anonymous> (/var/www/owncloud/web/tests/e2e/cucumber/steps/ui/spaces.ts:137:5)
Full log ```bash Scenario: space members can be invited with an expiration date (attempt 1, retried) # tests/e2e/cucumber/features/smoke/spaces/memberExpiry.ocis.feature:4 ✔ Before # tests/e2e/cucumber/environment/index.ts:36 ✔ Given "Admin" creates following users using API # tests/e2e/cucumber/steps/api.ts:10 | id | | Alice | | Brian | ✔ And "Admin" assigns following roles to the users using API # tests/e2e/cucumber/steps/api.ts:24 | id | role | | Alice | Space Admin | ✔ And "Alice" creates the following project space using API # tests/e2e/cucumber/steps/api.ts:125 | name | id | | team | team.1 | ✔ When "Alice" logs in # tests/e2e/cucumber/steps/ui/session.ts:24 ✔ And "Alice" opens the "files" app # tests/e2e/cucumber/steps/ui/application.ts:6 ✔ And "Alice" navigates to the projects space page # tests/e2e/cucumber/steps/ui/spaces.ts:11 ✔ And "Alice" navigates to the project space "team.1" # tests/e2e/cucumber/steps/ui/spaces.ts:23 ✔ And "Alice" adds following users to the project space # tests/e2e/cucumber/steps/ui/spaces.ts:54 | user | role | kind | | Brian | editor | user | ✖ And "Alice" sets the expiration date of the member "Brian" of the project space to "+5 days" # tests/e2e/cucumber/steps/ui/spaces.ts:133 locator.waitFor: Timeout 30000ms exceeded. =========================== logs =========================== waiting for locator('xpath=//*[@data-testid="collaborator-user-item-brian"]') to be visible ============================================================ at Function.setExpirationDateForCollaborator (/var/www/owncloud/web/tests/e2e/support/objects/app-files/share/collaborator.ts:150:45) at addExpirationDateToMember (/var/www/owncloud/web/tests/e2e/support/objects/app-files/spaces/actions.ts:201:34) at Spaces.addExpirationDate (/var/www/owncloud/web/tests/e2e/support/objects/app-files/spaces/index.ts:76:9) at World. (/var/www/owncloud/web/tests/e2e/cucumber/steps/ui/spaces.ts:137:5) - When "Brian" logs in # tests/e2e/cucumber/steps/ui/session.ts:24 - And "Brian" navigates to the projects space page # tests/e2e/cucumber/steps/ui/spaces.ts:11 - And "Brian" navigates to the project space "team.1" # tests/e2e/cucumber/steps/ui/spaces.ts:23 - And "Brian" logs out # tests/e2e/cucumber/steps/ui/session.ts:33 - When "Alice" navigates to the projects space page # tests/e2e/cucumber/steps/ui/spaces.ts:11 - And "Alice" navigates to the project space "team.1" # tests/e2e/cucumber/steps/ui/spaces.ts:23 - And "Alice" removes the expiration date of the member "Brian" of the project space # tests/e2e/cucumber/steps/ui/spaces.ts:139 - And "Alice" logs out # tests/e2e/cucumber/steps/ui/session.ts:33 ✔ After # tests/e2e/cucumber/environment/index.ts:83 ```

Cause: member wasn't added to the space with adds following users to the project space step

Fix: https://github.com/owncloud/web/pull/8728 (not so flaky recently)

SwikritiT commented 1 year ago

Test- tests/e2e/cucumber/features/smoke/spaces/project.ocis.feature:3 Scenario: unstructured collection of testable space interactions, # Error:

    And "Alice" updates the space "team.1" image to "testavatar.jpeg"
    ✖ failed
      Error: function timed out, ensure the promise resolves within 60000 milliseconds
          at Timeout._onTimeout (/drone/src/webTestRunner/node_modules/.pnpm/@cucumber+cucumber@7.3.2/node_modules/@cucumber/cucumber/src/user_code_runner.ts:80:18)
          at listOnTimeout (node:internal/timers:559:17)
          at processTimers (node:internal/timers:502:7)
Full log ```feature Feature: spaces.personal # tests/e2e/cucumber/features/smoke/spaces/project.ocis.feature:1 Scenario: unstructured collection of testable space interactions, # tests/e2e/cucumber/features/smoke/spaces/project.ocis.feature:3 Given "Admin" creates following users using API │ id │ │ Alice │ │ Brian │ And "Admin" assigns following roles to the users using API │ id │ role │ │ Alice │ Space Admin │ When "Alice" logs in And "Alice" opens the "files" app And "Alice" navigates to the projects space page And "Alice" creates the following project spaces │ name │ id │ │ team │ team.1 │ │ team2 │ team.2 │ And "Alice" navigates to the project space "team.1" And "Alice" updates the space "team.1" name to "developer team" And "Alice" updates the space "team.1" subtitle to "developer team - subtitle" And "Alice" updates the space "team.1" description to "developer team - description" And "Alice" updates the space "team.1" quota to "50" And "Alice" updates the space "team.1" image to "testavatar.png" And "Alice" creates the following resources │ resource │ type │ │ folderPublic │ folder │ │ folder_to_shared │ folder │ And "Alice" uploads the following resources │ resource │ to │ │ lorem.txt │ folderPublic │ │ lorem.txt │ folder_to_shared │ And "Alice" creates a public link for the resource "folderPublic" using the sidebar panel And "Alice" renames the most recently created public link of resource "folderPublic" to "team.1" And "Alice" edits the public link named "team.1" of resource "folderPublic" changing role to "uploader" And "Alice" sets the expiration date of the public link named "team.1" of resource "folderPublic" to "+5 days" And "Alice" sets the password of the public link named "team.1" of resource "folderPublic" to "12345" When "Alice" shares the following resource using the sidebar panel │ resource │ recipient │ type │ role │ resourceType │ │ folder_to_shared │ Brian │ user │ editor │ folder │ And "Alice" navigates to the projects space page And "Alice" navigates to the project space "team.2" And "Alice" updates the space "team.2" name to "management team" And "Alice" updates the space "team.2" subtitle to "management team - subtitle" And "Alice" updates the space "team.2" description to "management team - description" And "Alice" updates the space "team.2" quota to "500" And "Alice" updates the space "team.2" image to "sampleGif.gif" And "Alice" creates the following resources │ resource │ type │ │ folderPublic │ folder │ And "Alice" uploads the following resources │ resource │ to │ │ lorem.txt │ folderPublic │ And "Alice" creates a public link for the resource "folderPublic" using the sidebar panel And "Alice" renames the most recently created public link of resource "folderPublic" to "team.2" And "Alice" edits the public link named "team.2" of resource "folderPublic" changing role to "uploader" And "Alice" sets the expiration date of the public link named "team.2" of resource "folderPublic" to "+5 days" And "Alice" sets the password of the public link named "team.2" of resource "folderPublic" to "54321" When "Anonymous" opens the public link "team.1" And "Anonymous" unlocks the public link with password "12345" And "Anonymous" drop uploads following resources │ resource │ │ textfile.txt │ And "Brian" logs in And "Brian" opens the "files" app And "Brian" navigates to the shared with me page And "Brian" accepts the following share │ name │ │ folder_to_shared │ And "Brian" renames the following resource │ resource │ as │ │ folder_to_shared/lorem.txt │ lorem_new.txt │ And "Brian" uploads the following resource │ resource │ to │ │ simple.pdf │ folder_to_shared │ And "Alice" navigates to the projects space page And "Alice" navigates to the project space "team.1" And "Alice" updates the space "team.1" image to "testavatar.jpeg" ✖ failed Error: function timed out, ensure the promise resolves within 60000 milliseconds at Timeout._onTimeout (/drone/src/webTestRunner/node_modules/.pnpm/@cucumber+cucumber@7.3.2/node_modules/@cucumber/cucumber/src/user_code_runner.ts:80:18) at listOnTimeout (node:internal/timers:559:17) at processTimers (node:internal/timers:502:7) And "Alice" uploads the following resource │ resource │ to │ option │ │ PARENT/simple.pdf │ folder_to_shared │ replace │ - skipped When "Brian" restores following resources │ resource │ to │ version │ │ simple.pdf │ folder_to_shared │ 1 │ - skipped When "Alice" deletes the following resources using the sidebar panel │ resource │ from │ │ lorem_new.txt │ folder_to_shared │ │ folder_to_shared │ │ - skipped And "Brian" logs out - skipped When "Alice" logs out - skipped When "Anonymous" opens the public link "team.2" - skipped And "Anonymous" unlocks the public link with password "54321" - skipped And "Anonymous" drop uploads following resources │ resource │ │ textfile.txt │ - skipped When "Anonymous" logs out - skipped ```

Error:

And "Alice" updates the space "team.1" name to "developer team"
    ✖ failed
      Error: function timed out, ensure the promise resolves within 60000 milliseconds
          at Timeout._onTimeout (/drone/src/webTestRunner/node_modules/.pnpm/@cucumber+cucumber@7.3.2/node_modules/@cucumber/cucumber/src/user_code_runner.ts:80:18)
          at listOnTimeout (node:internal/timers:559:17)
          at processTimers (node:internal/timers:502:7)
Full log ```feature Scenario: unstructured collection of testable space interactions, # tests/e2e/cucumber/features/smoke/spaces/project.ocis.feature:3 Given "Admin" creates following users using API │ id │ │ Alice │ │ Brian │ And "Admin" assigns following roles to the users using API │ id │ role │ │ Alice │ Space Admin │ When "Alice" logs in And "Alice" opens the "files" app And "Alice" navigates to the projects space page And "Alice" creates the following project spaces │ name │ id │ │ team │ team.1 │ │ team2 │ team.2 │ And "Alice" navigates to the project space "team.1" And "Alice" updates the space "team.1" name to "developer team" ✖ failed Error: function timed out, ensure the promise resolves within 60000 milliseconds at Timeout._onTimeout (/drone/src/webTestRunner/node_modules/.pnpm/@cucumber+cucumber@7.3.2/node_modules/@cucumber/cucumber/src/user_code_runner.ts:80:18) at listOnTimeout (node:internal/timers:559:17) at processTimers (node:internal/timers:502:7) And "Alice" updates the space "team.1" subtitle to "developer team - subtitle" - skipped And "Alice" updates the space "team.1" description to "developer team - description" - skipped And "Alice" updates the space "team.1" quota to "50" - skipped And "Alice" updates the space "team.1" image to "testavatar.png" - skipped And "Alice" creates the following resources │ resource │ type │ │ folderPublic │ folder │ │ folder_to_shared │ folder │ - skipped And "Alice" uploads the following resources │ resource │ to │ │ lorem.txt │ folderPublic │ │ lorem.txt │ folder_to_shared │ - skipped And "Alice" creates a public link for the resource "folderPublic" using the sidebar panel - skipped And "Alice" renames the most recently created public link of resource "folderPublic" to "team.1" - skipped And "Alice" edits the public link named "team.1" of resource "folderPublic" changing role to "uploader" - skipped And "Alice" sets the expiration date of the public link named "team.1" of resource "folderPublic" to "+5 days" - skipped And "Alice" sets the password of the public link named "team.1" of resource "folderPublic" to "12345" - skipped When "Alice" shares the following resource using the sidebar panel │ resource │ recipient │ type │ role │ resourceType │ │ folder_to_shared │ Brian │ user │ editor │ folder │ - skipped And "Alice" navigates to the projects space page - skipped And "Alice" navigates to the project space "team.2" - skipped And "Alice" updates the space "team.2" name to "management team" - skipped And "Alice" updates the space "team.2" subtitle to "management team - subtitle" - skipped And "Alice" updates the space "team.2" description to "management team - description" - skipped And "Alice" updates the space "team.2" quota to "500" - skipped And "Alice" updates the space "team.2" image to "sampleGif.gif" - skipped And "Alice" creates the following resources │ resource │ type │ │ folderPublic │ folder │ - skipped And "Alice" uploads the following resources │ resource │ to │ │ lorem.txt │ folderPublic │ - skipped And "Alice" creates a public link for the resource "folderPublic" using the sidebar panel - skipped And "Alice" renames the most recently created public link of resource "folderPublic" to "team.2" - skipped And "Alice" edits the public link named "team.2" of resource "folderPublic" changing role to "uploader" - skipped And "Alice" sets the expiration date of the public link named "team.2" of resource "folderPublic" to "+5 days" - skipped And "Alice" sets the password of the public link named "team.2" of resource "folderPublic" to "54321" - skipped When "Anonymous" opens the public link "team.1" - skipped And "Anonymous" unlocks the public link with password "12345" - skipped And "Anonymous" drop uploads following resources │ resource │ │ textfile.txt │ - skipped And "Brian" logs in - skipped And "Brian" opens the "files" app - skipped And "Brian" navigates to the shared with me page - skipped And "Brian" accepts the following share │ name │ │ folder_to_shared │ - skipped And "Brian" renames the following resource │ resource │ as │ │ folder_to_shared/lorem.txt │ lorem_new.txt │ - skipped And "Brian" uploads the following resource │ resource │ to │ │ simple.pdf │ folder_to_shared │ - skipped And "Alice" navigates to the projects space page - skipped And "Alice" navigates to the project space "team.1" - skipped And "Alice" updates the space "team.1" image to "testavatar.jpeg" - skipped And "Alice" uploads the following resource │ resource │ to │ option │ │ PARENT/simple.pdf │ folder_to_shared │ replace │ - skipped When "Brian" restores following resources │ resource │ to │ version │ │ simple.pdf │ folder_to_shared │ 1 │ - skipped When "Alice" deletes the following resources using the sidebar panel │ resource │ from │ │ lorem_new.txt │ folder_to_shared │ │ folder_to_shared │ │ - skipped And "Brian" logs out - skipped When "Alice" logs out - skipped When "Anonymous" opens the public link "team.2" - skipped And "Anonymous" unlocks the public link with password "54321" - skipped And "Anonymous" drop uploads following resources │ resource │ │ textfile.txt │ - skipped When "Anonymous" logs out - skipped ```

Build: https://drone.owncloud.com/owncloud/ocis/20850/87/9

This step also seems falky Fix: @SwikritiT

saw-jan commented 1 year ago

Test- tests/e2e/cucumber/features/smoke/spaces/project.ocis.feature:3 Scenario: unstructured collection of testable space interactions, # Error:

    And "Alice" updates the space "team.1" image to "testavatar.jpeg"
    ✖ failed
      Error: function timed out, ensure the promise resolves within 60000 milliseconds
          at Timeout._onTimeout (/drone/src/webTestRunner/node_modules/.pnpm/@cucumber+cucumber@7.3.2/node_modules/@cucumber/cucumber/src/user_code_runner.ts:80:18)
          at listOnTimeout (node:internal/timers:559:17)
          at processTimers (node:internal/timers:502:7)

Full log Error:

And "Alice" updates the space "team.1" name to "developer team"
    ✖ failed
      Error: function timed out, ensure the promise resolves within 60000 milliseconds
          at Timeout._onTimeout (/drone/src/webTestRunner/node_modules/.pnpm/@cucumber+cucumber@7.3.2/node_modules/@cucumber/cucumber/src/user_code_runner.ts:80:18)
          at listOnTimeout (node:internal/timers:559:17)
          at processTimers (node:internal/timers:502:7)

Full log Build: https://drone.owncloud.com/owncloud/ocis/20850/87/9

This step also seems falky Fix: @SwikritiT

Couldn't reproduce this one and haven't seen recently. So I will close it here and we can create another issue if it reappears