def test_policy_update_last_op(self): policy = self.create_policy() db_api.cluster_policy_attach(self.ctx, self.cluster.id, policy.id, {}) bindings = db_api.cluster_policy_get_all(self.ctx, self.cluster.id) self.assertEqual(1, len(bindings)) self.assertIsNone(bindings[0].last_op) timestamp = tu.utcnow(True) fields = {'last_op': timestamp} db_api.cluster_policy_update(self.ctx, self.cluster.id, policy.id, fields) bindings = db_api.cluster_policy_get_all(self.ctx, self.cluster.id) self.assertEqual(1, len(bindings)) self.assertEqual(timestamp, bindings[0].last_op)
def test_policy_update_last_op(self): policy = self.create_policy() db_api.cluster_policy_attach(self.ctx, self.cluster.id, policy.id, {}) bindings = db_api.cluster_policy_get_all(self.ctx, self.cluster.id) self.assertEqual(1, len(bindings)) self.assertIsNone(bindings[0].last_op) timestamp = tu.utcnow() fields = {'last_op': timestamp} db_api.cluster_policy_update(self.ctx, self.cluster.id, policy.id, fields) bindings = db_api.cluster_policy_get_all(self.ctx, self.cluster.id) self.assertEqual(1, len(bindings)) self.assertEqual(timestamp, bindings[0].last_op)
def test_policy_enable_disable(self): policy = self.create_policy() fields = { 'enabled': True, } db_api.cluster_policy_attach(self.ctx, self.cluster.id, policy.id, fields) bindings = db_api.cluster_policy_get_all(self.ctx, self.cluster.id) self.assertEqual(1, len(bindings)) self.assertTrue(bindings[0].enabled) db_api.cluster_policy_update(self.ctx, self.cluster.id, policy.id, {'enabled': True}) bindings = db_api.cluster_policy_get_all(self.ctx, self.cluster.id) self.assertEqual(1, len(bindings)) self.assertTrue(bindings[0].enabled) db_api.cluster_policy_update(self.ctx, self.cluster.id, policy.id, {'enabled': False}) bindings = db_api.cluster_policy_get_all(self.ctx, self.cluster.id) self.assertEqual(1, len(bindings)) self.assertFalse(bindings[0].enabled) db_api.cluster_policy_update(self.ctx, self.cluster.id, policy.id, {'enabled': True}) bindings = db_api.cluster_policy_get_all(self.ctx, self.cluster.id) self.assertEqual(1, len(bindings)) self.assertTrue(bindings[0].enabled) # No policy binding found res = db_api.cluster_policy_update(self.ctx, self.cluster.id, 'BOGUS', {}) self.assertIsNone(res)
def test_policy_update_with_data(self): policy = self.create_policy() db_api.cluster_policy_attach(self.ctx, self.cluster.id, policy.id, {}) bindings = db_api.cluster_policy_get_all(self.ctx, self.cluster.id) self.assertEqual(1, len(bindings)) self.assertIsNone(bindings[0].data) fields = {'data': {'foo': 'bar'}} db_api.cluster_policy_update(self.ctx, self.cluster.id, policy.id, fields) bindings = db_api.cluster_policy_get_all(self.ctx, self.cluster.id) self.assertEqual(1, len(bindings)) self.assertEqual({'foo': 'bar'}, bindings[0].data) fields = {'data': {'foo': 'BAR'}} db_api.cluster_policy_update(self.ctx, self.cluster.id, policy.id, fields) bindings = db_api.cluster_policy_get_all(self.ctx, self.cluster.id) self.assertEqual(1, len(bindings)) self.assertEqual({'foo': 'BAR'}, bindings[0].data)