Exemplo n.º 1
0
class  TestSlowqueryService(basetest):
    def setUp(self):
        super(TestSlowqueryService, self).setUp()
        self.controller = KSC_InstanceController()
        self.context.tenant = 'TENANT-2014-07-31'

    def tearDown(self):
        super(TestSlowqueryService, self).tearDown()
    
    def test_getSlowqueryPath(self):
        req = fake()
        req.__setitem__("environ", {"trove.context":self.context})
        req.__setitem__("GET", {"name":"1111"})
        group_id = "123"
        res = self.controller.slowquerys(req, self.context.tenant, group_id)
        self.assertTrue(('slowquery_path' in res.data("")), 'bad return value')
        print res.data('data_for_json')
        
    def test_nameIsEmpty(self):
        req = fake()
        req.__setitem__("environ", {"trove.context":self.context})
        req.__setitem__("GET", {})
        group_id = "123"
        res = self.controller.slowquerys(req, self.context.tenant, group_id)
        self.assertTrue(('slowquery_path' in res.data("")), 'bad return value')
        #print res.data('data_for_json')
        
    def test_groupIdIsEmpty(self):
        req = fake()
        req.__setitem__("environ", {"trove.context":self.context})
        req.__setitem__("GET", {"name":"1111"})
        group_id = ""
        try:
            self.controller.slowquerys(req, self.context.tenant, group_id)
        except exception.BadRequest, e:
            self.assertEquals("The group  no found", e.message)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
 def setUp(self):
     super(test_service, self).setUp()
     self.controller = KSC_InstanceController()
Exemplo n.º 4
0
 def setUp(self):
     super(TestSlowqueryService, self).setUp()
     self.controller = KSC_InstanceController()
     self.context.tenant = 'TENANT-2014-07-31'
Exemplo n.º 5
0
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)