1 ##############################################################################
2 # Copyright (c) 2016 ZTE Corporation
3 # feng.xiaowei@zte.com.cn
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
12 from opnfv_testapi.common import message
13 from opnfv_testapi.resources import pod_models
14 from opnfv_testapi.tests.unit import executor
15 from opnfv_testapi.tests.unit.resources import test_base as base
18 class TestPodBase(base.TestBase):
20 super(TestPodBase, self).setUp()
21 self.req_d = pod_models.PodCreateRequest('zte-1', 'virtual',
22 'zte pod 1', 'ci-pod')
23 self.req_e = pod_models.PodCreateRequest('zte-2', 'metal', 'zte pod 2')
24 self.req_f = pod_models.PodCreateRequest('Zte-1', 'virtual',
25 'zte pod 1', 'ci-pod')
26 self.get_res = pod_models.Pod
27 self.list_res = pod_models.Pods
28 self.basePath = '/api/v1/pods'
30 def assert_get_body(self, pod, req=None):
33 self.assertEqual(pod.name, req.name)
34 self.assertEqual(pod.mode, req.mode)
35 self.assertEqual(pod.details, req.details)
36 self.assertEqual(pod.role, req.role)
37 self.assertIsNotNone(pod.creation_date)
38 self.assertIsNotNone(pod._id)
41 class TestPodCreate(TestPodBase):
42 @executor.create(httplib.BAD_REQUEST, message.no_body())
43 def test_withoutBody(self):
46 @executor.create(httplib.BAD_REQUEST, message.missing('name'))
47 def test_emptyName(self):
48 return pod_models.PodCreateRequest('')
50 @executor.create(httplib.BAD_REQUEST, message.missing('name'))
51 def test_noneName(self):
52 return pod_models.PodCreateRequest(None)
54 @executor.create(httplib.OK, 'assert_create_body')
55 def test_success(self):
58 @executor.create(httplib.FORBIDDEN, message.exist_base)
59 def test_alreadyExist(self):
63 @executor.create(httplib.FORBIDDEN, message.exist_base)
64 def test_alreadyExistCaseInsensitive(self):
65 self.create(self.req_f)
69 class TestPodGet(TestPodBase):
71 super(TestPodGet, self).setUp()
75 @executor.get(httplib.NOT_FOUND, message.not_found_base)
76 def test_notExist(self):
79 @executor.get(httplib.OK, 'assert_get_body')
80 def test_getOne(self):
81 return self.req_d.name
83 @executor.get(httplib.OK, '_assert_list')
87 def _assert_list(self, body):
88 self.assertEqual(len(body.pods), 2)
90 if self.req_d.name == pod.name:
91 self.assert_get_body(pod)
93 self.assert_get_body(pod, self.req_e)
96 if __name__ == '__main__':