def test_validate_with_admin(self): validator = validators.RequiredClientsValidator( components=["keystone", "nova"], admin=True) clients = self.credentials["openstack"]["admin"].clients.return_value result = validator.validate(self.config, self.credentials, None, None) self.assertIsNone(result) clients.keystone.side_effect = ImportError result = validator.validate(self.config, self.credentials, None, None) self.assertTrue(result) self.assertEqual( "Client for keystone is not installed. To install it " "run `pip install python-keystoneclient`", result.msg)
def test_validate_with_admin(self): validator = validators.RequiredClientsValidator( components=["keystone", "nova"], admin=True) clients = self.context["admin"]["credential"].clients.return_value result = validator.validate(self.context, self.config, None, None) self.assertIsNone(result) clients.keystone.side_effect = ImportError e = self.assertRaises(validators.validation.ValidationError, validator.validate, self.context, self.config, None, None) self.assertEqual( "Client for keystone is not installed. To install it " "run `pip install python-keystoneclient`", e.message)
def test_validate(self): validator = validators.RequiredClientsValidator(components=["keystone", "nova"]) clients = self.credentials[ "openstack"]["users"][0]["credential"].clients.return_value result = validator.validate(self.config, self.credentials, None, None) self.assertIsNone(result) clients.nova.side_effect = ImportError result = validator.validate(self.config, self.credentials, None, None) self.assertIsNotNone(result) self.assertEqual("Client for nova is not installed. To install it " "run `pip install python-novaclient`", result.msg)