Skip to content

Testing artifacts review for Spring26#626

Open
PedroDiez wants to merge 3 commits into
camaraproject:mainfrom
PedroDiez:testing_artifacts_review_Spring26
Open

Testing artifacts review for Spring26#626
PedroDiez wants to merge 3 commits into
camaraproject:mainfrom
PedroDiez:testing_artifacts_review_Spring26

Conversation

@PedroDiez
Copy link
Copy Markdown
Contributor

@PedroDiez PedroDiez commented Apr 29, 2026

What type of PR is this?

  • correction
  • tests

What this PR does / why we need it:

This PRs updates testing artifacts for Spring26 MetaRelease. Considering this comment also tries to align the testing artifacts with the API templates associated.

Details on PR organization:

  • Updated testing artifact event-subscription-template.feature. Wording aligment and inclusion of pagination scenarios.

NOTE: It can be considered its renaming to sample-service-subscriptions-template.feature

  • New testing artifact sample-service-template.feature applicable for sample-service.yaml and sample-implicit-events.yaml api-templates.

  • New testing artifact sample-implicit-events-template applicable for specific conditions in sample-implicit-events.yaml.

  • syntax-errors-template.feature to be removed. Done in remove_syntax-errors-template.feature commit

Which issue(s) this PR fixes:

Fixes #621

Does this PR introduce a breaking change?

  • Yes
  • No

Special notes for reviewers:

With this approach syntax-errors-template.feature can be removed.

Initially kept for transparency and reviewers can check how it is accomodated within new template sample-service-template.feature

syntax-errors-template.feature removed on 8th May.

Changelog input

 Testing artifacts review for Spring26

Additional documentation

This section can be blank.

docs

@PedroDiez PedroDiez self-assigned this Apr 29, 2026
@PedroDiez PedroDiez added correction correction in documentation Spring26 Scope of Spring26 (H1-2026) meta-release labels Apr 29, 2026

@<xxx>_subscriptions_73_pagination_last_page
Scenario: Subscription list pagination fetching the last page of the list
Given an API client with more than 40 <xxx> subscriptions created
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.

more than 40 and less than 60

And the response body property "$.pagination" complies with the OAS schema at "#/components/schemas/Pagination"
And the response body property "$.pagination.page" is 3
And the response body property "$.pagination.perPage" is 20
And the response body property "$.pagination.totalPages", if present, is greater than 2
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.

is 3

And the response body property "$.pagination.page" is 3
And the response body property "$.pagination.perPage" is 20
And the response body property "$.pagination.totalPages", if present, is greater than 2
And the response body property "$.pagination.totalCount", if present, is greater than 40
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.

and less than 60

@{feature_identifier}_{operationId}_xx_event_notification
Scenario: Event is received if the sink was provided and "<Resource>" lifecycle faces an update
Given an existing "<Resource>" created by operation "{operationId}" with provided values for "sink" and "sinkCredential"
And the path parameter "sessionId" is set to the value for that QoS session
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.

something generic instead of QoS session


@{feature_identifier}_{operationId}_xx_event_notification
Scenario: Event is received if the sink was provided and "<Resource>" lifecycle faces an update
Given an existing "<Resource>" created by operation "{operationId}" with provided values for "sink" and "sinkCredential"
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.

credentialType=ACCESSTOKEN

And the event header "Content-Type" is set to "application/cloudevents+json"
And the event body complies with the OAS schema at "#/components/schemas/ApiNotificationEvent"
# Additionally any event body has to comply with some constraints beyond the schema compliance
And the event body property "$.<property>" is "<Condition>"
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.

Suggested change
And the event body property "$.<property>" is "<Condition>"
And the event body property "$.<property>" ...

Any type of validation

@{feature_identifier}_{getResource}_01_generic_success_scenario
Scenario: Common validations for any success scenario
Given an existing "<Resource>" created by operation "{operationId}"
And the path parameter "<ResourceId>" is set to the value for that "<Resource>"
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.

Suggested change
And the path parameter "<ResourceId>" is set to the value for that "<Resource>"
And the path parameter "<ResourceId>" is set to the value of the identifier for that "<Resource>"

@{feature_identifier}_{deleteResource}_01_generic_success_scenario
Scenario: Common validations for any success scenario
Given an existing "<Resource>" created by operation "{operationId}"
And the path parameter "<ResourceId>" is set to the value for that "<Resource>"
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.

Suggested change
And the path parameter "<ResourceId>" is set to the value for that "<Resource>"
And the path parameter "<ResourceId>" is set to the value of the identifier for that "<Resource>"


# Syntax Error scenarios

@{feature_identifier}_{operationId}_400.01_schema_not_compliant
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.

Operations with request body

And the response property "$.code" is "INVALID_ARGUMENT"
And the response property "$.message" contains a user friendly text

@{feature_identifier}_{operationId}_400.02_no_request_body
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.

Operations with required request body


@{feature_identifier}_{operationId}_400.04_empty_property
Scenario Outline: Error response for empty property in request body
Given the request body property "<required_property>" is set to {}
Copy link
Copy Markdown
Contributor

@jlurien jlurien May 12, 2026

Choose a reason for hiding this comment

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

This would apply to properties in the request body with are of type object and have required properties or minProperties in their value

# This scenario applies to operations that create/manage a resource with a unique property (e.g. name) and the service does not allow multiple resources with the same value for that property, even if they have different identifiers. If the service allows multiple resources with the same value for that property, this scenario would not apply.
@{feature_identifier}_{operationId}_409.01_duplicated_resource
Scenario: Conflict due to existing "<Resource>"
Given a "<Resource>" already exists with the same unique property as the one in the request body
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.

Suggested change
Given a "<Resource>" already exists with the same unique property as the one in the request body
Given a "<Resource>" already exists with the same <unique property> as the one in the request body

it should be adapted


@{feature_identifier}_{operationId}_409.03_incompatible_state
Scenario: Conflict due to "<Resource>" (target or referenced) is in incompatible state for the requested operation
Given a "<Resource>" is not in an available state for being managed
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.

Suggested change
Given a "<Resource>" is not in an available state for being managed
Given the "<Resource>" is in an invalid state for management

Scenario: Conflict due to "<Resource>" being modified
Given a "<Resource>" is being modified by another request and the service does not allow concurrent modifications for the same resource
# Additional clauses may exist according to API nature
And the request body property "$.<requestProperty>" is set to a value already used in another successful "<Resource>" request
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.

I would not add this one, is not meaningful for this scenario

Scenario: Conflict due to "<Resource>" (target or referenced) is in incompatible state for the requested operation
Given a "<Resource>" is not in an available state for being managed
# Additional clauses may exist according to API nature
And the request body property "$.<requestProperty>" is set to a value already used in another successful "<Resource>" request
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.

I would not add this one, is not meaningful for this scenario

Copy link
Copy Markdown
Contributor

@jlurien jlurien left a comment

Choose a reason for hiding this comment

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

Some comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

correction correction in documentation Spring26 Scope of Spring26 (H1-2026) meta-release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Review of testing artifacts for Spring26

2 participants