コード例 #1
0
    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)
コード例 #2
0
ファイル: engine.py プロジェクト: lexplua/murano
 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)
コード例 #3
0
    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)
コード例 #4
0
ファイル: engine.py プロジェクト: toby82/murano
    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)
コード例 #5
0
ファイル: engine.py プロジェクト: NikolayStarodubtsev/murano
    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)
コード例 #6
0
    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)
コード例 #7
0
    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)
コード例 #8
0
    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)
コード例 #9
0
 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)
コード例 #10
0
 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)