Merge "Fix a bug - add requests in virtualenv"
[releng.git] / utils / test / testapi / opnfv_testapi / tests / unit / test_scenario.py
1 import json
2 import os
3
4 from opnfv_testapi.common.constants import HTTP_BAD_REQUEST
5 from opnfv_testapi.common.constants import HTTP_FORBIDDEN
6 from opnfv_testapi.common.constants import HTTP_OK
7 from opnfv_testapi.resources.scenario_models import ScenarioCreateRequest
8 from test_testcase import TestBase
9
10
11 class TestScenarioBase(TestBase):
12     def setUp(self):
13         super(TestScenarioBase, self).setUp()
14         self.basePath = '/api/v1/scenarios'
15         self.load_request('scenario-create.json')
16
17     def tearDown(self):
18         pass
19
20     def assert_body(self, project, req=None):
21         pass
22
23     def load_request(self, f_req):
24         with open(os.path.join(os.path.dirname(__file__), f_req), 'r') as f:
25             self.req_d = json.dumps(json.load(f))
26             f.close()
27
28
29 class TestScenarioCreate(TestScenarioBase):
30     def test_withoutBody(self):
31         (code, body) = self.create()
32         self.assertEqual(code, HTTP_BAD_REQUEST)
33
34     def test_emptyName(self):
35         req_empty = ScenarioCreateRequest('')
36         (code, body) = self.create(req_empty)
37         self.assertEqual(code, HTTP_BAD_REQUEST)
38         self.assertIn('name missing', body)
39
40     def test_noneName(self):
41         req_none = ScenarioCreateRequest(None)
42         (code, body) = self.create(req_none)
43         self.assertEqual(code, HTTP_BAD_REQUEST)
44         self.assertIn('name missing', body)
45
46     def test_success(self):
47         (code, body) = self.create_d()
48         self.assertEqual(code, HTTP_OK)
49         self.assert_create_body(body)
50
51     def test_alreadyExist(self):
52         self.create_d()
53         (code, body) = self.create_d()
54         self.assertEqual(code, HTTP_FORBIDDEN)
55         self.assertIn('already exists', body)