Beispiel #1
0
 def setUp(self):
     super(TestTaskExecutor, self).setUp()
     self.task = {
         'action': {
             'args': None,
             'object_id': 'my_obj_id',
             'method': 'my_method'
         },
         'model': {
             'SystemData': {
                 'Packages': 'my_packages'
             },
             'project_id': 'my_tenant_id',
             'user_id': 'my_user_id'
         },
         'token': 'my_token',
         'project_id': 'my_tenant_id',
         'user_id': 'my_user_id',
         'id': 'my_env_id'
     }
     self.task_executor = engine.TaskExecutor(self.task)
     self.task_executor._model = self.task['model']
     self.task_executor._session.token = self.task['token']
     self.task_executor._session.project_id = self.task['project_id']
     self.task_executor._session.user_id = self.task['user_id']
     self.task_executor._session.environment_owner_project_id_ = \
         self.task['model']['project_id']
     self.task_executor._session.environment_owner_user_id = \
         self.task['model']['user_id']
     (self.task_executor._session.system_attributes) = (
         self.task_executor._model.get('SystemData', {}))
     self.addCleanup(mock.patch.stopall)
    def test_enforcer_disabled(self):
        executor = engine.TaskExecutor(self.task)
        executor._model_policy_enforcer = mock.Mock()

        CONF.engine.enable_model_policy_enforcer = False
        executor._validate_model(self.obj, self.package_loader, None)

        self.assertFalse(executor._model_policy_enforcer.validate.called)
Beispiel #3
0
    def test_action_not_deploy(self):
        executor = engine.TaskExecutor(self.task)
        executor._model_policy_enforcer = mock.Mock()

        CONF.engine.enable_model_policy_enforcer = True
        executor._validate_model(self.obj, {'method': 'not_deploy'},
                                 self.class_loader)

        self.assertFalse(executor._model_policy_enforcer.validate.called)
Beispiel #4
0
    def test_enforcer_enabled(self):
        executor = engine.TaskExecutor(self.task)
        executor._model_policy_enforcer = mock.Mock()

        CONF.engine.enable_model_policy_enforcer = True
        executor._validate_model(self.obj, self.package_loader)

        executor._model_policy_enforcer \
            .validate.assert_called_once_with(self.model_dict,
                                              self.package_loader)
Beispiel #5
0
    def test_none_model(self):
        executor = engine.TaskExecutor(self.task)
        executor._model_policy_enforcer = mock.Mock()

        CONF.engine.enable_model_policy_enforcer = True

        executor._validate_model(None, self.package_loader)

        self.assertFalse(executor._model_policy_enforcer.modify.called)
        self.assertFalse(executor._model_policy_enforcer.validate.called)

        executor._validate_model(self.obj, self.package_loader)

        self.assertTrue(executor._model_policy_enforcer.modify.called)
        self.assertTrue(executor._model_policy_enforcer.validate.called)