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
11 class TestScenarioBase(TestBase):
13 super(TestScenarioBase, self).setUp()
14 self.basePath = '/api/v1/scenarios'
15 self.load_request('scenario-create.json')
20 def assert_body(self, project, req=None):
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))
29 class TestScenarioCreate(TestScenarioBase):
30 def test_withoutBody(self):
31 (code, body) = self.create()
32 self.assertEqual(code, HTTP_BAD_REQUEST)
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)
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)
46 def test_success(self):
47 (code, body) = self.create_d()
48 self.assertEqual(code, HTTP_OK)
49 self.assert_create_body(body)
51 def test_alreadyExist(self):
53 (code, body) = self.create_d()
54 self.assertEqual(code, HTTP_FORBIDDEN)
55 self.assertIn('already exists', body)