Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
ca81b07
Update CHANGELOG.md
Masa8106 Aug 29, 2025
7de622b
Update README.md
Masa8106 Aug 29, 2025
3de79aa
Update qos-booking-and-assignment.yaml
Masa8106 Aug 29, 2025
1732b9f
Update qos-booking.yaml
Masa8106 Aug 29, 2025
5bca89d
Delete code/Test_definitions/README.md
Masa8106 Aug 29, 2025
5bf3275
Update qos-booking-and-assignment.feature
Masa8106 Aug 29, 2025
954e234
Update qos-booking.feature
Masa8106 Aug 29, 2025
de3f880
Update qos-booking-and-assignment.feature
Masa8106 Aug 29, 2025
06fa6c6
Update qos-booking-API-Readiness-Checklist.md
Masa8106 Aug 29, 2025
9c003e6
Update qos-booking-and-assignment-API-Readiness-Checklist.md
Masa8106 Aug 29, 2025
66e5c17
Update qos-booking-and-assignment.yaml
hdamker Aug 30, 2025
9d138c0
Update qos-booking.yaml
hdamker Aug 30, 2025
fc0942d
Update qos-booking-API-Readiness-Checklist.md
Masa8106 Sep 1, 2025
a9c12d7
Update qos-booking-and-assignment-API-Readiness-Checklist.md
Masa8106 Sep 1, 2025
cf76f90
Update CHANGELOG.md
Masa8106 Sep 1, 2025
a281b30
Update CHANGELOG.md
Masa8106 Sep 1, 2025
5d473a0
Merge branch 'camaraproject:main' into Masa8106-release-r1.2
Masa8106 Sep 3, 2025
00cdc70
Update CHANGELOG.md
jlurien Sep 4, 2025
b5412e9
Update CHANGELOG.md
Masa8106 Sep 11, 2025
6aa2001
Update CHANGELOG.md
Masa8106 Sep 11, 2025
76f9998
Update code/Test_definitions/qos-booking-and-assignment.feature
Masa8106 Sep 11, 2025
f001248
Update code/Test_definitions/qos-booking-and-assignment.feature
Masa8106 Sep 11, 2025
fb967d6
Update code/Test_definitions/qos-booking-and-assignment.feature
Masa8106 Sep 11, 2025
f6fa984
Update code/Test_definitions/qos-booking-and-assignment.feature
Masa8106 Sep 11, 2025
cb8d0e2
Update code/Test_definitions/qos-booking-and-assignment.feature
Masa8106 Sep 11, 2025
a256eba
Update code/Test_definitions/qos-booking-and-assignment.feature
Masa8106 Sep 11, 2025
6f8c606
Update code/Test_definitions/qos-booking-and-assignment.feature
Masa8106 Sep 11, 2025
167351c
Update code/Test_definitions/qos-booking-and-assignment.feature
Masa8106 Sep 11, 2025
54d94a2
Update code/Test_definitions/qos-booking-and-assignment.feature
Masa8106 Sep 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 40 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

## Table of contents

- **[r1.1](#r11)**
- **[r1.2](#r12) (Fall25 public release)**
- [r1.1](#r11)

**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 it has been released. For example, changes may be reverted before a release is published. For the best results, use the latest published release.**

Expand All @@ -13,6 +14,44 @@ 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

# r1.2

## Release Notes

This public release contains the definition and documentation of
* qos-booking v0.1.0
* qos-booking-and-assignment v0.1.0

The API definition(s) are based on
* Commonalities v0.6.0 (r3.3)
* Identity and Consent Management v0.4.0 (r3.3)

## qos-booking v0.1.0

**qos-booking v0.1.0 is the first public release of this new API.**

- API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QoSBooking/r1.2/code/API_definitions/qos-booking.yaml&nocors)
- [View it on Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/QoSBooking/r1.2/code/API_definitions/qos-booking.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/QoSBooking/blob/r1.2/code/API_definitions/qos-booking.yaml)

### Added
* Initial contribution of the QoS Booking API <br> which includes all alignments and fixes since the pre-release

## qos-booking-and-assignment v0.1.0

**qos-booking-and-assignment v0.1.0 is the first public release of this new API.**

- API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QoSBooking/r1.2/code/API_definitions/qos-booking-and-assignment.yaml&nocors)
- [View it on Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/QoSBooking/r1.2/code/API_definitions/qos-booking-and-assignment.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/QoSBooking/blob/r1.2/code/API_definitions/qos-booking-and-assignment.yaml)

### Added
* Initial contribution of the QoS Booking and Assignment API <br> which includes all alignments and fixes since the pre-release

**Full Changelog**: https://github.com/camaraproject/QoSBooking/commits/r1.2

# r1.1

## Release Notes
Expand Down
15 changes: 3 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,12 @@ Sandbox API Repository to describe, develop, document, and test the QoSBooking S

## Release Information

The repository has no releases yet, work in progress is within the main branch.
<!-- Optional: an explicit listing of the latest (pre-)release with additional information, e.g. links to the API definitions -->
<!-- In addition use/uncomment one or multiple the following alternative options when becoming applicable -->
<!-- Pre-releases of this sub project are available in https://github.com/camaraproject/QoSBooking/releases -->
<!-- The latest public release is available here: https://github.com/camaraproject/QoSBooking/releases/latest -->
<!-- For changes see [CHANGELOG.md](https://github.com/camaraproject/QoSBooking/blob/main/CHANGELOG.md) -->

* Note: Please be aware that the project will have 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 available release.

* **The first pre-release of CAMARA QoS Booking is [r1.1](https://github.com/camaraproject/QoSBooking/releases/tag/r1.1)**. The Release Tag is [r1.1](https://github.com/camaraproject/QoSBooking/releases/tag/r1.1).

- Contains the following API definitions **with inline documentation**:
* **NEW**: **The latest public release is [r1.2](https://github.com/camaraproject/QoSBooking/releases/tag/r1.2), with the following API versions:**

- qos-booking 0.1.0-rc.1 (booking QoS for a single device for a certain time and area)<br>[YAML spec file](https://github.com/camaraproject/QoSBooking/blob/r1.1/code/API_definitions/qos-booking.yaml) | [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QoSBooking/r1.1/code/API_definitions/qos-booking.yaml&nocors) | [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QoSBooking/r1.1/code/API_definitions/qos-booking.yaml&nocors)
- qos-booking-and-assignment 0.1.0-rc.1 (booking QoS for multiple devices for a certain time and area, and assignment of devices to the booking, e.g. on a later time)<br>[YAML spec file](https://github.com/camaraproject/QoSBooking/blob/r1.1/code/API_definitions/qos-booking-and-assignment.yaml) | [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QoSBooking/r1.1/code/API_definitions/qos-booking-and-assignment.yaml&nocors) | [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QoSBooking/r1.1/code/API_definitions/qos-booking-and-assignment.yaml&nocors)
- qos-booking 0.1.0 (booking QoS for a single device for a certain time and area)<br>[YAML spec file](https://github.com/camaraproject/QoSBooking/blob/r1.2/code/API_definitions/qos-booking.yaml) | [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QoSBooking/r1.2/code/API_definitions/qos-booking.yaml&nocors) | [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QoSBooking/r1.2/code/API_definitions/qos-booking.yaml&nocors)
- qos-booking-and-assignment 0.1.0 (booking QoS for multiple devices for a certain time and area, and assignment of devices to the booking, e.g. on a later time)<br>[YAML spec file](https://github.com/camaraproject/QoSBooking/blob/r1.2/code/API_definitions/qos-booking-and-assignment.yaml) | [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QoSBooking/r1.2/code/API_definitions/qos-booking-and-assignment.yaml&nocors) | [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/QoSBooking/r1.2/code/API_definitions/qos-booking-and-assignment.yaml&nocors)

## Contributing
* Meetings are held virtually
Expand Down
4 changes: 2 additions & 2 deletions code/API_definitions/qos-booking-and-assignment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,15 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
version: 0.1.0
x-camara-commonalities: 0.6

externalDocs:
description: Product documentation at CAMARA
url: https://github.com/camaraproject/QoSBooking

servers:
- url: "{apiRoot}/qos-booking-and-assignment/vwip"
- url: "{apiRoot}/qos-booking-and-assignment/v0.1"
variables:
apiRoot:
default: http://localhost:9091
Expand Down
4 changes: 2 additions & 2 deletions code/API_definitions/qos-booking.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,15 +69,15 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
version: 0.1.0
x-camara-commonalities: 0.6

externalDocs:
description: Project documentation at CAMARA
url: https://github.com/camaraproject/QoSBooking

servers:
- url: "{apiRoot}/qos-booking/vwip"
- url: "{apiRoot}/qos-booking/v0.1"
variables:
apiRoot:
default: http://localhost:9091
Expand Down
1 change: 0 additions & 1 deletion code/Test_definitions/README.md

This file was deleted.

21 changes: 12 additions & 9 deletions code/Test_definitions/qos-booking-and-assignment.feature
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
Feature: CAMARA QoS Booking and Assignment, vwip
Feature: CAMARA QoS Booking and Assignment, v0.1.0
# Input to be provided by the implementation to the tester
#
# Implementation indications:
# * apiRoot: API root of the server URL
# References to OAS spec schemas refer to schemas specified in qos-booking-and-assignment.yaml

Background: Common QoS Booking setup
Expand All @@ -11,7 +14,7 @@ Feature: CAMARA QoS Booking and Assignment, vwip
# Reserve a set of devices for a given qos profile, service area, scheduled future time and duration
@qos_bookings_createBooking_201_success
Scenario: Create a QoS booking with valid parameters
Given the resource "{apiRoot}/qos-booking-and-assignment/vwip/qos-bookings"
Given the resource "/qos-booking-and-assignment/v0.1/qos-bookings"
And the header "Content-Type" is set to "application/json"
And the operationId is "createBooking"
And the request body is set to a request body compliant with the schema at "/components/schemas/BookingInput"
Expand All @@ -29,7 +32,7 @@ Feature: CAMARA QoS Booking and Assignment, vwip

@qos_bookings_createBooking_201_success_echo
Scenario: Create booking echoes selected request fields in response
Given the resource "{apiRoot}/qos-booking-and-assignment/vwip/qos-bookings"
Given the resource "/qos-booking-and-assignment/v0.1/qos-bookings"
And the operationId is "createBooking"
And the request body is set to a request body compliant with the schema at "/components/schemas/BookingInput"
And the request body property "$.qosProfile" is set to a valid QoS Profile as returned by QoS Profiles API
Expand All @@ -49,7 +52,7 @@ Feature: CAMARA QoS Booking and Assignment, vwip
# Given a bookingID, this GET operation gets the details of the original booking
@qos_bookings_getBookingById_200_success
Scenario: Get an existing QoS booking by bookingId
Given the resource "{apiRoot}/qos-booking-and-assignment/vwip/qos-bookings"
Given the resource "/qos-booking-and-assignment/v0.1/qos-bookings"
And an existing QoS booking with "bookingId" is created by the operation "createBooking"
And the operationId is "getBookingById"
When the request "getBookingById" is sent
Expand All @@ -69,7 +72,7 @@ Feature: CAMARA QoS Booking and Assignment, vwip
# This operation deletes a booking identified by bookingID.
@qos_bookings_deleteBooking_200_success
Scenario: Delete a QoS booking
Given the resource "{apiRoot}/qos-booking-and-assignment/vwip/qos-bookings"
Given the resource "/qos-booking-and-assignment/v0.1/qos-bookings"
And "bookingId" is created by operation "createBooking"
And the operationId is "deleteBooking"
When the request "deleteBooking" is sent
Expand All @@ -86,7 +89,7 @@ Feature: CAMARA QoS Booking and Assignment, vwip
# This operation assigns set of devices to a booking.
@devices_assignDevices_201_success
Scenario: Assign a set of devices to a QoS booking
Given the resource "{apiRoot}/qos-booking-and-assignment/vwip/qos-bookings/{bookingId}/devices/assign"
Given the resource "/qos-booking-and-assignment/v0.1/qos-bookings/{bookingId}/devices/assign"
And the "bookingId" is created by operation "createBooking"
And the operationId is "assignDevices"
And the request body complies with the OAS schema at "/components/schemas/DeviceAssignmentInput"
Expand All @@ -106,7 +109,7 @@ Feature: CAMARA QoS Booking and Assignment, vwip
# This operation releases a set of devices from a booking which are already assigned to the booking
@devices_releaseDevices_200_success
Scenario: Release one or more of already assigned devices from a QoS booking
Given the resource "{apiRoot}/qos-booking-and-assignment/vwip/qos-bookings/{bookingId}/devices/release"
Given the resource "/qos-booking-and-assignment/v0.1/qos-bookings/{bookingId}/devices/release"
And the "bookingId" is created by operation "createBooking"
And the operationId is "releaseDevices"
And the request body complies with the OAS schema at "/components/schemas/DeviceAssignmentInput"
Expand All @@ -125,7 +128,7 @@ Feature: CAMARA QoS Booking and Assignment, vwip
# This operation gets the list of devices assigned to a booking
@devices_getDevicesByBookingId_200_success
Scenario: Get a list of devices assigned to a QoS booking
Given the resource "{apiRoot}/qos-booking-and-assignment/vwip/qos-bookings/{bookingId}/devices"
Given the resource "/qos-booking-and-assignment/v0.1/qos-bookings/{bookingId}/devices"
And the "bookingId" is created by operation "createBooking"
And the operationId is "getDevicesByBookingId"
When the request "getDevicesByBookingId" is sent
Expand All @@ -141,7 +144,7 @@ Feature: CAMARA QoS Booking and Assignment, vwip
@devices_retrieveBooking_200_success
Scenario: Get QoS Booking resource information details for a device
Given a valid testing device with an existing QoS Booking, identified by the token or provided in the request body
And the resource "{apiRoot}/qos-booking-and-assignment/vwip/qos-bookings/retrieve"
And the resource "/qos-booking-and-assignment/v0.1/qos-bookings/retrieve"
When the request "retrieveBookingByDevice" is sent
Then the response status code is 200
And the response header "Content-Type" is "application/json"
Expand Down
10 changes: 5 additions & 5 deletions code/Test_definitions/qos-booking.feature
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Feature: CAMARA QoS Booking API, vwip - API Operations
Feature: CAMARA QoS Booking API, v0.1.0 - API Operations
# Input to be provided by the implementation to the tester
#
# Implementation indications:
Expand Down Expand Up @@ -26,7 +26,7 @@ Feature: CAMARA QoS Booking API, vwip - API Operations

@qos_booking_createBooking_01_success
Scenario: Create a QoS booking with valid parameters
Given the resource "/qos-booking/vwip/device-qos-bookings"
Given the resource "/qos-booking/v0.1/device-qos-bookings"
And the header "Content-Type" is set to "application/json"
And the request body is set to a request body compliant with the schema at "/components/schemas/CreateBooking"
And the request body property "$.qosProfile" is set to a valid QoS Profile as returned by QoS Profiles API
Expand All @@ -45,7 +45,7 @@ Feature: CAMARA QoS Booking API, vwip - API Operations

@qos_booking_getBooking_01_success
Scenario: Get an existing QoS booking by bookingId
Given the resource "/qos-booking/vwip/device-qos-bookings/{bookingId}"
Given the resource "/qos-booking/v0.1/device-qos-bookings/{bookingId}"
And an existing QoS booking created by operation createBooking
And the path parameter "bookingId" is set to the value for that QoS booking
When the request "getBookingById" is sent
Expand All @@ -67,7 +67,7 @@ Feature: CAMARA QoS Booking API, vwip - API Operations
Scenario: Delete a QoS booking
Given that implementation deletes QoS booking synchronously
And an existing QoS booking created by operation createBooking
And the resource "/qos-booking/vwip/device-qos-bookings/{bookingId}"
And the resource "/qos-booking/v0.1/device-qos-bookings/{bookingId}"
And the path parameter "bookingId" is set to the value for that QoS booking
When the request "deleteBooking" is sent
Then the response status code is 204
Expand All @@ -78,7 +78,7 @@ Feature: CAMARA QoS Booking API, vwip - API Operations
@qos_booking_retrieveBooking_01_success
Scenario: Get QoS Booking resource information details for a device
Given a valid testing device with an existing QoS Booking, identified by the token or provided in the request body
And the resource "/qos-booking/vwip/retrieve-device-qos-bookings"
And the resource "/qos-booking/v0.1/retrieve-device-qos-bookings"
When the request "retrieveBookingByDevice" is sent
Then the response status code is 200
And the response header "Content-Type" is "application/json"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# API Readiness Checklist

Checklist for qos-booking v0.1.0-rc.1 in r1.1
Checklist for qos-booking v0.1.0 in r1.2

| Nr | API release assets | alpha | release-candidate | initial<br>public | stable<br> public | Status | Reference information |
|----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|:----:|
| 1 | API definition | M | M | M | M | Y | [link](/code/API_definitions/qos-booking.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 | contained in API definition |
| 6 | User stories | O | O | O | M | N | |
Expand All @@ -16,4 +16,4 @@ Checklist for qos-booking v0.1.0-rc.1 in r1.1
| 10 | API release numbering convention applied | M | M | M | M | Y | |
| 11 | Change log updated | M | M | M | M | Y | [link](/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/3YPVB) |
| 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/x/3YPVB) |
Loading