Skip to content

api-test: replace sleeps with WaitHelper poll for async state - #3239

Merged
v-scharf merged 2 commits into
mainfrom
test/wait-until-poll-helper
Aug 5, 2026
Merged

v-scharf merged 2 commits into
mainfrom
test/wait-until-poll-helper

Conversation

@v-scharf

@v-scharf v-scharf commented Aug 4, 2026 •

Copy link
Copy Markdown
Contributor

fixed:

[FAILED] Total unexpected failed scenarios:
- apiSearchContent/extractedProps.feature:298
- apiSearchContent/extractedProps.feature:426

Tests were failed because property extraction is asynchronous and sleep(2) didn't help

Scenario: GET extracted properties of an image file (Shares space)                                             # /woodpecker/src/github.com/opencloud-eu/opencloud/tests/acceptance/features/apiSearchContent/extractedProps.feature:426
    Given user "Brian" has been created with default attributes                                                  # FeatureContext::userHasBeenCreatedWithDefaultAttributes()
    And user "Alice" has uploaded a file "filesForUpload/testavatar.jpg" to "testavatar.jpg" in space "Personal" # SpacesContext::userHasUploadedAFileToInSpaceUsingTheWebdavApi()
    And user "Alice" has sent the following resource share invitation:                                           # SharingNgContext::userHasSentTheFollowingResourceShareInvitation()
      | resource        | testavatar.jpg |
      | space           | Personal       |
      | sharee          | Brian          |
      | shareType       | user           |
      | permissionsRole | Viewer         |
    And user "Brian" has a share "testavatar.jpg" synced                                                         # SharingNgContext::userHasShareSynced()
      │ [INFO] Wait for share sync status...
    When user "Brian" gets the file "testavatar.jpg" from space "Shares" using the Graph API                     # SpacesContext::userGetsTheDriveItemInSpace()
    Then the HTTP status code should be "200"                                                                    # FeatureContext::thenTheHTTPStatusCodeShouldBe()
    And the JSON data of the response should match                                                               # FeatureContext::theJsonDataOfTheResponseShouldMatch()
      """
        {
          "type": "object",
          "required": [
            "image",
            "location",
            "photo"
          ],
          "properties": {
            "image": {
              "type": "object",
              "required": [ "height", "width" ],
              "properties": {
                "height": {
                  "const": 500
                },
                "width": {
                  "const": 1402
                }
              }
            },
            "location": {
              "type": "object",
              "required": [ "latitude", "longitude" ],
              "properties": {
                "latitude": {
                  "const": 52.437804
                },
                "longitude": {
                  "const": 13.341866
                }
              }
            },
            "photo": {
              "type": "object",
              "required": [
                "cameraMake",
                "cameraModel",
                "fNumber",
                "focalLength",
                "orientation"
              ],
              "properties": {
                "cameraMake": {
                  "const": "NIKON"
                },
                "cameraModel": {
                  "const": "COOLPIX P6000"
                },
                "fNumber": {
                  "const": 4.5
                },
                "focalLength": {
                  "const": 6
                },
                "orientation": {
                  "const": 1
                }
              }
            }
          }
        }
      """
      JSON Schema validation failed:
      1. {root}->required:
      	 - Required property missing: id
      	   Received: eTag, file, id, lastModifiedDateTime, name, parentReference, size, webUrl

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@v-scharf
v-scharf requested a review from saw-jan August 4, 2026 13:19

@saw-jan saw-jan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✨

@v-scharf
v-scharf merged commit 76ff13b into main Aug 5, 2026
53 of 54 checks passed
@v-scharf
v-scharf deleted the test/wait-until-poll-helper branch August 5, 2026 07:23
@openclouders openclouders mentioned this pull request Aug 4, 2026
renovate Bot added a commit to sdwilsh/ansible-playbooks that referenced this pull request Aug 29, 2026
##### [\`7.5.0\`](https://github.com/opencloud-eu/opencloud/blob/HEAD/CHANGELOG.md#750---2026-08-25)

##### ❤️ Thanks to all contributors! ❤️

[@AlexAndBear](https://github.com/AlexAndBear), [@JammingBen](https://github.com/JammingBen), [@Svanvith](https://github.com/Svanvith), [@aduffeck](https://github.com/aduffeck), [@butonic](https://github.com/butonic), [@fschade](https://github.com/fschade), [@junkerderprovinz](https://github.com/junkerderprovinz), [@kulmann](https://github.com/kulmann), [@maki5](https://github.com/maki5), [@pbleser-oc](https://github.com/pbleser-oc), [@rhafer](https://github.com/rhafer), [@saw-jan](https://github.com/saw-jan), [@schweigisito](https://github.com/schweigisito), [@v-scharf](https://github.com/v-scharf)

##### ✅ Tests

- test(api): update php test dependencies \[[#3335](opencloud-eu/opencloud#3335)]
- fix(acceptance): fix running acceptance tests against host on Linux \[[#3358](opencloud-eu/opencloud#3358)]
- fix(graph): adding the same user as multiple members in a group ([#3354](opencloud-eu/opencloud#3354)) \[[#3356](opencloud-eu/opencloud#3356)]
- test(api): fix share role update test scenario \[[#3322](opencloud-eu/opencloud#3322)]
- test: add api tests for cross-space search index mutation \[[#3320](opencloud-eu/opencloud#3320)]
- ci: run search acceptance tests against OpenSearch in nightly \[[#3302](opencloud-eu/opencloud#3302)]
- api-test: notification settings and getting email notifications \[[#3281](opencloud-eu/opencloud#3281)]
- api-test: add posixfs scan and consistency CLI tests \[[#3263](opencloud-eu/opencloud#3263)]
- api-test: replace sleeps with WaitHelper poll for async state \[[#3239](opencloud-eu/opencloud#3239)]

##### 📈 Enhancement

- feat(thumbnails): extend list of default resolutions \[[#3386](opencloud-eu/opencloud#3386)]
- ability to disable grpc and/or event consumer for event history service \[[#3279](opencloud-eu/opencloud#3279)]
- feat(graph): add LibreGraphContentType on drive \[[#3355](opencloud-eu/opencloud#3355)]
- feat: update space template image \[[#3324](opencloud-eu/opencloud#3324)]
- feat(web): add rclone-crypt to default apps \[[#3313](opencloud-eu/opencloud#3313)]
- enhance: send events for adding/removing favourite items \[[#3229](opencloud-eu/opencloud#3229)]
- allow tuning the proxies http client \[[#3278](opencloud-eu/opencloud#3278)]
- feat(web): add yjsServerUrl config \[[#3259](opencloud-eu/opencloud#3259)]
- feat(posixfs): [#3182](opencloud-eu/opencloud#3182) add basepath option in the "posixfs scan" command \[[#3235](opencloud-eu/opencloud#3235)]

##### 🐛 Bug Fixes

- fix(search): refresh the opensearch index after a write \[[#3388](opencloud-eu/opencloud#3388)]
- fix(thumbnails): respect the requested height in libvips builds \[[#3377](opencloud-eu/opencloud#3377)]
- refactor datagateway into proxy middleware \[[#3289](opencloud-eu/opencloud#3289)]
- Only log a debug message when an item is still in processing state \[[#3158](opencloud-eu/opencloud#3158)]
- fix(postprocessing): retry publishing events instead of killing the server \[[#3347](opencloud-eu/opencloud#3347)]
- actually log error on exit \[[#3344](opencloud-eu/opencloud#3344)]
- fix(activitylog): log missing parent id cache entry at debug level \[[#3325](opencloud-eu/opencloud#3325)]
- fix restore file version for shared resource \[[#3268](opencloud-eu/opencloud#3268)]
- Fix missing favorite flag on opensearch hits \[[#3252](opencloud-eu/opencloud#3252)]

##### 📚 Documentation

- docs: clarify custom role bootstrap behavior \[[#3366](opencloud-eu/opencloud#3366)]

##### 📦️ Dependencies

- \[full-ci] chore: bump web to v7.4.0 \[[#3399](opencloud-eu/opencloud#3399)]
- build(deps): bump google.golang.org/grpc from 1.83.0 to 1.83.1 \[[#3396](opencloud-eu/opencloud#3396)]
- build(deps): bump github.com/stretchr/testify from 1.12.0 to 1.12.1 \[[#3395](opencloud-eu/opencloud#3395)]
- build(deps): bump github.com/go-chi/chi/v5 from 5.3.1 to 5.3.2 \[[#3394](opencloud-eu/opencloud#3394)]
- build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.29.0 to 2.30.0 \[[#3380](opencloud-eu/opencloud#3380)]
- build(deps): bump golang.org/x/image from 0.44.0 to 0.45.0 \[[#3381](opencloud-eu/opencloud#3381)]
- build(deps): bump github.com/beevik/etree from 1.7.0 to 1.7.1 \[[#3382](opencloud-eu/opencloud#3382)]
- build(deps): bump github.com/nats-io/nats-server/v2 from 2.14.4 to 2.14.5 \[[#3357](opencloud-eu/opencloud#3357)]
- build(deps): bump go.opentelemetry.io/contrib/zpages from 0.69.0 to 0.70.0 \[[#3360](opencloud-eu/opencloud#3360)]
- build(deps): bump github.com/sirupsen/logrus from 1.9.4 to 1.10.0 \[[#3359](opencloud-eu/opencloud#3359)]
- chore: bump reva to latest main \[[#3329](opencloud-eu/opencloud#3329)]
- build(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.0 \[[#3341](opencloud-eu/opencloud#3341)]
- build(deps): bump golang.org/x/net from 0.57.0 to 0.58.0 \[[#3342](opencloud-eu/opencloud#3342)]
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.32.0 to 2.32.1 \[[#3340](opencloud-eu/opencloud#3340)]
- build(deps): bump github.com/testcontainers/testcontainers-go/modules/opensearch from 0.43.0 to 0.44.0 \[[#3303](opencloud-eu/opencloud#3303)]
- build(deps): bump github.com/opencloud-eu/libre-graph-api-go \[[#3326](opencloud-eu/opencloud#3326)]
- build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.44.0 to 1.45.0 \[[#3306](opencloud-eu/opencloud#3306)]
- build(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.69.0 to 0.70.0 \[[#3305](opencloud-eu/opencloud#3305)]
- build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.44.0 to 1.45.0 \[[#3280](opencloud-eu/opencloud#3280)]
- build(deps): bump github.com/rogpeppe/go-internal from 1.15.0 to 1.16.0 \[[#3250](opencloud-eu/opencloud#3250)]
- build(deps): bump github.com/kovidgoyal/imaging from 1.8.22 to 1.8.23 \[[#3135](opencloud-eu/opencloud#3135)]
- build(deps): bump go.opentelemetry.io/otel/trace from 1.44.0 to 1.45.0 \[[#3266](opencloud-eu/opencloud#3266)]
sdwilsh pushed a commit to sdwilsh/ansible-playbooks that referenced this pull request Aug 29, 2026
#1842)

##### [\`7.5.0\`](https://github.com/opencloud-eu/opencloud/blob/HEAD/CHANGELOG.md#750---2026-08-25)

##### ❤️ Thanks to all contributors! ❤️

[@AlexAndBear](https://github.com/AlexAndBear), [@JammingBen](https://github.com/JammingBen), [@Svanvith](https://github.com/Svanvith), [@aduffeck](https://github.com/aduffeck), [@butonic](https://github.com/butonic), [@fschade](https://github.com/fschade), [@junkerderprovinz](https://github.com/junkerderprovinz), [@kulmann](https://github.com/kulmann), [@maki5](https://github.com/maki5), [@pbleser-oc](https://github.com/pbleser-oc), [@rhafer](https://github.com/rhafer), [@saw-jan](https://github.com/saw-jan), [@schweigisito](https://github.com/schweigisito), [@v-scharf](https://github.com/v-scharf)

##### ✅ Tests

- test(api): update php test dependencies \[[#3335](opencloud-eu/opencloud#3335)]
- fix(acceptance): fix running acceptance tests against host on Linux \[[#3358](opencloud-eu/opencloud#3358)]
- fix(graph): adding the same user as multiple members in a group ([#3354](opencloud-eu/opencloud#3354)) \[[#3356](opencloud-eu/opencloud#3356)]
- test(api): fix share role update test scenario \[[#3322](opencloud-eu/opencloud#3322)]
- test: add api tests for cross-space search index mutation \[[#3320](opencloud-eu/opencloud#3320)]
- ci: run search acceptance tests against OpenSearch in nightly \[[#3302](opencloud-eu/opencloud#3302)]
- api-test: notification settings and getting email notifications \[[#3281](opencloud-eu/opencloud#3281)]
- api-test: add posixfs scan and consistency CLI tests \[[#3263](opencloud-eu/opencloud#3263)]
- api-test: replace sleeps with WaitHelper poll for async state \[[#3239](opencloud-eu/opencloud#3239)]

##### 📈 Enhancement

- feat(thumbnails): extend list of default resolutions \[[#3386](opencloud-eu/opencloud#3386)]
- ability to disable grpc and/or event consumer for event history service \[[#3279](opencloud-eu/opencloud#3279)]
- feat(graph): add LibreGraphContentType on drive \[[#3355](opencloud-eu/opencloud#3355)]
- feat: update space template image \[[#3324](opencloud-eu/opencloud#3324)]
- feat(web): add rclone-crypt to default apps \[[#3313](opencloud-eu/opencloud#3313)]
- enhance: send events for adding/removing favourite items \[[#3229](opencloud-eu/opencloud#3229)]
- allow tuning the proxies http client \[[#3278](opencloud-eu/opencloud#3278)]
- feat(web): add yjsServerUrl config \[[#3259](opencloud-eu/opencloud#3259)]
- feat(posixfs): [#3182](opencloud-eu/opencloud#3182) add basepath option in the "posixfs scan" command \[[#3235](opencloud-eu/opencloud#3235)]

##### 🐛 Bug Fixes

- fix(search): refresh the opensearch index after a write \[[#3388](opencloud-eu/opencloud#3388)]
- fix(thumbnails): respect the requested height in libvips builds \[[#3377](opencloud-eu/opencloud#3377)]
- refactor datagateway into proxy middleware \[[#3289](opencloud-eu/opencloud#3289)]
- Only log a debug message when an item is still in processing state \[[#3158](opencloud-eu/opencloud#3158)]
- fix(postprocessing): retry publishing events instead of killing the server \[[#3347](opencloud-eu/opencloud#3347)]
- actually log error on exit \[[#3344](opencloud-eu/opencloud#3344)]
- fix(activitylog): log missing parent id cache entry at debug level \[[#3325](opencloud-eu/opencloud#3325)]
- fix restore file version for shared resource \[[#3268](opencloud-eu/opencloud#3268)]
- Fix missing favorite flag on opensearch hits \[[#3252](opencloud-eu/opencloud#3252)]

##### 📚 Documentation

- docs: clarify custom role bootstrap behavior \[[#3366](opencloud-eu/opencloud#3366)]

##### 📦️ Dependencies

- \[full-ci] chore: bump web to v7.4.0 \[[#3399](opencloud-eu/opencloud#3399)]
- build(deps): bump google.golang.org/grpc from 1.83.0 to 1.83.1 \[[#3396](opencloud-eu/opencloud#3396)]
- build(deps): bump github.com/stretchr/testify from 1.12.0 to 1.12.1 \[[#3395](opencloud-eu/opencloud#3395)]
- build(deps): bump github.com/go-chi/chi/v5 from 5.3.1 to 5.3.2 \[[#3394](opencloud-eu/opencloud#3394)]
- build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.29.0 to 2.30.0 \[[#3380](opencloud-eu/opencloud#3380)]
- build(deps): bump golang.org/x/image from 0.44.0 to 0.45.0 \[[#3381](opencloud-eu/opencloud#3381)]
- build(deps): bump github.com/beevik/etree from 1.7.0 to 1.7.1 \[[#3382](opencloud-eu/opencloud#3382)]
- build(deps): bump github.com/nats-io/nats-server/v2 from 2.14.4 to 2.14.5 \[[#3357](opencloud-eu/opencloud#3357)]
- build(deps): bump go.opentelemetry.io/contrib/zpages from 0.69.0 to 0.70.0 \[[#3360](opencloud-eu/opencloud#3360)]
- build(deps): bump github.com/sirupsen/logrus from 1.9.4 to 1.10.0 \[[#3359](opencloud-eu/opencloud#3359)]
- chore: bump reva to latest main \[[#3329](opencloud-eu/opencloud#3329)]
- build(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.0 \[[#3341](opencloud-eu/opencloud#3341)]
- build(deps): bump golang.org/x/net from 0.57.0 to 0.58.0 \[[#3342](opencloud-eu/opencloud#3342)]
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.32.0 to 2.32.1 \[[#3340](opencloud-eu/opencloud#3340)]
- build(deps): bump github.com/testcontainers/testcontainers-go/modules/opensearch from 0.43.0 to 0.44.0 \[[#3303](opencloud-eu/opencloud#3303)]
- build(deps): bump github.com/opencloud-eu/libre-graph-api-go \[[#3326](opencloud-eu/opencloud#3326)]
- build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.44.0 to 1.45.0 \[[#3306](opencloud-eu/opencloud#3306)]
- build(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.69.0 to 0.70.0 \[[#3305](opencloud-eu/opencloud#3305)]
- build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.44.0 to 1.45.0 \[[#3280](opencloud-eu/opencloud#3280)]
- build(deps): bump github.com/rogpeppe/go-internal from 1.15.0 to 1.16.0 \[[#3250](opencloud-eu/opencloud#3250)]
- build(deps): bump github.com/kovidgoyal/imaging from 1.8.22 to 1.8.23 \[[#3135](opencloud-eu/opencloud#3135)]
- build(deps): bump go.opentelemetry.io/otel/trace from 1.44.0 to 1.45.0 \[[#3266](opencloud-eu/opencloud#3266)]

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants