def test_quota_class_destroy(self): quota_class = db.quota_class_create(self.ctxt, self.class_name, self.resource, self.limit) db.quota_class_destroy(self.ctxt, self.class_name, self.resource) self.assertRaises(exception.QuotaClassNotFound, db.quota_class_get, self.ctxt, quota_class.class_name, quota_class.resource)
def test_quota_class_update(self): quota_class = db.quota_class_create(self.ctxt, self.class_name, self.resource, self.limit) db.quota_class_update(self.ctxt, quota_class.class_name, quota_class.resource, 20) quota_class = db.quota_class_get(self.ctxt, self.class_name, self.resource) self.assertEqual(20, quota_class.hard_limit)
def test_quota_class_get(self): quota_class = db.quota_class_create(self.ctxt, self.class_name, self.resource, self.limit) self._assertEqualObjects( quota_class, db.quota_class_get(self.ctxt, quota_class.class_name, quota_class.resource)) db.quota_class_destroy(self.ctxt, self.class_name, self.resource)
def update(self, req, id, body): context = req.environ['karbor.context'] LOG.info("Update quota class with name: %s", id, context=context) context.can(quota_class_policy.UPDATE_POLICY) quota_class_name = id bad_keys = [] for key, value in body.get('quota_class', {}).items(): if key not in QUOTAS: bad_keys.append(key) continue if key in QUOTAS and value: try: value = int(value) except (ValueError, TypeError): msg = _("Quota '%(value)s' for %(key)s should be " "integer.") % { 'value': value, 'key': key } LOG.warning(msg) raise exc.HTTPBadRequest(explanation=msg) for key in body['quota_class'].keys(): if key in QUOTAS: value = int(body['quota_class'][key]) self._validate_quota_limit(value) try: db.quota_class_update(context, quota_class_name, key, value) except exception.QuotaClassNotFound: db.quota_class_create(context, quota_class_name, key, value) except exception.AdminRequired: raise exc.HTTPForbidden() LOG.info("Update quota class successfully.", resource={'id': quota_class_name}) quota_class = QUOTAS.get_class_quotas(context, id) return self._view_builder.detail_list(req, quota_class)
def test_quota_class_create(self): quota_class = db.quota_class_create(self.ctxt, self.class_name, self.resource, self.limit) self.assertEqual("volume_backups", quota_class.resource) db.quota_class_destroy(self.ctxt, self.class_name, self.resource)