Skip to content

Commit 70db3ac

Browse files
committed
amend letters to use TestSupplier1 api key
1 parent e3d3622 commit 70db3ac

11 files changed

Lines changed: 138 additions & 110 deletions

.env.template

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ ENVIRONMENT=$ENV_NAME
22
API_KEY=
33
HEADERAUTH=
44
PR_NUMBER=prxx # remove if needs to run against main
5+
TARGET_ENVIRONMENT=prxx # remove if needs to run against main
6+
API_ENVIRONMENT=internal-dev # change to relevant environment
7+
AWS_PROFILE=supplier-dev
58
NHSD_APIM_TOKEN=
69
PROXY_NAME=
710
# * nhs-notify-supplier--internal-dev--nhs-notify-supplier
@@ -16,8 +19,11 @@ PROXY_NAME=
1619
# 3. Copy the "key" from the Credentials related to the app
1720
# Note: For INT and higher environments use developer portal https://identity.prod.api.platform.nhs.uk/
1821
export NON_PROD_API_KEY=xxx
22+
export NON_PROD_SECONDARY_API_KEY=xxx
1923
export INTEGRATION_API_KEY=xxx
24+
export INTEGRATION_SECONDARY_API_KEY=xxx
2025
export PRODUCTION_API_KEY=xxx
26+
export PRODUCTION_SECONDARY_API_KEY=xxx
2127
export STATUS_ENDPOINT_API_KEY=xxx
2228

2329
# Private Keys

tests/e2e-tests/api/data/test_get_letter_data.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
@pytest.mark.devtest
1212
@pytest.mark.inttest
1313
@pytest.mark.prodtest
14-
def test_200_get_letter_status(url, authentication_secret):
15-
headers = Generators.generate_valid_headers(authentication_secret)
14+
def test_200_get_letter_status(url, authentication_secrets):
15+
headers = Generators.generate_valid_headers(authentication_secrets[1])
1616
ids = get_pending_letter_ids(url, headers, LETTERS_ENDPOINT, limit=1)
1717

1818
get_letter_data = requests.get(f"{url}/{LETTERS_ENDPOINT}/{ids[0]}/data", headers=headers)
@@ -25,8 +25,8 @@ def test_200_get_letter_status(url, authentication_secret):
2525
@pytest.mark.devtest
2626
@pytest.mark.inttest
2727
@pytest.mark.prodtest
28-
def test_404_letter_does_not_exist(url, authentication_secret):
29-
headers = Generators.generate_valid_headers(authentication_secret)
28+
def test_404_letter_does_not_exist(url, authentication_secrets):
29+
headers = Generators.generate_valid_headers(authentication_secrets[1])
3030
get_message_response = requests.get(f"{url}/{LETTERS_ENDPOINT}/xx", headers=headers)
3131

3232
ErrorHandler.handle_retry(get_message_response)
@@ -37,9 +37,9 @@ def test_404_letter_does_not_exist(url, authentication_secret):
3737
@pytest.mark.devtest
3838
@pytest.mark.inttest
3939
@pytest.mark.prodtest
40-
def test_404_letter_does_not_exist(url, authentication_secret):
40+
def test_404_letter_does_not_exist(url, authentication_secrets):
4141
letter_id = uuid.uuid4().hex
42-
headers = Generators.generate_valid_headers(authentication_secret)
42+
headers = Generators.generate_valid_headers(authentication_secrets[1])
4343
get_message_response = requests.get(f"{url}/{LETTERS_ENDPOINT}/{letter_id}/data", headers=headers)
4444

4545
ErrorHandler.handle_retry(get_message_response)

tests/e2e-tests/api/headers/test_x_request_id.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ def test_header_letters_endpoint(
1616
url,
1717
method,
1818
endpoints,
19-
authentication_secret
19+
authentication_secrets
2020
):
21-
auth_header = {"apikey": authentication_secret.value} if authentication_secret.auth_type == "apikey" \
22-
else {"Authorization": authentication_secret.value}
21+
auth_header = {"apikey": authentication_secrets[0].value} if authentication_secrets[0].auth_type == "apikey" \
22+
else {"Authorization": authentication_secrets[0].value}
2323
resp = getattr(requests, method)(f"{url}/{endpoints}", headers={
2424
**auth_header,
2525
"X-Request-ID": None
@@ -34,10 +34,10 @@ def test_header_letters_endpoint(
3434
@pytest.mark.prodtest
3535
def test_header_mi_endpoint(
3636
url,
37-
authentication_secret
37+
authentication_secrets
3838
):
39-
auth_header = {"apikey": authentication_secret.value} if authentication_secret.auth_type == "apikey" \
40-
else {"Authorization": authentication_secret.value}
39+
auth_header = {"apikey": authentication_secrets[0].value} if authentication_secrets[0].auth_type == "apikey" \
40+
else {"Authorization": authentication_secrets[0].value}
4141
resp = getattr(requests, "post")(f"{url}/{MI_ENDPOINT}", headers={
4242
**auth_header,
4343
"X-Request-ID": ""

tests/e2e-tests/api/letters/test_get_letter_status.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
@pytest.mark.devtest
1111
@pytest.mark.inttest
1212
@pytest.mark.prodtest
13-
def test_200_get_letter_status(url, authentication_secret):
14-
headers = Generators.generate_valid_headers(authentication_secret)
13+
def test_200_get_letter_status(url, authentication_secrets):
14+
headers = Generators.generate_valid_headers(authentication_secrets[1])
1515

1616
ids = get_pending_letter_ids(url, headers, LETTERS_ENDPOINT, limit=1)
1717
letter_id = ids[0]
@@ -26,8 +26,8 @@ def test_200_get_letter_status(url, authentication_secret):
2626
@pytest.mark.devtest
2727
@pytest.mark.inttest
2828
@pytest.mark.prodtest
29-
def test_404_letter_does_not_exist(url, authentication_secret):
30-
headers = Generators.generate_valid_headers(authentication_secret)
29+
def test_404_letter_does_not_exist(url, authentication_secrets):
30+
headers = Generators.generate_valid_headers(authentication_secrets[1])
3131
get_message_response = requests.get(f"{url}/{LETTERS_ENDPOINT}/xx", headers=headers)
3232

3333
ErrorHandler.handle_retry(get_message_response)

tests/e2e-tests/api/letters/test_get_list_of_letters.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
@pytest.mark.devtest
99
@pytest.mark.inttest
1010
@pytest.mark.prodtest
11-
def test_200_get_letters(url, authentication_secret):
12-
headers = Generators.generate_valid_headers(authentication_secret)
11+
def test_200_get_letters(url, authentication_secrets):
12+
headers = Generators.generate_valid_headers(authentication_secrets[1])
1313

1414
ids = get_pending_letter_ids(url, headers, LETTERS_ENDPOINT, limit=1)
1515
assert ids, "Expected at least one PENDING letter"

tests/e2e-tests/api/letters/test_multiple_letter_status.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
@pytest.mark.devtest
1313
@pytest.mark.inttest
1414
@pytest.mark.prodtest
15-
def test_202_with_valid_headers(url, authentication_secret):
16-
headers = Generators.generate_valid_headers(authentication_secret)
15+
def test_202_with_valid_headers(url, authentication_secrets):
16+
headers = Generators.generate_valid_headers(authentication_secrets[1])
1717

1818
ids = get_pending_letter_ids(url, headers, LETTERS_ENDPOINT, limit=2)
1919
data = Generators.generate_multiple_valid_request(ids)
@@ -31,8 +31,8 @@ def test_202_with_valid_headers(url, authentication_secret):
3131
@pytest.mark.devtest
3232
@pytest.mark.inttest
3333
@pytest.mark.prodtest
34-
def test_400_duplicates_in_request_body(url, authentication_secret):
35-
headers = Generators.generate_valid_headers(authentication_secret)
34+
def test_400_duplicates_in_request_body(url, authentication_secrets):
35+
headers = Generators.generate_valid_headers(authentication_secrets[1])
3636

3737
ids = get_pending_letter_ids(url, headers, LETTERS_ENDPOINT, limit=2)
3838
data = Generators.generate_duplicate_request(ids)
@@ -51,8 +51,8 @@ def test_400_duplicates_in_request_body(url, authentication_secret):
5151
@pytest.mark.devtest
5252
@pytest.mark.inttest
5353
@pytest.mark.prodtest
54-
def test_400_invalid_status_in_request_body(url, authentication_secret):
55-
headers = Generators.generate_valid_headers(authentication_secret)
54+
def test_400_invalid_status_in_request_body(url, authentication_secrets):
55+
headers = Generators.generate_valid_headers(authentication_secrets[1])
5656

5757
ids = get_pending_letter_ids(url, headers, LETTERS_ENDPOINT, limit=3)
5858
data = Generators.generate_invalid_status_request(ids)

tests/e2e-tests/api/letters/test_update_letter_status.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
@pytest.mark.devtest
1313
@pytest.mark.inttest
1414
@pytest.mark.prodtest
15-
def test_202_with_valid_headers(url, authentication_secret):
16-
headers = Generators.generate_valid_headers(authentication_secret)
15+
def test_202_with_valid_headers(url, authentication_secrets):
16+
headers = Generators.generate_valid_headers(authentication_secrets[1])
1717

1818
ids = get_pending_letter_ids(url, headers, LETTERS_ENDPOINT, limit=1)
1919
letter_id = ids[0]
@@ -28,8 +28,8 @@ def test_202_with_valid_headers(url, authentication_secret):
2828
ErrorHandler.handle_retry(update_letter_status)
2929
assert update_letter_status.status_code == 202, f"Response: {update_letter_status.status_code}: {update_letter_status.text}"
3030

31-
def test_202_with_rejected_status(url, authentication_secret):
32-
headers = Generators.generate_valid_headers(authentication_secret)
31+
def test_202_with_rejected_status(url, authentication_secrets):
32+
headers = Generators.generate_valid_headers(authentication_secrets[1])
3333

3434
ids = get_pending_letter_ids(url, headers, LETTERS_ENDPOINT, limit=1)
3535
letter_id = ids[0]
@@ -48,8 +48,8 @@ def test_202_with_rejected_status(url, authentication_secret):
4848
@pytest.mark.devtest
4949
@pytest.mark.inttest
5050
@pytest.mark.prodtest
51-
def test_400_with_invalid_status(url, authentication_secret):
52-
headers = Generators.generate_valid_headers(authentication_secret)
51+
def test_400_with_invalid_status(url, authentication_secrets):
52+
headers = Generators.generate_valid_headers(authentication_secrets[1])
5353

5454
ids = get_pending_letter_ids(url, headers, LETTERS_ENDPOINT, limit=1)
5555
letter_id = ids[0]
@@ -68,8 +68,8 @@ def test_400_with_invalid_status(url, authentication_secret):
6868
@pytest.mark.devtest
6969
@pytest.mark.inttest
7070
@pytest.mark.prodtest
71-
def test_400_id_mismatch_with_request(url, authentication_secret):
72-
headers = Generators.generate_valid_headers(authentication_secret)
71+
def test_400_id_mismatch_with_request(url, authentication_secrets):
72+
headers = Generators.generate_valid_headers(authentication_secrets[1])
7373

7474
ids = get_pending_letter_ids(url, headers, LETTERS_ENDPOINT, limit=1)
7575
letter_id = ids[0]
Lines changed: 59 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,59 @@
1-
# import requests
2-
# import pytest
3-
# from lib.fixtures import * # NOSONAR
4-
# from lib.constants import MI_ENDPOINT
5-
# from lib.generators import Generators
6-
# from lib.errorhandler import ErrorHandler
7-
8-
# @pytest.mark.test
9-
# @pytest.mark.devtest
10-
# @pytest.mark.inttest
11-
# @pytest.mark.prodtest
12-
# def test_200_get_management_information(url, bearer_token):
13-
# headers = Generators.generate_valid_headers(bearer_token.value)
14-
# data = Generators.generate_valid_mi_record_body()
15-
# create_mi = requests.post(
16-
# f"{url}/{MI_ENDPOINT}",
17-
# headers=headers,
18-
# json=data,
19-
# )
20-
# mi_id = create_mi.json().get("data").get("id")
21-
22-
# get_mi = requests.get(f"{url}/{MI_ENDPOINT}/", headers=headers)
23-
# get_message_response = requests.get(f"{url}/{MI_ENDPOINT}/{mi_id}", headers=headers)
24-
25-
# ErrorHandler.handle_retry(get_message_response)
26-
# assert get_message_response.status_code == 200, f"Response: {get_message_response.status_code}: {get_message_response.text}"
27-
28-
29-
# @pytest.mark.test
30-
# @pytest.mark.devtest
31-
# @pytest.mark.inttest
32-
# @pytest.mark.prodtest
33-
# def test_404_mi_does_not_exist(url, bearer_token):
34-
# headers = Generators.generate_valid_headers(bearer_token.value)
35-
# get_message_response = requests.get(f"{url}/{MI_ENDPOINT}/xx", headers=headers)
36-
37-
# ErrorHandler.handle_retry(get_message_response)
38-
# assert get_message_response.status_code == 404, f"Response: {get_message_response.status_code}: {get_message_response.text}"
39-
# assert get_message_response.json().get("errors")[0].get("detail") == "No resource found with that ID"
40-
41-
# @pytest.mark.test
42-
# @pytest.mark.devtest
43-
# @pytest.mark.inttest
44-
# @pytest.mark.prodtest
45-
# def test_404_mi_miId_from_different_supplier_returns_does_not_exist(url, bearer_token):
46-
# headers = Generators.generate_valid_headers(bearer_token.value)
47-
# other_supplier_headers = Generators.generate_valid_headers(bearer_token.value) # secondary_bearer_token
48-
# data = Generators.generate_valid_mi_record_body()
49-
# create_mi = requests.post(
50-
# f"{url}/{MI_ENDPOINT}",
51-
# headers=headers,
52-
# json=data,
53-
# )
54-
# mi_id = create_mi.json().get("data").get("id")
55-
56-
# get_message_response = requests.get(f"{url}/{MI_ENDPOINT}/{mi_id}", headers=other_supplier_headers)
57-
58-
# ErrorHandler.handle_retry(get_message_response)
59-
# assert get_message_response.status_code == 404, f"Response: {get_message_response.status_code}: {get_message_response.text}"
60-
# assert get_message_response.json().get("errors")[0].get("detail") == "No resource found with that ID"
1+
import requests
2+
import pytest
3+
from lib.fixtures import * # NOSONAR
4+
from lib.constants import MI_ENDPOINT
5+
from lib.generators import Generators
6+
from lib.errorhandler import ErrorHandler
7+
8+
@pytest.mark.test
9+
@pytest.mark.devtest
10+
@pytest.mark.inttest
11+
@pytest.mark.prodtest
12+
def test_200_get_management_information(url, authentication_secrets):
13+
headers = Generators.generate_valid_headers(authentication_secrets[0])
14+
15+
data = Generators.generate_valid_mi_record_body()
16+
create_mi = requests.post(
17+
f"{url}/{MI_ENDPOINT}",
18+
headers=headers,
19+
json=data,
20+
)
21+
mi_id = create_mi.json().get("data").get("id")
22+
get_message_response = requests.get(f"{url}/{MI_ENDPOINT}/{mi_id}", headers=headers)
23+
24+
ErrorHandler.handle_retry(get_message_response)
25+
assert get_message_response.status_code == 200, f"Response: {get_message_response.status_code}: {get_message_response.text}"
26+
27+
28+
@pytest.mark.test
29+
@pytest.mark.devtest
30+
@pytest.mark.inttest
31+
@pytest.mark.prodtest
32+
def test_404_mi_does_not_exist(url, authentication_secrets):
33+
headers = Generators.generate_valid_headers(authentication_secrets[0])
34+
get_message_response = requests.get(f"{url}/{MI_ENDPOINT}/xx", headers=headers)
35+
36+
ErrorHandler.handle_retry(get_message_response)
37+
assert get_message_response.status_code == 404, f"Response: {get_message_response.status_code}: {get_message_response.text}"
38+
assert get_message_response.json().get("errors")[0].get("detail") == "No resource found with that ID"
39+
40+
@pytest.mark.test
41+
@pytest.mark.devtest
42+
@pytest.mark.inttest
43+
@pytest.mark.prodtest
44+
def test_404_mi_miId_from_different_supplier_returns_does_not_exist(url, authentication_secrets):
45+
headers = Generators.generate_valid_headers(authentication_secrets[0])
46+
other_supplier_headers = Generators.generate_valid_headers(authentication_secrets[1]) # secondary_auth
47+
data = Generators.generate_valid_mi_record_body()
48+
create_mi = requests.post(
49+
f"{url}/{MI_ENDPOINT}",
50+
headers=headers,
51+
json=data,
52+
)
53+
mi_id = create_mi.json().get("data").get("id")
54+
55+
get_message_response = requests.get(f"{url}/{MI_ENDPOINT}/{mi_id}", headers=other_supplier_headers)
56+
57+
ErrorHandler.handle_retry(get_message_response)
58+
assert get_message_response.status_code == 404, f"Response: {get_message_response.status_code}: {get_message_response.text}"
59+
assert get_message_response.json().get("errors")[0].get("detail") == "No resource found with that ID"

tests/e2e-tests/api/test_endpoint.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ def test_ping(url):
1212
@pytest.mark.smoketest
1313
@pytest.mark.sandboxtest
1414
@pytest.mark.devtest
15-
def test_status(url, status_authentication_secret):
16-
headers = Generators.generate_valid_headers(status_authentication_secret)
15+
def test_status(url, status_authentication_secrets):
16+
headers = Generators.generate_valid_headers(status_authentication_secrets[0])
1717
resp = requests.get(f"{url}/_status", headers=headers)
1818

1919
ErrorHandler.handle_retry(resp)

0 commit comments

Comments
 (0)