def test_validation_failure(self): self.congress_client_mock.execute_policy_action.return_value = \ {"result": ['predeploy_errors("123","instance1","failure")']} model = {'?': {'id': '123', 'type': 'class'}} enforcer = model_policy_enforcer.ModelPolicyEnforcer(mock.Mock()) self.assertRaises(model_policy_enforcer.ValidationError, enforcer.validate, model)
def __init__(self, task, reporter=None): if reporter is None: reporter = status_reporter.StatusReporter(task['id']) self._action = task['action'] self._session = execution_session.ExecutionSession() self._session.token = task['token'] self._session.project_id = task['tenant_id'] self._reporter = reporter self._model_policy_enforcer = enforcer.ModelPolicyEnforcer( self._session)
def __init__(self, task): self._action = task.get('action') self._model = task['model'] self._environment = environment.Environment() self._environment.token = task['token'] self._environment.tenant_id = task['tenant_id'] self._environment.system_attributes = self._model.get('SystemData', {}) self._environment.clients = client_manager.ClientManager() self._model_policy_enforcer = enforcer.ModelPolicyEnforcer( self._environment)
def __init__(self, task, reporter=None): if reporter is None: reporter = status_reporter.StatusReporter(task['id']) self._action = task.get('action') self._model = task['model'] self._session = execution_session.ExecutionSession() self._session.token = task['token'] self._session.project_id = task['tenant_id'] self._session.system_attributes = self._model.get('SystemData', {}) self._reporter = reporter self._model_policy_enforcer = enforcer.ModelPolicyEnforcer( self._session)
def __init__(self, task, reporter=None): if reporter is None: reporter = status_reporter.StatusReporter(task['id']) self._action = task.get('action') self._model = task['model'] self._environment = environment.Environment() self._environment.token = task['token'] self._environment.tenant_id = task['tenant_id'] self._environment.system_attributes = self._model.get('SystemData', {}) self._reporter = reporter self._model_policy_enforcer = enforcer.ModelPolicyEnforcer( self._environment)
def test_modify(self): model = {'?': {'id': '123', 'type': 'class'}} obj = mock.MagicMock() obj.to_dictionary = mock.Mock(return_value=model) self.congress_client_mock.execute_policy_action.return_value = \ {"result": [ 'predeploy_modify("123","instance1",' '"remove-object: {object_id: "12"}")']} action_manager = mock.MagicMock() enforcer = model_policy_enforcer.ModelPolicyEnforcer( mock.Mock(), action_manager) enforcer.modify(obj) self.assertTrue(action_manager.apply_action.called)
def test_parse_result(self): congress_response = [ 'unexpected response', 'predeploy_errors("env1","instance1","Instance 1 has problem")', 'predeploy_errors("env1","instance1","Instance 2 has problem")', 'predeploy_errors("env2","instance1","Instance 3 has problem")' ] enforcer = model_policy_enforcer.ModelPolicyEnforcer(None) result = enforcer._parse_simulation_result('predeploy_errors', 'env1', congress_response) self.assertNotIn("unexpected response", result) self.assertIn("Instance 1 has problem", result) self.assertIn("Instance 2 has problem", result) self.assertNotIn("Instance 3 has problem", result)
def test_parse_result(self): congress_response = [ 'unexpected response', 'predeploy_errors("env1","instance1","Instance 1 has problem")', 'predeploy_errors("env1","instance1","Instance 2 has problem")', 'predeploy_errors("env2","instance1","Instance 3 has problem")' ] enforcer = model_policy_enforcer.ModelPolicyEnforcer(self.environment) result = enforcer._parse_messages('env1', congress_response) print result self.assertFalse("unexpected response" in result) self.assertTrue("Instance 1 has problem" in result) self.assertTrue("Instance 2 has problem" in result) self.assertFalse("Instance 3 has problem" in result)
def test_validation_pass(self): self.congress_client_mock.execute_policy_action.return_value = \ {"result": []} model = {'?': {'id': '123', 'type': 'class'}} enforcer = model_policy_enforcer.ModelPolicyEnforcer(mock.Mock()) enforcer.validate(model)
def test_enforcer_no_client(self): self.client_manager_mock.get_congress_client.return_value = None enforcer = model_policy_enforcer.ModelPolicyEnforcer(self.environment) model = {'?': {'id': '123', 'type': 'class'}} self.assertRaises(ValueError, enforcer.validate, model)