def test_validate(self): validator = validators.RequiredAPIVersionsValidator( "keystone", [2.0, 3]) clients = self.context["users"][0]["credential"].clients() clients.keystone.return_value = self._get_keystone_v3_mock_client() validator.validate(self.context, self.config, None, None) clients.keystone.return_value = self._get_keystone_v2_mock_client() validator.validate(self.context, self.config, None, None)
def test_validate_with_keystone_v3(self): validator = validators.RequiredAPIVersionsValidator("keystone", [3]) clients = self.context["users"][0]["credential"].clients() clients.keystone.return_value = self._get_keystone_v3_mock_client() validator.validate(self.context, self.config, None, None) clients.keystone.return_value = self._get_keystone_v2_mock_client() e = self.assertRaises(validators.validation.ValidationError, validator.validate, self.context, self.config, None, None) self.assertEqual( "Task was designed to be used with keystone V3, " "but V2.0 is selected.", e.message)
def test_validate_context(self, version, err_msg): validator = validators.RequiredAPIVersionsValidator("nova", [version]) config = { "contexts": {"api_versions@openstack": {"nova": {"version": 2}}}} if err_msg: e = self.assertRaises( validators.validation.ValidationError, validator.validate, self.context, config, None, None) self.assertEqual(err_msg, e.message) else: result = validator.validate(self.context, config, None, None) self.assertIsNone(result)
def test_validate_nova(self, nova, versions, err_msg): validator = validators.RequiredAPIVersionsValidator("nova", versions) clients = self.context["users"][0]["credential"].clients() clients.nova.choose_version.return_value = nova config = {"contexts": {"api_versions@openstack": {}}} if err_msg: e = self.assertRaises(validators.validation.ValidationError, validator.validate, self.context, config, None, None) self.assertEqual(err_msg, e.message) else: result = validator.validate(self.context, config, None, None) self.assertIsNone(result)