From 3f4a1a074b3b967afcdaea0ea4e5adc06816b00f Mon Sep 17 00:00:00 2001 From: Fan Yang-ChinaUnicom <130550398+chinaunicomyangfan@users.noreply.github.com> Date: Fri, 27 Jun 2025 17:06:02 +0800 Subject: [PATCH 1/3] Add files via upload --- .../subscription-status.feature | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 code/Test_definitions/subscription-status.feature diff --git a/code/Test_definitions/subscription-status.feature b/code/Test_definitions/subscription-status.feature new file mode 100644 index 0000000..ec4530a --- /dev/null +++ b/code/Test_definitions/subscription-status.feature @@ -0,0 +1,70 @@ +Feature: CAMARA SubscriptionStatus API, vwip - Retrieve subscription status of a phone number + +Background: Common setup + Given the endpoint "{apiRoot}/subscription-status/wip/retrive-subscription-status" + 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" is set to a UUID value + +# Happy path scenarios + +@subscriptionStatus_1_valid_request +Scenario: Retrieve status for valid phone number + Given a valid phone number "+123456789" + And the request body contains the phone number + When the HTTP "POST" request is sent + Then the response status code is 200 + And the response header "Content-Type" is "application/json" + And the response body contains valid status values + And the response property "$.voiceSmsIn" is either "active" or "suspended" + And the response property "$.voiceSmsOut" is either "active" or "suspended" + And the response property "$.dataService" is either "active", "suspended" or "throttled" + +# Error scenarios + +@subscriptionStatus_2_invalid_phone_format +Scenario: Error for invalid phone number format + Given an invalid phone number "123456" (non E.164 format) + And the request body contains the invalid phone number + When the HTTP "POST" request is sent + Then the response status code is 400 + And the response contains error code "INVALID_ARGUMENT" + +@subscriptionStatus_3_phone_not_found +Scenario: Error for non-existent phone number + Given a valid but non-existent phone number "+999999999" + And the request body contains this phone number + When the HTTP "POST" request is sent + Then the response status code is 404 + And the response contains error code "IDENTIFIER_NOT_FOUND" + +@subscriptionStatus_4_missing_phone +Scenario: Error when phone number is missing + Given an empty request body + When the HTTP "POST" request is sent + Then the response status code is 422 + And the response contains error code "MISSING_IDENTIFIER" + +@subscriptionStatus_5_expired_token +Scenario: Error for expired access token + Given an expired access token + And a valid request body with phone number + When the HTTP "POST" request is sent + Then the response status code is 401 + And the response contains error code "UNAUTHENTICATED" + +@subscriptionStatus_6_insufficient_permissions +Scenario: Error for insufficient permissions + Given an access token with insufficient permissions + And a valid request body with phone number + When the HTTP "POST" request is sent + Then the response status code is 403 + And the response contains error code "PERMISSION_DENIED" + +@subscriptionStatus_7_service_unavailable +Scenario: Error when service not available + Given a phone number for which service is unavailable + And the request body contains this phone number + When the HTTP "POST" request is sent + Then the response status code is 422 + And the response contains error code "SERVICE_NOT_APPLICABLE" \ No newline at end of file From 6f509fc38f99117c2b65e07f145615e3898f38e2 Mon Sep 17 00:00:00 2001 From: Fan Yang-ChinaUnicom <130550398+chinaunicomyangfan@users.noreply.github.com> Date: Fri, 27 Jun 2025 17:07:27 +0800 Subject: [PATCH 2/3] Delete code/Test_definitions/subscription-status.feature --- .../subscription-status.feature | 70 ------------------- 1 file changed, 70 deletions(-) delete mode 100644 code/Test_definitions/subscription-status.feature diff --git a/code/Test_definitions/subscription-status.feature b/code/Test_definitions/subscription-status.feature deleted file mode 100644 index ec4530a..0000000 --- a/code/Test_definitions/subscription-status.feature +++ /dev/null @@ -1,70 +0,0 @@ -Feature: CAMARA SubscriptionStatus API, vwip - Retrieve subscription status of a phone number - -Background: Common setup - Given the endpoint "{apiRoot}/subscription-status/wip/retrive-subscription-status" - 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" is set to a UUID value - -# Happy path scenarios - -@subscriptionStatus_1_valid_request -Scenario: Retrieve status for valid phone number - Given a valid phone number "+123456789" - And the request body contains the phone number - When the HTTP "POST" request is sent - Then the response status code is 200 - And the response header "Content-Type" is "application/json" - And the response body contains valid status values - And the response property "$.voiceSmsIn" is either "active" or "suspended" - And the response property "$.voiceSmsOut" is either "active" or "suspended" - And the response property "$.dataService" is either "active", "suspended" or "throttled" - -# Error scenarios - -@subscriptionStatus_2_invalid_phone_format -Scenario: Error for invalid phone number format - Given an invalid phone number "123456" (non E.164 format) - And the request body contains the invalid phone number - When the HTTP "POST" request is sent - Then the response status code is 400 - And the response contains error code "INVALID_ARGUMENT" - -@subscriptionStatus_3_phone_not_found -Scenario: Error for non-existent phone number - Given a valid but non-existent phone number "+999999999" - And the request body contains this phone number - When the HTTP "POST" request is sent - Then the response status code is 404 - And the response contains error code "IDENTIFIER_NOT_FOUND" - -@subscriptionStatus_4_missing_phone -Scenario: Error when phone number is missing - Given an empty request body - When the HTTP "POST" request is sent - Then the response status code is 422 - And the response contains error code "MISSING_IDENTIFIER" - -@subscriptionStatus_5_expired_token -Scenario: Error for expired access token - Given an expired access token - And a valid request body with phone number - When the HTTP "POST" request is sent - Then the response status code is 401 - And the response contains error code "UNAUTHENTICATED" - -@subscriptionStatus_6_insufficient_permissions -Scenario: Error for insufficient permissions - Given an access token with insufficient permissions - And a valid request body with phone number - When the HTTP "POST" request is sent - Then the response status code is 403 - And the response contains error code "PERMISSION_DENIED" - -@subscriptionStatus_7_service_unavailable -Scenario: Error when service not available - Given a phone number for which service is unavailable - And the request body contains this phone number - When the HTTP "POST" request is sent - Then the response status code is 422 - And the response contains error code "SERVICE_NOT_APPLICABLE" \ No newline at end of file From 5229235c76ec576191c19c627279e61a50b23b35 Mon Sep 17 00:00:00 2001 From: Fan Yang-ChinaUnicom <130550398+chinaunicomyangfan@users.noreply.github.com> Date: Mon, 2 Mar 2026 16:04:59 +0800 Subject: [PATCH 3/3] Update README.md to correct meeting time --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 70259b3..a692e19 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ _The above section is automatically synchronized by CAMARA project-administratio ## Contributing * Meetings of Sub Project KnowYourCustomer are held virtually - * Schedule: Bi-weekly, Tuesday, 09:00 CEST (07:00 UTC) + * Schedule: Bi-weekly, Tuesday, 08:00 UTC (09:00 CET, 10:00 CEST) * [Registration / Join](https://zoom-lfx.platform.linuxfoundation.org/meeting/96235150735?password=7e3fea67-a76e-4941-8a70-392cf5545917) * Minutes: Access [meeting minutes](https://lf-camaraproject.atlassian.net/wiki/x/FAje) * Mailing List