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_context(self, version, err_msg): validator = validators.RequiredAPIVersionsValidator("nova", [version]) config = {"context": {"api_versions": {"nova": {"version": 2}}}} result = validator.validate(config, self.credentials, None, None) if err_msg: self.assertIsNotNone(result) self.assertEqual(err_msg, result.msg) else: self.assertIsNone(result)
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)
def test_validate_nova(self, nova, versions, err_msg): validator = validators.RequiredAPIVersionsValidator("nova", versions) clients = self.credentials["openstack"]["users"][0][ "credential"].clients() clients.nova.choose_version.return_value = nova config = {"context": {"api_versions": {}}} result = validator.validate(config, self.credentials, None, None) if err_msg: self.assertIsNotNone(result) self.assertEqual(err_msg, result.msg) else: self.assertIsNone(result)
def test_validate_keystone(self, versions, err_msg): validator = validators.RequiredAPIVersionsValidator( "keystone", versions) clients = self.credentials["openstack"]["users"][0][ "credential"].clients() clients.keystone.return_value = self._get_keystone_v3_mock_client() result = validator.validate(self.config, self.credentials, None, None) if result: self.assertEqual(err_msg, result.msg) clients.keystone.return_value = self._get_keystone_v2_mock_client() result = validator.validate(self.config, self.credentials, None, None) if result: self.assertEqual(err_msg, result.msg)