Testing artifacts review for Spring26#626
Conversation
|
|
||
| @<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 |
There was a problem hiding this comment.
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 |
| 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 |
| @{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 |
There was a problem hiding this comment.
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" |
There was a problem hiding this comment.
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>" |
There was a problem hiding this comment.
| 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>" |
There was a problem hiding this comment.
| 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>" |
There was a problem hiding this comment.
| 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 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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 {} |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
| 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 |
There was a problem hiding this comment.
| 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 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
I would not add this one, is not meaningful for this scenario
What type of PR is this?
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:
event-subscription-template.feature. Wording aligment and inclusion of pagination scenarios.New testing artifact
sample-service-template.featureapplicable forsample-service.yamlandsample-implicit-events.yamlapi-templates.New testing artifact
sample-implicit-events-templateapplicable for specific conditions insample-implicit-events.yaml.syntax-errors-template.featureto be removed. Done in remove_syntax-errors-template.feature commitWhich issue(s) this PR fixes:
Fixes #621
Does this PR introduce a breaking change?
Special notes for reviewers:
With this approach
syntax-errors-template.featurecan be removed.Initially kept for transparency and reviewers can check how it is accomodated within new template
sample-service-template.featuresyntax-errors-template.featureremoved on 8th May.Changelog input
Additional documentation
This section can be blank.