26
26
class DbChassisTestCase(base.DbTestCase):
28
def _create_test_chassis(self, **kwargs):
29
ch = utils.get_test_chassis(**kwargs)
30
self.dbapi.create_chassis(ch)
29
super(DbChassisTestCase, self).setUp()
30
self.chassis = utils.create_test_chassis()
33
32
def test_get_chassis_list(self):
33
uuids = [self.chassis.uuid]
35
34
for i in range(1, 6):
36
n = utils.get_test_chassis(id=i, uuid=uuidutils.generate_uuid())
37
self.dbapi.create_chassis(n)
38
uuids.append(six.text_type(n['uuid']))
35
ch = utils.create_test_chassis(uuid=uuidutils.generate_uuid())
36
uuids.append(six.text_type(ch.uuid))
39
37
res = self.dbapi.get_chassis_list()
40
38
res_uuids = [r.uuid for r in res]
41
self.assertEqual(uuids.sort(), res_uuids.sort())
39
six.assertCountEqual(self, uuids, res_uuids)
43
41
def test_get_chassis_by_id(self):
44
ch = self._create_test_chassis()
45
chassis = self.dbapi.get_chassis_by_id(ch['id'])
42
chassis = self.dbapi.get_chassis_by_id(self.chassis.id)
47
self.assertEqual(ch['uuid'], chassis.uuid)
44
self.assertEqual(self.chassis.uuid, chassis.uuid)
49
46
def test_get_chassis_by_uuid(self):
50
ch = self._create_test_chassis()
51
chassis = self.dbapi.get_chassis_by_uuid(ch['uuid'])
47
chassis = self.dbapi.get_chassis_by_uuid(self.chassis.uuid)
53
self.assertEqual(ch['id'], chassis.id)
49
self.assertEqual(self.chassis.id, chassis.id)
55
51
def test_get_chassis_that_does_not_exist(self):
56
52
self.assertRaises(exception.ChassisNotFound,
57
53
self.dbapi.get_chassis_by_id, 666)
59
55
def test_update_chassis(self):
60
ch = self._create_test_chassis()
61
res = self.dbapi.update_chassis(ch['id'], {'description': 'hello'})
56
res = self.dbapi.update_chassis(self.chassis.id,
57
{'description': 'hello'})
63
59
self.assertEqual('hello', res.description)
67
63
self.dbapi.update_chassis, 666, {'description': ''})
69
65
def test_update_chassis_uuid(self):
70
ch = self._create_test_chassis()
71
66
self.assertRaises(exception.InvalidParameterValue,
72
self.dbapi.update_chassis, ch['id'],
67
self.dbapi.update_chassis, self.chassis.id,
75
70
def test_destroy_chassis(self):
76
ch = self._create_test_chassis()
77
self.dbapi.destroy_chassis(ch['id'])
71
self.dbapi.destroy_chassis(self.chassis.id)
79
73
self.assertRaises(exception.ChassisNotFound,
80
self.dbapi.get_chassis_by_id, ch['id'])
74
self.dbapi.get_chassis_by_id, self.chassis.id)
82
76
def test_destroy_chassis_that_does_not_exist(self):
83
77
self.assertRaises(exception.ChassisNotFound,
84
78
self.dbapi.destroy_chassis, 666)
86
80
def test_destroy_chassis_with_nodes(self):
87
ch = self._create_test_chassis()
88
utils.create_test_node(chassis_id=ch['id'])
81
utils.create_test_node(chassis_id=self.chassis.id)
90
83
self.assertRaises(exception.ChassisNotEmpty,
91
self.dbapi.destroy_chassis, ch['id'])
84
self.dbapi.destroy_chassis, self.chassis.id)
93
86
def test_create_chassis_already_exists(self):
94
uuid = uuidutils.generate_uuid()
95
self._create_test_chassis(id=1, uuid=uuid)
96
87
self.assertRaises(exception.ChassisAlreadyExists,
97
self._create_test_chassis,
88
utils.create_test_chassis,
89
uuid=self.chassis.uuid)