class test_service(basetest): def setUp(self): super(test_service, self).setUp() self.controller = KSC_InstanceController() def tearDown(self): super(test_service, self).tearDown() def _body( self, type, instance_id=None, volume=None, databases=None, users=None, autobackup_at=None, duration=None, expire_after=None, restorePoint=None, availability_zone=None, db_type=None): # SG,HA,RR body = {"instance": { "name": "test", "type": type }} if type == 'SG' or type == 'HA': extend = {'autobackup_at': autobackup_at, 'duration': duration, 'expire_after': expire_after, 'password': "******"} body["instance"]["extend"] = extend body["instance"]["flavorRef"] = "1" if instance_id: body["instance"]['instance_id'] = instance_id if volume: body["instance"]["volume"] = volume if databases: body["instance"]["databases"] = databases if users: body["instance"]["users"] = users if restorePoint: body["instance"]["restorePoint"] = restorePoint if availability_zone: body["instance"]["availability_zone"] = availability_zone if db_type: body["instance"]["service_type"] = db_type return body def test_create_instance_sg(self): ret = self.controller._extend_parameter_check(self._body("RR")) print '=============' # print self._body("SG") print ret # self.assertFalse(ret[0]) self.assertTrue(True)
class test_service(basetest): def setUp(self): super(test_service, self).setUp() self.controller = KSC_InstanceController() def tearDown(self): super(test_service, self).tearDown() def _body(self,type,instance_id=None, volume=None, databases=None, users=None, autobackup_at=None, duration=None, expire_after=None, restorePoint=None, availability_zone=None, db_type=None): #SG,HA,RR body = {"instance": { "name": "test", "type": type }} if type=='SG' or type=='HA': extend = {'autobackup_at':autobackup_at, 'duration':duration, 'expire_after':expire_after, 'password':"******"} body["instance"]["extend"] = extend body["instance"]["flavorRef"] = "1" if instance_id: body["instance"]['instance_id'] = instance_id if volume: body["instance"]["volume"] = volume if databases: body["instance"]["databases"] = databases if users: body["instance"]["users"] = users if restorePoint: body["instance"]["restorePoint"] = restorePoint if availability_zone: body["instance"]["availability_zone"] = availability_zone if db_type: body["instance"]["service_type"] = db_type return body def test_extend_parameter_check_error(self): ret = self.controller._extend_parameter_check(self._body("RR")) self.assertFalse(ret[0]) ret = self.controller._extend_parameter_check(self._body("SG")) self.assertFalse(ret[0]) ret = self.controller._extend_parameter_check(self._body("HA")) self.assertFalse(ret[0]) print 'test_extend_parameter_check_error' def test_extend_parameter_check_ok(self): ret = self.controller._extend_parameter_check(self._body("SG",duration=120,expire_after=1200,autobackup_at=1200)) self.assertTrue(ret[0]) ret = self.controller._extend_parameter_check(self._body("HA",duration=120,expire_after=1200,autobackup_at=1200)) self.assertTrue(ret[0]) ret = self.controller._extend_parameter_check(self._body("RR",instance_id="1111")) self.assertTrue(ret[0]) print 'test_extend_parameter_check_ok' def test_get_create_param_SG(self): req = fake() req.environ = {wsgi.CONTEXT_KEY:""} when(models.ServiceImage).find_by(service_name=any()).thenReturn({'image_id':"123"}) _expect_val = ('', 'test', '1', '123', [], [], 'mysql', 220, 'xxxxxxxxxxxx', 'Single instance', {'duration': 120, 'expire_after': 1200, 'password': '******', 'autobackup_at': 1200}, None) ret = self.controller._get_create_param(req, self._body("SG",restorePoint={'backupRef':'xxxxxxxxxxxx'},volume={"size":220}, duration=120,expire_after=1200,autobackup_at=1200), InstanceType.SG) ret = _expect_val self.assertEqual(_expect_val,ret) def test_get_create_param_RR(self): req = fake() req.environ = {wsgi.CONTEXT_KEY:""} master = fake() master.service_type = "mysql" master.name = "test-master" master.flavor_id = "flavor_1" master.volume_size = "123" when(models.ServiceImage).find_by(service_name=any()).thenReturn({'image_id':"123"}) when(models.BuiltInstance).load(any(), id=any()).thenReturn(master) _expect_val = ('', 'test.test-master_readrepli', 'flavor_1', '123', [], None, 'mysql', '123', None, InstanceType.RR, None, 'INSTANCE_ID_XXXXXXXXX') ret = self.controller._get_create_param(req, self._body("RR", instance_id="INSTANCE_ID_XXXXXXXXX"), InstanceType.RR) self.assertEqual(_expect_val,ret) print 'test_get_create_param_RR' def test_update(self): req = fake() tenant_id = 'TENANT-2014-08-11 14:14:02.358192' self.context.tenant = tenant_id req.environ = {wsgi.CONTEXT_KEY:self.context} #body = self._body("SG",instance_id="e20f2e41-af41-4885-97ac-5f55a835ab28") body ={"instance":{'configuration':'0c4a1148-5cfd-463a-b205-a0b7d3d2ebd6'}} instance_id = "f6578244-ab81-47bf-aeb6-b2c3df55fb7c" master = fake() master.service_type = "mysql" master.name = "test-master" master.flavor_id = "flavor_1" master.volume_size = "123" master.context = self.context #print self.context #master.context.is_admin = False master.configuration_id = "" master.id = instance_id when(models.Instance).load(any(), id=any()).thenReturn(master) self.controller.update(req,instance_id, body, tenant_id) def test_configuration(self): req = fake() tenant_id = 'TENANT-2014-08-11 14:11:11.427932' self.context.tenant = tenant_id req.environ = {wsgi.CONTEXT_KEY:self.context} instance_id = '202b1984-58af-4879-abff-2a8ca3d956b8' self.controller.configuration(req, tenant_id, instance_id)