Add tox runner for pytest in prov-mns-provider
[integration.git] / test / mocks / prov-mns-provider / src / test_mns.py
1 import requests
2 from uuid import uuid4
3 import ProvMnSProvider
4 import logging
5 from json import dumps
6
7 logging.basicConfig(level=logging.DEBUG)
8 logger = logging.getLogger(__name__)
9
10 MOI_ID = str(uuid4())
11 MOI_CLASS = ProvMnSProvider.Cretaed_MOIs_list[0]['class']
12 MOI_DATA_TMPL = { 'data': ProvMnSProvider.Cretaed_MOIs_list[0] }
13 MOI_DATA_PATCH = { "data": { "pLMNId": "xxx", "gNBId": "1234", "gNBIdLength": "4" }}
14 URI_SCHEMA = 'http'
15 AUTH_STRING = (ProvMnSProvider.username, ProvMnSProvider.password)
16 URI_BASE_STRING = URI_SCHEMA + '://' + ProvMnSProvider.ipAddress + ':' + \
17              str(ProvMnSProvider.portNumber) + ProvMnSProvider.prefix + \
18              '/' + MOI_CLASS + '/' + MOI_ID
19 URI_PUT_STRING = URI_BASE_STRING
20 URI_GET_STRING = URI_BASE_STRING + '?scope=BASE_ONLY&filter=' + MOI_CLASS + \
21                  '&fields=gNBId&fields=gNBIdLength'
22 URI_PATCH_STRING = URI_BASE_STRING + '?scope=BASE_ONLY&filter=' + MOI_CLASS
23 URI_DELETE_STRING = URI_PATCH_STRING
24
25 def test_put():
26     '''Validate PUT request'''
27
28     MOI_DATA = MOI_DATA_TMPL
29     MOI_DATA['data']['id'] = MOI_ID
30     MOI_DATA['data']['href'] = '/' + MOI_CLASS + '/' + MOI_ID
31     req_put = requests.put('{0}'.format(URI_PUT_STRING), auth=AUTH_STRING,
32                           json=MOI_DATA)
33
34     if req_put.status_code != requests.codes.created:
35         logger.error('PUT request to {0} failed'.format(URI_PUT_STRING))
36         logger.debug('MOI data payload: {0}'.format(dumps(MOI_DATA,indent=2)))
37         logger.debug('Response content: {0}'.format(req_put.text))
38
39     assert req_put.status_code == requests.codes.created
40
41 def test_get():
42     '''Validate GET request'''
43
44     req_get = requests.get('{0}'.format(URI_GET_STRING), auth=AUTH_STRING)
45
46     if req_get.status_code != requests.codes.ok:
47         logger.error('GET request to {0} failed'.format(URI_GET_STRING))
48         logger.debug('Response content: {0}'.format(req_get.text))
49
50     assert req_get.status_code == requests.codes.ok
51
52 def test_patch():
53     '''Validate PATCH request'''
54
55     req_patch = requests.patch('{0}'.format(URI_PATCH_STRING),
56                                auth=AUTH_STRING, json=MOI_DATA_PATCH)
57
58     if req_patch.status_code != requests.codes.ok:
59         logger.error('PATCH request to {0} failed'.format(URI_PATCH_STRING))
60         logger.debug('Response content: {0}'.format(req_patch.text))
61
62     assert req_patch.status_code == requests.codes.ok
63
64 def test_delete():
65     '''Validate DELETE request'''
66
67     req_delete = requests.delete('{0}'.format(URI_DELETE_STRING),
68                                  auth=AUTH_STRING)
69
70     if req_delete.status_code != requests.codes.ok:
71         logger.error('DELETE request to {0} failed'.format(URI_DELETE_STRING))
72         logger.debug('Response content: {0}'.format(req_delete.text))
73
74     assert req_delete.status_code == requests.codes.ok