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)
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)
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)
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)