def test_store_for_create(self): policy = self._create_policy('test-policy') self.assertIsNone(policy.id) policy_id = policy.store(self.ctx) self.assertIsNotNone(policy_id) self.assertEqual(policy_id, policy.id) result = db_api.policy_get(self.ctx, policy_id) self.assertIsNotNone(result) self.assertEqual('test-policy', result.name) self.assertEqual(policy_id, result.id) self.assertEqual(policy.type, result.type) self.assertEqual(policy.user, result.user) self.assertEqual(policy.project, result.project) self.assertEqual(policy.domain, result.domain) self.assertEqual(policy.level, result.level) self.assertEqual(policy.cooldown, result.cooldown) self.assertEqual(policy.spec, result.spec) self.assertEqual(policy.data, result.data) self.assertIsNotNone(result.created_time) self.assertIsNone(result.updated_time) self.assertIsNone(result.deleted_time)
def load(cls, context, policy_id=None, policy=None): '''Retrieve and reconstruct a policy object from DB.''' if policy is None: policy = db_api.policy_get(context, policy_id) if policy is None: raise exception.PolicyNotFound(policy=policy_id) return cls._from_db_record(context, policy)
def load(cls, context, policy_id=None, db_policy=None): """Retrieve and reconstruct a policy object from DB. :param context: DB context for object retrieval. :param policy_id: Optional parameter specifying the ID of policy. :param db_policy: Optional parameter referencing a policy DB object. :returns: An object of the proper policy class. """ if db_policy is None: db_policy = db_api.policy_get(context, policy_id) if db_policy is None: raise exception.PolicyNotFound(policy=policy_id) return cls._from_db_record(db_policy)
def test_store_for_update(self): policy = self._create_policy('test-policy') self.assertIsNone(policy.id) policy_id = policy.store(self.ctx) self.assertIsNotNone(policy_id) self.assertEqual(policy_id, policy.id) # do an update policy.name = 'test-policy-1' policy.data = {'kk': 'vv'} new_id = policy.store(self.ctx) self.assertEqual(policy_id, new_id) result = db_api.policy_get(self.ctx, policy_id) self.assertIsNotNone(result) self.assertEqual('test-policy-1', result.name) self.assertEqual({'kk': 'vv'}, policy.data) self.assertIsNotNone(policy.created_at) self.assertIsNotNone(policy.updated_at)
def test_store_for_create(self): policy = self._create_policy('test-policy') self.assertIsNone(policy.id) policy_id = policy.store(self.ctx) self.assertIsNotNone(policy_id) self.assertEqual(policy_id, policy.id) result = db_api.policy_get(self.ctx, policy_id) self.assertIsNotNone(result) self.assertEqual('test-policy', result.name) self.assertEqual(policy_id, result.id) self.assertEqual(policy.type, result.type) self.assertEqual(policy.user, result.user) self.assertEqual(policy.project, result.project) self.assertEqual(policy.domain, result.domain) self.assertEqual(policy.spec, result.spec) self.assertEqual(policy.data, result.data) self.assertIsNotNone(result.created_at) self.assertIsNone(result.updated_at)
def get(cls, context, policy_id, **kwargs): obj = db_api.policy_get(context, policy_id, **kwargs) return cls._from_db_object(context, cls(), obj)