diff --git a/CHANGELOG.md b/CHANGELOG.md index 90b75ec842..b0de30517e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog QualityOnDemand ## Table of Contents +- **[r3.2](#r32) (Fall25 public release)** - [r3.1](#r31) - **[r2.2](#r22) (Spring25 public release)** - [r2.1](#r21) @@ -26,6 +27,124 @@ The below sections record the changes for each API version in each release as fo * for subsequent release-candidate(s), only the delta to the previous release-candidate * for a public release, the consolidated changes since the previous public release +# r3.2 +## Release Notes + +This public release contains the definition and documentation of + +* quality-on-demand v1.1.0 +* qos-profiles v1.1.0 +* qos-provisioning v0.3.0 + +The API definition(s) are based on +* Commonalities v0.6.0 (r3.3) +* Identity and Consent Management v0.4.0 (r3.3) + +## quality-on-demand v1.1.0 + +**quality-on-demand v1.1.0 is a minor update of the API, and is backward compatible with v1.0.0.** + +- API definition **with inline documentation**: + - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/code/API_definitions/quality-on-demand.yaml&nocors) + - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/code/API_definitions/quality-on-demand.yaml) + - OpenAPI [YAML spec file](https://github.com/camaraproject/QualityOnDemand/blob/r3.2/code/API_definitions/quality-on-demand.yaml) + +### Added + +* Added HTTP-422 error response when qos profile is not applicable during session creation by @maxl2287 in https://github.com/camaraproject/QualityOnDemand/pull/433 +* Added error response documentation in `info.description` by @hdamker in https://github.com/camaraproject/QualityOnDemand/pull/467 +* Added pattern for `sink` URI to enforce HTTPS and added 400 INVALID_SINK error code by @hdamker in https://github.com/camaraproject/QualityOnDemand/pull/491 + +### Changed + +* Adjusted x-correlator pattern as defined in CAMARA Commonalities by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/465 +* Updated documentation regarding device identifiers in responses and added DeviceResponse object to limit device identifiers in responses to exactly one by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/453 +* Added gherkin linting and updated test definition files by @maxl2287 in https://github.com/camaraproject/QualityOnDemand/pull/478 +* Aligned some properties descriptions to latest guidelines in Commonalities r3.3 by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/484 + +### Fixed + +* Resolved mismatch between test and API definition for networkAccessIdentifier and sinkCredential by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/462 +* Fixed indentation, multiple blank line and trailing space errors in feature files by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/485 +* Fixed test plan step for Authorization Bearer by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/482 + +### Removed + +* Removed AUTHENTICATION_REQUIRED error by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/436 +* Removed the IDENTIFIER_MISMATCH error code option from 422 responses and associated test cases by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/453 + +## qos-profiles v1.1.0 + +**qos-profiles v1.1.0 is a minor update of the API, and is backward compatible with v1.0.0.** + +- API definition **with inline documentation**: + - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/code/API_definitions/qos-profiles.yaml&nocors) + - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/code/API_definitions/qos-profiles.yaml) + - OpenAPI [YAML spec file](https://github.com/camaraproject/QualityOnDemand/blob/r3.2/code/API_definitions/qos-profiles.yaml) + +### Added + +* Added an optional countryAvailability field to the QoS profile to allow an API provider to indicate in which countries (and networks) the profile is available by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/435 +* Added error response documentation in `info.description` by @hdamker in https://github.com/camaraproject/QualityOnDemand/pull/467 + +### Changed + +* Adjusted x-correlator pattern as defined in CAMARA Commonalities by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/465 +* Updated documentation regarding multiple device identifiers in requests and the expected behavior of implementations by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/453 +* Added gherkin linting and updated test definition files by @maxl2287 in https://github.com/camaraproject/QualityOnDemand/pull/478 +* Aligned some properties descriptions to latest guidelines in Commonalities r3.3 by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/484 + +### Fixed + +* Resolved mismatch between test and API definition for networkAccessIdentifier and sinkCredential by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/462 + +### Removed + +* Removed AUTHENTICATION_REQUIRED error by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/436 +* Removed the IDENTIFIER_MISMATCH error code option from 422 responses and associated test cases by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/453 + +## qos-provisioning v0.3.0 + +**qos-provisioning v0.3.0 is a new initial version of the API with major changes compared to v0.2.0** + +**There are multiple breaking changes compared to v0.2.0 of qod-provisioning**, e.g.: +* The API got renamed to QoS Provisioning (from QoD Provisioning) +* The resource path is renamed to `qos-assignments` (from `qos-device`) +* Properties, operationIds, schemata etc are aligned with with "qos-assignments", e.g. `provisioningId` was changed to `assignmentId` + +- API definition **with inline documentation**: + - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/code/API_definitions/qos-provisioning.yaml&nocors) + - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/code/API_definitions/qos-provisioning.yaml) + - OpenAPI [YAML spec file](https://github.com/camaraproject/QualityOnDemand/blob/r3.2/code/API_definitions/qos-provisioning.yaml) + +### Added + +* Added error response documentation in `info.description` by @hdamker in https://github.com/camaraproject/QualityOnDemand/pull/467 +* Added error 422 QOS_PROVISIONING.QOS_PROFILE_NOT_APPLICABLE by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/476 +* Added pattern for `sink` URI to enforce HTTPS and added 400 INVALID_SINK error code by @hdamker in https://github.com/camaraproject/QualityOnDemand/pull/491 + +### Changed + +* Refined the terminology throughout the API by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/447 + * URL, paths, properties, operationIs and schemata etc are changed, see breaking changes above +* Adjusted x-correlator pattern as defined in CAMARA Commonalities by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/465 +* Updated documentation regarding device identifiers in responses and added DeviceResponse object to limit device identifiers in responses to exactly one by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/453 +* Added gherkin linting and updated test definition files by @maxl2287 in https://github.com/camaraproject/QualityOnDemand/pull/478 +* Aligned some properties descriptions to latest guidelines in Commonalities r3.3 by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/484 + +### Fixed + +* Resolved mismatch between test and API definition for networkAccessIdentifier and sinkCredential by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/447 +* Fixed indentation, multiple blank line and trailing space errors in feature files by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/485 +* Fixed test plan step for Authorization Bearer by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/482 + +### Removed + +* Removed AUTHENTICATION_REQUIRED error by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/436 +* Removed the IDENTIFIER_MISMATCH error code option from 422 responses and associated test cases by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/453 + +**Full Changelog**: https://github.com/camaraproject/QualityOnDemand/compare/r2.2...r3.2 + # r3.1 ## Release Notes diff --git a/README.md b/README.md index d5a49ac01f..18ab1c2a24 100644 --- a/README.md +++ b/README.md @@ -30,24 +30,22 @@ Incubating API Repository to evolve and maintain the definitions and documentati * Note: Please be aware that the project will have frequent updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until a new release is created. For example, changes may be reverted before a release is created. **For best results, use the latest public release**. -* **NEW**: Pre-release [r3.1](https://github.com/camaraproject/QualityOnDemand/releases/tag/r3.1) with quality-on-demand v1.1.0-rc.2, qos-profiles v1.1.0-rc.2 and qos-provisioning v0.3.0-rc.1 is available. +* **NEW**: **The latest public release is [r3.2](https://github.com/camaraproject/QualityOnDemand/releases/tag/r3.2), with the following API versions:** -* **The latest public release is [r2.2](https://github.com/camaraproject/QualityOnDemand/releases/tag/r2.2), with the following API versions:** - - * **quality-on-demand v1.0.0 (first stable version)** - [[YAML]](https://github.com/camaraproject/QualityOnDemand/blob/r2.2/code/API_definitions/quality-on-demand.yaml) - [[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r2.2/code/API_definitions/quality-on-demand.yaml&nocors) - [[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r2.2/code/API_definitions/quality-on-demand.yaml) + * **quality-on-demand v1.1.0** + [[YAML]](https://github.com/camaraproject/QualityOnDemand/blob/r3.2/code/API_definitions/quality-on-demand.yaml) + [[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/code/API_definitions/quality-on-demand.yaml&nocors) + [[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/code/API_definitions/quality-on-demand.yaml) - * **qos-profiles v1.0.0 (first stable version)** - [[YAML]](https://github.com/camaraproject/QualityOnDemand/blob/r2.2/code/API_definitions/qos-profiles.yaml) - [[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r2.2/code/API_definitions/qos-profiles.yaml&nocors) - [[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r2.2/code/API_definitions/qos-profiles.yaml) + * **qos-profiles v1.1.0** + [[YAML]](https://github.com/camaraproject/QualityOnDemand/blob/r3.2/code/API_definitions/qos-profiles.yaml) + [[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/code/API_definitions/qos-profiles.yaml&nocors) + [[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/code/API_definitions/qos-profiles.yaml) - * qod-provisioning v0.2.0 (second initial version) - [[YAML]](https://github.com/camaraproject/QualityOnDemand/blob/r2.2/code/API_definitions/qod-provisioning.yaml) - [[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r2.2/code/API_definitions/qod-provisioning.yaml&nocors) - [[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r2.2/code/API_definitions/qod-provisioning.yaml) + * qos-provisioning v0.3.0 (third initial version) + [[YAML]](https://github.com/camaraproject/QualityOnDemand/blob/r3.2/code/API_definitions/qos-provisioning.yaml) + [[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/code/API_definitions/qos-provisioning.yaml&nocors) + [[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/code/API_definitions/qos-provisioning.yaml) * Previous releases and pre-releases are available here: https://github.com/camaraproject/QualityOnDemand/releases * For changes see the [CHANGELOG.md](https://github.com/camaraproject/QualityOnDemand/blob/main/CHANGELOG.md) diff --git a/code/API_definitions/qos-profiles.yaml b/code/API_definitions/qos-profiles.yaml index d2018c7388..ef30e711e1 100644 --- a/code/API_definitions/qos-profiles.yaml +++ b/code/API_definitions/qos-profiles.yaml @@ -15,7 +15,7 @@ info: - Discover the available QoS profiles for a specific device - Retrieve the characteristics of a specific QoS profile by name - How QoS profiles are mapped to connectivity characteristics are subject to agreements between the API provider and the API consumer. Within the CAMARA project, you can find a sample for such a mapping of QoS profiles. [CAMARA QoS Profiles Mapping Table (REFERENCE DRAFT)](https://github.com/camaraproject/QualityOnDemand/blob/r3.1/documentation/API_documentation/QoSProfile_Mapping_Table.md) + How QoS profiles are mapped to connectivity characteristics are subject to agreements between the API provider and the API consumer. Within the CAMARA project, you can find a sample for such a mapping of QoS profiles. [CAMARA QoS Profiles Mapping Table (REFERENCE DRAFT)](https://github.com/camaraproject/QualityOnDemand/blob/r3.2/documentation/API_documentation/QoSProfile_Mapping_Table.md) # Authorization and authentication @@ -57,7 +57,7 @@ info: license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html - version: wip + version: 1.1.0 x-camara-commonalities: 0.6 @@ -66,7 +66,7 @@ externalDocs: url: https://github.com/camaraproject/QualityOnDemand servers: - - url: "{apiRoot}/qos-profiles/vwip" + - url: "{apiRoot}/qos-profiles/v1" variables: apiRoot: default: http://localhost:9091 @@ -89,7 +89,7 @@ paths: - If the access token is 3-legged, all returned QoS Profiles will be available to the subject (device) associated with the access token. - If the access token is 2-legged and a device filter is provided, all returned QoS Profiles will be available to that device. If multiple device identifiers are provided within the device property, only QoS Profiles available to the device identifier chosen by the implementation will be returned, even if the identifiers do not match the same device. API provider does not perform any logic to validate/correlate that the indicated device identifiers match the same device. No error should be returned if the identifiers are otherwise valid to prevent API consumers correlating different identifiers with a given end user. - This call uses the POST method instead of GET to comply with the CAMARA Commonalities guidelines for sending sensitive or complex data in API calls. Since the device field may contain personally identifiable information, it should not be sent via GET. Additionally, this call may include complex data structures. - [CAMARA API Design Guidelines](https://github.com/camaraproject/Commonalities/blob/r2.3/documentation/API-design-guidelines.md#post-or-get-for-transferring-sensitive-or-complex-data) + [CAMARA API Design Guidelines](https://github.com/camaraproject/Commonalities/blob/r3.3/documentation/API-design-guidelines.md#post-or-get-for-transferring-sensitive-or-complex-data) security: - openId: diff --git a/code/API_definitions/qos-provisioning.yaml b/code/API_definitions/qos-provisioning.yaml index 69a727fa90..465bd8951c 100644 --- a/code/API_definitions/qos-provisioning.yaml +++ b/code/API_definitions/qos-provisioning.yaml @@ -74,7 +74,7 @@ info: license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html - version: wip + version: 0.3.0 x-camara-commonalities: 0.6 externalDocs: @@ -82,7 +82,7 @@ externalDocs: url: https://github.com/camaraproject/QualityOnDemand servers: - - url: "{apiRoot}/qos-provisioning/vwip" + - url: "{apiRoot}/qos-provisioning/v0.3" variables: apiRoot: default: http://localhost:9091 @@ -307,7 +307,7 @@ paths: - When a three-legged access token is used however, this optional identifier MUST NOT be provided, as the subject will be uniquely identified from the access token. - The QoS profile assignment must have been created by the same API consumer given in the access token. - If no QoS profile assignment is found for the device, an error response 404 is returned with code "NOT_FOUND". - - This call uses the POST method instead of GET to comply with the [CAMARA Commonalities guidelines](https://github.com/camaraproject/Commonalities/blob/r2.3/documentation/API-design-guidelines.md#post-or-get-for-transferring-sensitive-or-complex-data) for sending sensitive or complex data in API calls. Since the device field may contain personally identifiable information, it should not be sent via GET. + - This call uses the POST method instead of GET to comply with the [CAMARA Commonalities guidelines](https://github.com/camaraproject/Commonalities/blob/r3.3/documentation/CAMARA-API-Design-Guide.md#65-post-or-get-for-transferring-sensitive-or-complex-data) for sending sensitive or complex data in API calls. Since the device field may contain personally identifiable information, it should not be sent via GET. operationId: getQosAssignmentByDevice parameters: diff --git a/code/API_definitions/quality-on-demand.yaml b/code/API_definitions/quality-on-demand.yaml index 8e754b1794..9630e807f2 100644 --- a/code/API_definitions/quality-on-demand.yaml +++ b/code/API_definitions/quality-on-demand.yaml @@ -10,7 +10,7 @@ info: The QoD API offers the application developers the capability to request for stable latency (reduced jitter) or throughput for some specified application data flows between application clients (within a user device) and application servers (backend services). The developer has a pre-defined set of Quality of Service (QoS) profiles which they could choose from depending on their latency or throughput requirements. - ![QoD API Overview](https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.1/documentation/API_documentation/resources/QoD_latency_overview.PNG) + ![QoD API Overview](https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/documentation/API_documentation/resources/QoD_latency_overview.PNG) The usage of the API is based on QoS session resources, which can be created (based on available QoS profiles), queried and deleted. The deletion of a requested session can be triggered by the API consumer or can be triggered automatically once the QoS session has reached its limit. @@ -56,7 +56,7 @@ info: Following diagram shows the interaction between different components - ![QoD Management API](https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.1/documentation/API_documentation/resources/QoD_details.PNG) + ![QoD Management API](https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r3.2/documentation/API_documentation/resources/QoD_details.PNG) # Authorization and authentication @@ -102,7 +102,7 @@ info: license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html - version: wip + version: 1.1.0 x-camara-commonalities: 0.6 externalDocs: @@ -110,7 +110,7 @@ externalDocs: url: https://github.com/camaraproject/QualityOnDemand servers: - - url: "{apiRoot}/quality-on-demand/vwip" + - url: "{apiRoot}/quality-on-demand/v1" variables: apiRoot: default: http://localhost:9091 @@ -401,7 +401,7 @@ paths: - The session must have been created by the same API consumer given in the access token - If no QoS session is found for the requested device, an empty array is returned. - This call uses the POST method instead of GET to comply with the CAMARA Commonalities guidelines for sending sensitive or complex data in API calls. Since the device field may contain personally identifiable information, it should not be sent via GET. - [CAMARA API Design Guidelines](https://github.com/camaraproject/Commonalities/blob/r2.3/documentation/API-design-guidelines.md#post-or-get-for-transferring-sensitive-or-complex-data) + [CAMARA API Design Guidelines](https://github.com/camaraproject/Commonalities/blob/r3.3/documentation/CAMARA-API-Design-Guide.md#65-post-or-get-for-transferring-sensitive-or-complex-data) operationId: retrieveSessionsByDevice parameters: diff --git a/code/Test_definitions/qos-profiles-getQosProfile.feature b/code/Test_definitions/qos-profiles-getQosProfile.feature index 1c35a42f0d..0e134effca 100644 --- a/code/Test_definitions/qos-profiles-getQosProfile.feature +++ b/code/Test_definitions/qos-profiles-getQosProfile.feature @@ -1,4 +1,4 @@ -Feature: CAMARA QoS Profiles API, vwip - Operation getQosProfile +Feature: CAMARA QoS Profiles API, v1.1.0 - Operation getQosProfile # Input to be provided by the implementation to the tester # # Implementation indications: @@ -11,7 +11,7 @@ Feature: CAMARA QoS Profiles API, vwip - Operation getQosProfile Background: Common getQosProfile setup Given an environment at "apiRoot" - And the resource "/qos-profiles/vwip/qos-profiles/{name}" + And the resource "/qos-profiles/v1/qos-profiles/{name}" And the header "Authorization" is set to a valid access token And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" And the path param "name" is set by default to an existing QoS profile name diff --git a/code/Test_definitions/qos-profiles-retrieveQoSProfiles.feature b/code/Test_definitions/qos-profiles-retrieveQoSProfiles.feature index 4713996039..401bcf9022 100644 --- a/code/Test_definitions/qos-profiles-retrieveQoSProfiles.feature +++ b/code/Test_definitions/qos-profiles-retrieveQoSProfiles.feature @@ -1,4 +1,4 @@ -Feature: CAMARA QoS Profiles API, vwip - Operation retrieveQoSProfiles +Feature: CAMARA QoS Profiles API, v1.1.0 - Operation retrieveQoSProfiles # Input to be provided by the implementation to the tester # # Implementation indications: @@ -15,7 +15,7 @@ Feature: CAMARA QoS Profiles API, vwip - Operation retrieveQoSProfiles Background: Common retrieveQoSProfiles setup Given an environment at "apiRoot" - And the resource "/qos-profiles/vwip/retrieve-qos-profiles" + And the resource "/qos-profiles/v1/retrieve-qos-profiles" And the header "Content-Type" is set to "application/json" And the header "Authorization" is set to a valid access token And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" diff --git a/code/Test_definitions/qos-provisioning-createQosAssignment.feature b/code/Test_definitions/qos-provisioning-createQosAssignment.feature index ec66f0236a..301fff53f0 100644 --- a/code/Test_definitions/qos-provisioning-createQosAssignment.feature +++ b/code/Test_definitions/qos-provisioning-createQosAssignment.feature @@ -1,4 +1,4 @@ -Feature: CAMARA QoS Provisioning API, vwip - Operation createQosAssignment +Feature: CAMARA QoS Provisioning API, v0.3.0 - Operation createQosAssignment # Input to be provided by the implementation to the tester # # Implementation indications: @@ -14,7 +14,7 @@ Feature: CAMARA QoS Provisioning API, vwip - Operation createQosAssignment Background: Common createQosAssignment setup Given an environment at "apiRoot" - And the resource "/qos-provisioning/vwip/qos-assignments" + And the resource "/qos-provisioning/v0.3/qos-assignments" And the header "Content-Type" is set to "application/json" And the header "Authorization" is set to a valid access token And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" diff --git a/code/Test_definitions/qos-provisioning-getQosAssignmentByDevice.feature b/code/Test_definitions/qos-provisioning-getQosAssignmentByDevice.feature index 43170ac256..4898d8fd8f 100644 --- a/code/Test_definitions/qos-provisioning-getQosAssignmentByDevice.feature +++ b/code/Test_definitions/qos-provisioning-getQosAssignmentByDevice.feature @@ -1,4 +1,4 @@ -Feature: CAMARA QoS Provisioning API, vwip - Operation getQosAssignmentByDevice +Feature: CAMARA QoS Provisioning API, v0.3.0 - Operation getQosAssignmentByDevice # Input to be provided by the implementation to the tester # # Implementation indications: @@ -15,7 +15,7 @@ Feature: CAMARA QoS Provisioning API, vwip - Operation getQosAssignmentByDevice Background: Common getQosAssignmentByDevice setup Given an environment at "apiRoot" - And the resource "/qos-provisioning/vwip/retrieve-qos-assignment" + And the resource "/qos-provisioning/v0.3/retrieve-qos-assignment" And the header "Content-Type" is set to "application/json" # Unless indicated otherwise the QoS assignment must be created by the same API client given in the access token And the header "Authorization" is set to a valid access token granted to the same client that created the QoS assignment diff --git a/code/Test_definitions/qos-provisioning-getQosAssignmentById.feature b/code/Test_definitions/qos-provisioning-getQosAssignmentById.feature index 3cc791278b..426e97fcb6 100644 --- a/code/Test_definitions/qos-provisioning-getQosAssignmentById.feature +++ b/code/Test_definitions/qos-provisioning-getQosAssignmentById.feature @@ -1,4 +1,4 @@ -Feature: CAMARA QoS Provisioning API, vwip - Operation getQosAssignmentById +Feature: CAMARA QoS Provisioning API, v0.3.0 - Operation getQosAssignmentById # Input to be provided by the implementation to the tester # # Implementation indications: @@ -11,7 +11,7 @@ Feature: CAMARA QoS Provisioning API, vwip - Operation getQosAssignmentById Background: Common getQosAssignmentById setup Given an environment at "apiRoot" - And the resource "/qos-provisioning/vwip/qos-assignments/{assignmentId}" + And the resource "/qos-provisioning/v0.3/qos-assignments/{assignmentId}" # Unless indicated otherwise the QoS assignment must be created by the same API client given in the access token And the header "Authorization" is set to a valid access token granted to the same client that created the QoS assignment And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" diff --git a/code/Test_definitions/qos-provisioning-revokeQosAssignment.feature b/code/Test_definitions/qos-provisioning-revokeQosAssignment.feature index 1c907a5b20..9a752f9e08 100644 --- a/code/Test_definitions/qos-provisioning-revokeQosAssignment.feature +++ b/code/Test_definitions/qos-provisioning-revokeQosAssignment.feature @@ -1,4 +1,4 @@ -Feature: CAMARA QoS Provisioning API, vwip - Operation revokeQosAssignment +Feature: CAMARA QoS Provisioning API, v0.3.0 - Operation revokeQosAssignment # Input to be provided by the implementation to the tester # # Implementation indications: @@ -12,7 +12,7 @@ Feature: CAMARA QoS Provisioning API, vwip - Operation revokeQosAssignment Background: Common revokeQosAssignment setup Given an environment at "apiRoot" - And the resource "/qos-provisioning/vwip/qos-assignments/{assignmentId}" + And the resource "/qos-provisioning/v0.3/qos-assignments/{assignmentId}" # Unless indicated otherwise the QoS assignment must be created by the same API client given in the access token And the header "Authorization" is set to a valid access token granted to the same client that created the QoS assignment And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" diff --git a/code/Test_definitions/quality-on-demand-createSession.feature b/code/Test_definitions/quality-on-demand-createSession.feature index f164b09a56..c9bd3be5d3 100644 --- a/code/Test_definitions/quality-on-demand-createSession.feature +++ b/code/Test_definitions/quality-on-demand-createSession.feature @@ -1,4 +1,4 @@ -Feature: CAMARA Quality On Demand API, vwip - Operation createSession +Feature: CAMARA Quality On Demand API, v1.1.0 - Operation createSession # Input to be provided by the implementation to the tester # # Implementation indications: @@ -16,7 +16,7 @@ Feature: CAMARA Quality On Demand API, vwip - Operation createSession Background: Common createSession setup Given an environment at "apiRoot" - And the resource "/quality-on-demand/vwip/sessions" + And the resource "/quality-on-demand/v1/sessions" And the header "Content-Type" is set to "application/json" And the header "Authorization" is set to a valid access token And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" diff --git a/code/Test_definitions/quality-on-demand-deleteSession.feature b/code/Test_definitions/quality-on-demand-deleteSession.feature index c296430228..876bc37ff2 100644 --- a/code/Test_definitions/quality-on-demand-deleteSession.feature +++ b/code/Test_definitions/quality-on-demand-deleteSession.feature @@ -1,4 +1,4 @@ -Feature: CAMARA Quality On Demand API, vwip - Operation deleteSession +Feature: CAMARA Quality On Demand API, v1.1.0 - Operation deleteSession # Input to be provided by the implementation to the tester # # Implementation indications: @@ -13,7 +13,7 @@ Feature: CAMARA Quality On Demand API, vwip - Operation deleteSession Background: Common deleteSession setup Given an environment at "apiRoot" - And the resource "/quality-on-demand/vwip/sessions/{sessionId}" + And the resource "/quality-on-demand/v1/sessions/{sessionId}" # Unless indicated otherwise the QoD provisioning must be created by the same API client given in the access token And the header "Authorization" is set to a valid access token And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" diff --git a/code/Test_definitions/quality-on-demand-extendQosSessionDuration.feature b/code/Test_definitions/quality-on-demand-extendQosSessionDuration.feature index 088102e724..e3449f91e2 100644 --- a/code/Test_definitions/quality-on-demand-extendQosSessionDuration.feature +++ b/code/Test_definitions/quality-on-demand-extendQosSessionDuration.feature @@ -1,4 +1,4 @@ -Feature: CAMARA Quality On Demand API, vwip - Operation extendQosSessionDuration +Feature: CAMARA Quality On Demand API, v1.1.0 - Operation extendQosSessionDuration # Input to be provided by the implementation to the tester # # Implementation indications: @@ -12,7 +12,7 @@ Feature: CAMARA Quality On Demand API, vwip - Operation extendQosSessionDuration Background: Common extendQosSessionDuration setup Given an environment at "apiRoot" - And the resource "/quality-on-demand/vwip/sessions/{sessionId}/extend" + And the resource "/quality-on-demand/v1/sessions/{sessionId}/extend" And the header "Content-Type" is set to "application/json" And the header "Authorization" is set to a valid access token And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" diff --git a/code/Test_definitions/quality-on-demand-getSession.feature b/code/Test_definitions/quality-on-demand-getSession.feature index 3a5df0323b..d18f806bcc 100644 --- a/code/Test_definitions/quality-on-demand-getSession.feature +++ b/code/Test_definitions/quality-on-demand-getSession.feature @@ -1,4 +1,4 @@ -Feature: CAMARA Quality On Demand API, vwip - Operation getSession +Feature: CAMARA Quality On Demand API, v1.1.0 - Operation getSession # Input to be provided by the implementation to the tester # # Implementation indications: @@ -11,7 +11,7 @@ Feature: CAMARA Quality On Demand API, vwip - Operation getSession Background: Common getSession setup Given an environment at "apiRoot" - And the resource "/quality-on-demand/vwip/sessions/{sessionId}" + And the resource "/quality-on-demand/v1/sessions/{sessionId}" # Unless indicated otherwise the session must be created by the same API client given in the access token And the header "Authorization" is set to a valid access token And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" diff --git a/code/Test_definitions/quality-on-demand-retrieveSessionsByDevice.feature b/code/Test_definitions/quality-on-demand-retrieveSessionsByDevice.feature index b993621bb1..0b5db9e0e6 100644 --- a/code/Test_definitions/quality-on-demand-retrieveSessionsByDevice.feature +++ b/code/Test_definitions/quality-on-demand-retrieveSessionsByDevice.feature @@ -1,4 +1,4 @@ -Feature: CAMARA Quality On Demand API, vwip - Operation retrieveSessionsByDevice +Feature: CAMARA Quality On Demand API, v1.1.0 - Operation retrieveSessionsByDevice # Input to be provided by the implementation to the tester # # Implementation indications: @@ -15,7 +15,7 @@ Feature: CAMARA Quality On Demand API, vwip - Operation retrieveSessionsByDevice Background: Common retrieveSessionsByDevice setup Given an environment at "apiRoot" - And the resource "/quality-on-demand/vwip/retrieve-sessions" + And the resource "/quality-on-demand/v1/retrieve-sessions" And the header "Content-Type" is set to "application/json" And the header "Authorization" is set to a valid access token And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" diff --git a/documentation/API_documentation/qos-profiles-API-Readiness-Checklist.md b/documentation/API_documentation/qos-profiles-API-Readiness-Checklist.md index 6fb98fc18c..cd4df89880 100644 --- a/documentation/API_documentation/qos-profiles-API-Readiness-Checklist.md +++ b/documentation/API_documentation/qos-profiles-API-Readiness-Checklist.md @@ -1,23 +1,23 @@ # API Readiness Checklist -Checklist for qos-profiles v1.1.0-rc.2 in r3.1 +Checklist for qos-profiles v1.1.0 in r3.2 | Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information | |----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|----| | 1 | API definition | M | M | M | M | Y | [/code/API_definitions/qos-profiles.yaml](/code/API_definitions/qos-profiles.yaml) | -| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/Commonalities/releases/tag/r3.2) | -| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.2) | +| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/Commonalities/releases/tag/r3.3) | +| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3) | | 4 | API versioning convention applied | M | M | M | M | Y | | | 5 | API documentation | M | M | M | M | Y | inline within YAML | | 6 | User stories | O | O | O | M | Y | [/documentation/API_documentation/QoSProfile_User_Story.md](/documentation/API_documentation/QoSProfile_User_Story.md) | | 7 | Basic API test cases & documentation | O | M | M | M | Y | [/code/Test_definitions](/code/Test_definitions) | | 8 | Enhanced API test cases & documentation | O | O | O | M | Y | [/code/Test_definitions](/code/Test_definitions) | -| 9 | Test result statement | O | O | O | M | Y | na for rc version | +| 9 | Test result statement | O | O | O | M | Y | see issue [#492](https://github.com/camaraproject/QualityOnDemand/issues/492) | | 10 | API release numbering convention applied | M | M | M | M | Y | | | 11 | Change log updated | M | M | M | M | Y | [/CHANGELOG.md](/CHANGELOG.md) | | 12 | Previous public release was certified | O | O | O | M | Y | see (1) | | 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/x/AYCtB) | -(1) Multiple implementation by other operators of previous versions (source: https://open-gateway.gsma.com/map as of 2025-06-27, previous certifications were removed from the overview (?)). +(1) Multiple implementation by other operators of previous versions (source: https://open-gateway.gsma.com/map as of 2025-08-29). The documentation for the content of the checklist is here: see API Readiness Checklist section in the [API Release Process](https://lf-camaraproject.atlassian.net/wiki/x/jine). diff --git a/documentation/API_documentation/qos-provisioning-API-Readiness-Checklist.md b/documentation/API_documentation/qos-provisioning-API-Readiness-Checklist.md index 5533e9fe5f..6f121f2707 100644 --- a/documentation/API_documentation/qos-provisioning-API-Readiness-Checklist.md +++ b/documentation/API_documentation/qos-provisioning-API-Readiness-Checklist.md @@ -1,12 +1,12 @@ # API Readiness Checklist -Checklist for qos-provisioning v0.3.0-rc.1 in r3.1 +Checklist for qos-provisioning v0.3.0 in r3.2 | Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information | |----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|------| | 1 | API definition | M | M | M | M | Y | [/code/API_definitions/qos-provisioning.yaml](/code/API_definitions/qos-provisioning.yaml) | -| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/Commonalities/releases/tag/r3.2) | -| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.2) | +| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/Commonalities/releases/tag/r3.3) | +| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3) | | 4 | API versioning convention applied | M | M | M | M | Y | | | 5 | API documentation | M | M | M | M | Y | inline in YAML | | 6 | User stories | O | O | O | M | N | | @@ -16,6 +16,6 @@ Checklist for qos-provisioning v0.3.0-rc.1 in r3.1 | 10 | API release numbering convention applied | M | M | M | M | Y | | | 11 | Change log updated | M | M | M | M | Y | [/CHANGELOG.md](/CHANGELOG.md) | | 12 | Previous public release was certified | O | O | O | M | N | | -| 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/x/FYCtB) | +| 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/x/FYCtB) | The documentation for the content of the checklist is here: see API Readiness Checklist section in the [API Release Process](https://lf-camaraproject.atlassian.net/wiki/x/jine). diff --git a/documentation/API_documentation/quality-on-demand-API-Readiness-Checklist.md b/documentation/API_documentation/quality-on-demand-API-Readiness-Checklist.md index 95938608ef..8e68dc144c 100644 --- a/documentation/API_documentation/quality-on-demand-API-Readiness-Checklist.md +++ b/documentation/API_documentation/quality-on-demand-API-Readiness-Checklist.md @@ -1,23 +1,23 @@ # API Readiness Checklist -Checklist for quality-on-demand v1.1.0-rc.2 in r3.1 +Checklist for quality-on-demand v1.1.0 in r3.2 | Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information | |----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|----| | 1 | API definition | M | M | M | M | Y | [/code/API_definitions/quality-on-demand.yaml](/code/API_definitions/quality-on-demand.yaml) | -| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/Commonalities/releases/tag/r3.2) | -| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.2) | +| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/Commonalities/releases/tag/r3.3) | +| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3) | | 4 | API versioning convention applied | M | M | M | M | Y | | | 5 | API documentation | M | M | M | M | Y | inline in YAML | | 6 | User stories | O | O | O | M | Y | [/documentation/API_documentation/QoD_User_Story.md](/documentation/API_documentation/QoD_User_Story.md) | | 7 | Basic API test cases & documentation | O | M | M | M | Y | [/code/Test_definitions](/code/Test_definitions) | | 8 | Enhanced API test cases & documentation | O | O | O | M | Y | [/code/Test_definitions](/code/Test_definitions) | -| 9 | Test result statement | O | O | O | M | Y | na for rc version | +| 9 | Test result statement | O | O | O | M | Y | see issue [#493](https://github.com/camaraproject/QualityOnDemand/issues/493) | | 10 | API release numbering convention applied | M | M | M | M | Y | | | 11 | Change log updated | M | M | M | M | Y | [/CHANGELOG.md](/CHANGELOG.md) | | 12 | Previous public release was certified | O | O | O | M | Y | see (1) | | 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/x/9ACqB) | -(1) Multiple implementation by other operators of previous versions (source: https://open-gateway.gsma.com/map as of 2025-06-27, previous certifications were removed from the overview (?)). +(1) Multiple implementation by other operators of previous versions (source: https://open-gateway.gsma.com/map as of 2025-08-29). The documentation for the content of the checklist is here: see API Readiness Checklist section in the [API Release Process](https://lf-camaraproject.atlassian.net/wiki/x/jine).