Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 6 additions & 4 deletions code/Test_definitions/dedicated-network-accesses.feature
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Feature: CAMARA Dedicated Network API, vwip - Network Accesses API Operations
#
# Testing assets:
# * At least one existing dedicated network
# * Valid device identifier (phoneNumber or networkAccessIdentifier)
# * Valid device identifier (phoneNumber)
# * At least one existing network access
#
# References to OAS spec schemas refer to schemas specified in dedicated-network-accesses.yaml
Expand Down Expand Up @@ -52,7 +52,9 @@ Feature: CAMARA Dedicated Network API, vwip - Network Accesses API Operations
And the response header "x-correlator" has the same value as the request header "x-correlator"
And the response body complies with the OAS schema at "/components/schemas/AccessInfosPage"
And the response property "$.items" is an array where each item complies with the OAS schema at "/components/schemas/AccessInfo"
And each item in the response array has property "device" containing the device identifier information that corresponds to the device specified in the "x-device" header
# NOTE: The x-device filter is applied server-side. The AccessInfo schema does not expose a top-level
# "device" property, so the filter result cannot be directly verified from the response body.
# Device data is only available at "$.recentAccessDevices[*].device" which is capped at 100 entries.

# Success scenarios for POST /accesses

Expand All @@ -69,7 +71,7 @@ Feature: CAMARA Dedicated Network API, vwip - Network Accesses API Operations
And the response header "Content-Type" is "application/json"
And the response header "x-correlator" has the same value as the request header "x-correlator"
And the response header "Location" exists and contains a URL with the created access ID
And the response body complies with the OAS schema at "/components/schemas/AccessInfo"
And the response body complies with the OAS schema at "/components/schemas/CreateAccessSuccess"
And the response property "$.networkId" has the same value as in the request body
And the response property "$.id" exists and is a valid UUID
And the response property "$.stats" exists and complies with the OAS schema at "/components/schemas/AccessStats"
Expand All @@ -86,7 +88,7 @@ Feature: CAMARA Dedicated Network API, vwip - Network Accesses API Operations
Then the response status code is 200
And the response header "Content-Type" is "application/json"
And the response header "x-correlator" has the same value as the request header "x-correlator"
And the response body complies with the OAS schema at "/components/schemas/AccessInfo"
And the response body complies with the OAS schema at "/components/schemas/ExtendedAccessInfo"
And the response property "$.id" is equal to the path parameter "accessId"
And the response property "$.stats" complies with the OAS schema at "/components/schemas/AccessStats"

Expand Down
10 changes: 8 additions & 2 deletions code/Test_definitions/dedicated-network-areas.feature
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ Feature: CAMARA Dedicated Network API, vwip - Areas API Operations
And the response header "x-correlator" has the same value as the request header "x-correlator"
And the response body complies with the OAS schema at "/components/schemas/ServiceAreasPage"
And the response property "$.items" is an array where each item complies with the OAS schema at "/components/schemas/ServiceArea"
And each item in the response array has property "$.area" whose geometry contains the coordinates specified in "$.atLocation"

@dedicated_network_areas_retrieveNetworkServiceAreas_03_success_filtered_by_overlappingArea_first_page
Scenario: List first page of areas filtered by overlappingArea
Expand All @@ -53,6 +54,7 @@ Feature: CAMARA Dedicated Network API, vwip - Areas API Operations
And the response header "x-correlator" has the same value as the request header "x-correlator"
And the response body complies with the OAS schema at "/components/schemas/ServiceAreasPage"
And the response property "$.items" is an array where each item complies with the OAS schema at "/components/schemas/ServiceArea"
And each item in the response array has property "$.area" whose geometry overlaps the area specified in "$.overlappingArea"

@dedicated_network_areas_retrieveNetworkServiceAreas_04_success_filtered_by_coveringArea_first_page
Scenario: List first page of areas filtered by coveringArea
Expand All @@ -66,6 +68,7 @@ Feature: CAMARA Dedicated Network API, vwip - Areas API Operations
And the response header "x-correlator" has the same value as the request header "x-correlator"
And the response body complies with the OAS schema at "/components/schemas/ServiceAreasPage"
And the response property "$.items" is an array where each item complies with the OAS schema at "/components/schemas/ServiceArea"
And each item in the response array has property "$.area" whose geometry fully covers the area specified in "$.coveringArea"

@dedicated_network_areas_retrieveNetworkServiceAreas_05_success_filtered_by_byName_first_page
Scenario: List first page of areas filtered by byName
Expand All @@ -79,32 +82,35 @@ Feature: CAMARA Dedicated Network API, vwip - Areas API Operations
And the response header "x-correlator" has the same value as the request header "x-correlator"
And the response body complies with the OAS schema at "/components/schemas/ServiceAreasPage"
And the response property "$.items" is an array where each item complies with the OAS schema at "/components/schemas/ServiceArea"
And each item in the response array has property "$.name" equal to the value specified in "$.byName"

@dedicated_network_areas_retrieveNetworkServiceAreas_06_success_filtered_by_byNetworkProfileId_first_page
Scenario: List first page of areas filtered by byNetworkProfileId
Given the resource "/dedicated-network-areas/vwip/retrieve-service-areas"
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/RetrieveServiceAreasRequest"
And the request body property "$.byNetworkProfileId" is set to a valid network profile
And the request body property "$.byNetworkProfileId" is set to a valid network profile ID
When the request "retrieveNetworkServiceAreas" is sent
Then the response status code is 200
And the response header "Content-Type" is "application/json"
And the response header "x-correlator" has the same value as the request header "x-correlator"
And the response body complies with the OAS schema at "/components/schemas/ServiceAreasPage"
And the response property "$.items" is an array where each item complies with the OAS schema at "/components/schemas/ServiceArea"
And each item in the response array has property "$.networkProfiles" containing the value specified in "$.byNetworkProfileId"

@dedicated_network_areas_retrieveNetworkServiceAreas_07_success_filtered_by_byQosProfileName_first_page
Scenario: List first page of areas filtered by byQosProfileName
Given the resource "/dedicated-network-areas/vwip/retrieve-service-areas"
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/RetrieveServiceAreasRequest"
And the request body property "$.byQosProfileName" is set to a valid qos profile
And the request body property "$.byQosProfileName" is set to a valid QoS profile name
When the request "retrieveNetworkServiceAreas" is sent
Then the response status code is 200
And the response header "Content-Type" is "application/json"
And the response header "x-correlator" has the same value as the request header "x-correlator"
And the response body complies with the OAS schema at "/components/schemas/ServiceAreasPage"
And the response property "$.items" is an array where each item complies with the OAS schema at "/components/schemas/ServiceArea"
And each item in the response array has property "$.qosProfiles" containing the value specified in "$.byQosProfileName"

# Success scenarios for GET /areas/{areaId}

Expand Down
10 changes: 7 additions & 3 deletions code/Test_definitions/dedicated-network.feature
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,16 @@ Feature: CAMARA Dedicated Network API, vwip - Networks API Operations
And the request body is set to a request body compliant with the schema at "/components/schemas/CreateNetwork"
And the request body property "$.networkProfileId" is set to a valid network profile ID
And the request body property "$.serviceTime" is set to a valid service time window
And the request body property "$.serviceAreaId" is set to a valid area name
And the request body property "$.serviceAreaId" is set to a valid service area ID
And the request body property "$.serviceTime.start" is set to a value in the future
When the request "createNetwork" is sent
Then the response status code is 201
And the response header "Content-Type" is "application/json"
And the response header "x-correlator" has the same value as the request header "x-correlator"
And the response header "Location" exists and contains a URL with the created network ID
And the response body complies with the OAS schema at "/components/schemas/NetworkInfo"
And the response property "$.id" exists and is a valid UUID
And the response property "$.status" is "REQUESTED"
And the response property "$.status" is "REQUESTED" or "RESERVED"

@dedicated_network_createNetwork_02_success_echo
Scenario: Create a dedicated network (response echoes request fields)
Expand All @@ -54,9 +55,12 @@ Feature: CAMARA Dedicated Network API, vwip - Networks API Operations
And the request body is set to a request body compliant with the schema at "/components/schemas/CreateNetwork"
And the request body property "$.networkProfileId" is set to a valid network profile ID
And the request body property "$.serviceTime" is set to a valid service time window
And the request body property "$.serviceAreaId" is set to a valid area name
And the request body property "$.serviceAreaId" is set to a valid service area ID
And the request body property "$.sink" is set to a valid notification URL
And the request body property "$.sinkCredential.credentialType" is set to "ACCESSTOKEN"
And the request body property "$.sinkCredential.accessToken" is set to a valid access token
And the request body property "$.sinkCredential.accessTokenExpiresUtc" is set to a valid expiration time in the future
And the request body property "$.sinkCredential.accessTokenType" is set to "bearer"
When the request "createNetwork" is sent
Then the response status code is 201
And the response property "$.networkProfileId" has the same value as in the request body
Expand Down
Loading