Add test to verify unauthorized requests
Functional test for verifying that the service forbids
API access with proper http code and message should
the client provide wrong auth credentials.
Change-Id: I78d5f050e99c23fd7116468ff007078b3cd56987
Issue-ID: INT-1529
Signed-off-by: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
diff --git a/test/mocks/prov-mns-provider/src/tests/common.py b/test/mocks/prov-mns-provider/src/tests/common.py
index 08075e9..2ffe8ac 100644
--- a/test/mocks/prov-mns-provider/src/tests/common.py
+++ b/test/mocks/prov-mns-provider/src/tests/common.py
@@ -13,6 +13,7 @@
MOI_DATA_PATCH = { "data": { "pLMNId": "xxx", "gNBId": "1234", "gNBIdLength": "4" }}
URI_SCHEMA = 'http'
AUTH_STRING = (ProvMnSProvider.username, ProvMnSProvider.password)
+INVALID_AUTH_STRING = (str(uuid4()).split('-')[0], str(uuid4()).split('-')[0])
URI_BASE_STRING = URI_SCHEMA + '://' + ProvMnSProvider.ipAddress + ':' + \
str(ProvMnSProvider.portNumber) + ProvMnSProvider.prefix + \
'/' + MOI_CLASS + '/' + MOI_ID
@@ -21,3 +22,4 @@
'&fields=gNBId&fields=gNBIdLength'
URI_PATCH_STRING = URI_BASE_STRING + '?scope=BASE_ONLY&filter=' + MOI_CLASS
URI_DELETE_STRING = URI_PATCH_STRING
+UNAUTHORIZED_MSG="not Authorized"
diff --git a/test/mocks/prov-mns-provider/src/tests/test_invalid_requests.py b/test/mocks/prov-mns-provider/src/tests/test_invalid_requests.py
new file mode 100644
index 0000000..660f26c
--- /dev/null
+++ b/test/mocks/prov-mns-provider/src/tests/test_invalid_requests.py
@@ -0,0 +1,24 @@
+from common import * # pylint: disable=W0614
+
+def test_unauthorized():
+ '''Check service denies access if
+ invalid credentials provided'''
+
+ req = requests.get('{0}'.format(URI_GET_STRING), auth=INVALID_AUTH_STRING)
+ assert req.status_code == requests.codes.unauthorized
+ assert UNAUTHORIZED_MSG in req.text
+
+ req = requests.put('{0}'.format(URI_PUT_STRING), auth=INVALID_AUTH_STRING,
+ json=MOI_DATA_TMPL)
+ assert req.status_code == requests.codes.unauthorized
+ assert UNAUTHORIZED_MSG in req.text
+
+ req = requests.patch('{0}'.format(URI_PATCH_STRING),
+ auth=INVALID_AUTH_STRING, json=MOI_DATA_PATCH)
+ assert req.status_code == requests.codes.unauthorized
+ assert UNAUTHORIZED_MSG in req.text
+
+ req = requests.delete('{0}'.format(URI_DELETE_STRING),
+ auth=INVALID_AUTH_STRING)
+ assert req.status_code == requests.codes.unauthorized
+ assert UNAUTHORIZED_MSG in req.text
diff --git a/test/mocks/prov-mns-provider/src/tests/test_rest_api_endpoints.py b/test/mocks/prov-mns-provider/src/tests/test_rest_api_endpoints.py
index 0cc4591..69e66e3 100644
--- a/test/mocks/prov-mns-provider/src/tests/test_rest_api_endpoints.py
+++ b/test/mocks/prov-mns-provider/src/tests/test_rest_api_endpoints.py
@@ -1,4 +1,4 @@
-from common import *
+from common import * # pylint: disable=W0614
def test_put():
'''Validate PUT request'''