Refactor test_unauthorized() to leverage pytest parametrize mark
[integration.git] / test / mocks / prov-mns-provider / src / tests / test_invalid_requests.py
1 import pytest
2 from common import * # pylint: disable=W0614
3
4 @pytest.mark.parametrize(('req_method', 'url', 'req_params'), [
5     (getattr(requests, 'get'), URI_GET_STRING, {"auth": INVALID_AUTH_STRING}),
6     (getattr(requests, 'put'), URI_PUT_STRING, {"auth": INVALID_AUTH_STRING,
7                                                 "json": MOI_DATA_TMPL}),
8     (getattr(requests, 'patch'), URI_PATCH_STRING, {"auth": INVALID_AUTH_STRING,
9                                                     "json": MOI_DATA_PATCH}),
10     (getattr(requests, 'delete'), URI_DELETE_STRING, {"auth": INVALID_AUTH_STRING})
11     ])
12 def test_unauthorized(req_method, url, req_params):
13     '''Check service denies access if
14     invalid credentials provided'''
15     req = req_method(url, **req_params)
16     assert req.status_code == requests.codes.unauthorized
17     assert UNAUTHORIZED_MSG in req.text
18
19 def test_bad_moi_class():
20     '''Check service returns proper
21     http code and error msg if MOI class
22     is invalid'''
23
24     req = requests.get('{0}'.format(BAD_CLASS_URI_BASE_STRING),
25                        auth=AUTH_STRING)
26     assert req.status_code == requests.codes.not_acceptable
27     assert INVALID_CLASS_MSG in req.text
28
29     req = requests.put('{0}'.format(BAD_CLASS_URI_BASE_STRING),
30                        auth=AUTH_STRING, json=MOI_DATA_TMPL)
31     assert req.status_code == requests.codes.not_acceptable
32     assert INVALID_CLASS_MSG in req.text
33
34     req = requests.patch('{0}'.format(BAD_CLASS_URI_BASE_STRING),
35                          auth=AUTH_STRING, json=MOI_DATA_PATCH)
36     assert req.status_code == requests.codes.not_acceptable
37     assert INVALID_CLASS_MSG in req.text
38
39     req = requests.delete('{0}'.format(BAD_CLASS_URI_BASE_STRING),
40                           auth=AUTH_STRING)
41     assert req.status_code == requests.codes.not_acceptable
42     assert INVALID_CLASS_MSG in req.text
43
44 def test_bad_prefix():
45     '''Check service returns proper
46     http code and error msg if URI prefix
47     is invalid'''
48
49     for url in BAD_PREFIX_URI_BASE_STRING, BAD_PREFIX1_URI_BASE_STRING:
50         req = requests.get('{0}'.format(url),
51                            auth=AUTH_STRING)
52         assert req.status_code == requests.codes.not_found
53         assert INVALID_PREFIX_MSG in req.text
54
55         req = requests.put('{0}'.format(url),
56                            auth=AUTH_STRING, json=MOI_DATA_TMPL)
57         assert req.status_code == requests.codes.not_found
58         assert INVALID_PREFIX_MSG in req.text
59
60         req = requests.patch('{0}'.format(url),
61                              auth=AUTH_STRING, json=MOI_DATA_PATCH)
62         assert req.status_code == requests.codes.not_found
63         assert INVALID_PREFIX_MSG in req.text
64
65         req = requests.delete('{0}'.format(url),
66                               auth=AUTH_STRING)
67         assert req.status_code == requests.codes.not_found
68         assert INVALID_PREFIX_MSG in req.text