Exemple #1
0
 def setUp(self):
     self.ctxt = FakeContext()
     self.dbapi = mock.Mock()
     self.quota_driver = mock.Mock()
     self.engine = quota.QuotaEngine(self.dbapi, self.quota_driver)
     self.r1 = quota.BaseResource('r1')
     self.r2 = quota.BaseResource('r2')
     self.engine.register_resources([self.r1, self.r2])
     super(QuotaEngineTestCase, self).setUp()
Exemple #2
0
    def setUp(self):
        self.stubs = self.useFixture(moxstubout.MoxStubout()).stubs
        self.CONF = self.useFixture(config.Config()).conf
        self.sample_resources = {
            'r1': quota.BaseResource('r1'),
            'r2': quota.BaseResource('r2')
        }

        dbapi = mock.Mock()
        dbapi.quota_usage_get_all_by_project_and_user = mock.Mock(
            return_value={
                'project_id': 'p1',
                'user_id': 'u1',
                'r1': {
                    'reserved': 1,
                    'in_use': 2
                },
                'r2': {
                    'reserved': 2,
                    'in_use': 3
                }
            })
        dbapi.quota_get_all_by_project_and_user = mock.Mock(return_value={
            'project_id': 'p1',
            'user_id': 'u1',
            'r1': 5,
            'r2': 6
        })
        dbapi.quota_get = mock.Mock(return_value='quota_get')
        dbapi.quota_reserve = mock.Mock(return_value='quota_reserve')
        dbapi.quota_class_get = mock.Mock(return_value='quota_class_get')
        dbapi.quota_class_reserve = mock.Mock(
            return_value='quota_class_reserve')
        dbapi.quota_class_get_default = mock.Mock(return_value={
            'r1': 1,
            'r2': 2
        })
        dbapi.quota_class_get_all_by_name = mock.Mock(return_value={'r1': 9})
        dbapi.quota_get_all_by_project = mock.Mock(
            return_value=dict([('r%d' % i, i) for i in range(3)]))
        dbapi.quota_get_all = mock.Mock(return_value=[{
            'resource': 'r1',
            'hard_limit': 3
        }, {
            'resource': 'r2',
            'hard_limit': 4
        }])
        dbapi.quota_usage_get_all_by_project = mock.Mock(
            return_value=dict([('r%d' % i, {
                'in_use': i,
                'reserved': i + 1
            }) for i in range(3)]))
        self.dbapi = dbapi
        self.driver = quota.DbQuotaDriver(dbapi)
        self.ctxt = FakeContext()
        return super(DbQuotaDriverTestCase, self).setUp()
Exemple #3
0
 def test_quota_quota_class_not_found(self):
     self.dbapi.quota_get = mock.Mock(
         side_effect=quota.ProjectQuotaNotFound(project_id='p1'))
     self.dbapi.quota_class_get = mock.Mock(
         side_effect=quota.QuotaClassNotFound(class_name='ClassName'))
     resource = quota.BaseResource('r1')
     self.assertEqual(1, resource.quota(self.driver, self.ctxt))
Exemple #4
0
 def test_get_project_quotas_omit_default_quota_class(self):
     self.sample_resources['r3'] = quota.BaseResource('r3')
     quotas = self.driver.get_project_quotas(self.ctxt,
                                             self.sample_resources,
                                             'p1',
                                             defaults=False)
     expected = {
         'r1': {
             'limit': 1,
             'in_use': 1,
             'reserved': 2
         },
         'r2': {
             'limit': 2,
             'in_use': 2,
             'reserved': 3
         }
     }
     self.assertEqual(quotas, expected)
Exemple #5
0
 def test_quota_project_quota_not_found(self):
     self.dbapi.quota_get = mock.Mock(
         side_effect=quota.ProjectQuotaNotFound())
     resource = quota.BaseResource('r1')
     self.assertEqual('quota_class_get',
                      resource.quota(self.driver, self.ctxt))
Exemple #6
0
 def test_quota_no_project_id(self):
     self.ctxt.project_id = None
     resource = quota.BaseResource('r1')
     self.assertEqual('quota_class_get',
                      resource.quota(self.driver, self.ctxt))
Exemple #7
0
 def test_quota(self):
     resource = quota.BaseResource('r1')
     self.assertEqual('quota_get', resource.quota(self.driver, self.ctxt))
Exemple #8
0
 def test_limit_check(self):
     self.assertIsNone(
         self.driver.limit_check(self.ctxt,
                                 {'r1': quota.BaseResource('r1')},
                                 {'r1': 1}))
Exemple #9
0
 def test_limit_check_over_quota(self):
     self.assertRaises(quota.OverQuota, self.driver.limit_check, self.ctxt,
                       {'r1': quota.BaseResource('r1')}, {'r1': 2})