def test_register_actions_from_bad_pack(self): packs_base_path = tests_base.get_fixtures_path() try: actions_registrar.register_actions(packs_base_paths=[packs_base_path]) self.fail('Should have thrown.') except: pass
def setUp(self): super(ContentPackConfigParserTestCase, self).setUp() tests_config.parse_args() # Mock the packs_base_path mock_path = tests_base.get_fixtures_path() cfg.CONF.content.packs_base_path = mock_path
def test_register_all_actions(self): try: packs_base_path = os.path.join(tests_base.get_fixtures_path()) all_actions_in_db = Action.get_all() actions_registrar.register_actions(packs_base_path=packs_base_path) all_actions_in_db = Action.get_all() self.assertTrue(len(all_actions_in_db) > 0) except Exception as e: print(str(e)) self.fail('All actions must be registered without exceptions.')
def test_pack_name_missing(self): registrar = actions_registrar.ActionsRegistrar() action_file = os.path.join(tests_base.get_fixtures_path(), 'wolfpack/actions/action_3_pack_missing.json') registrar._register_action('dummy', action_file) action_name = None with open(action_file, 'r') as fd: content = json.load(fd) action_name = str(content['name']) action_db = Action.get_by_name(action_name) self.assertEqual(action_db.pack, 'dummy', 'Content pack must be ' + 'set to dummy') Action.delete(action_db)
from st2tests.base import CleanDbTestCase from st2tests.base import blocking_eventlet_spawn from st2tests.base import make_mock_stream_readline from st2tests.fixturesloader import assert_submodules_are_checked_out import st2tests.base as tests_base PASCAL_ROW_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/pascal_row.py') ECHOER_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/echoer.py') TEST_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/test.py') PATHS_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/python_paths.py') ACTION_1_PATH = os.path.join( tests_base.get_fixtures_path(), 'packs/dummy_pack_9/actions/list_repos_doesnt_exist.py') ACTION_2_PATH = os.path.join(tests_base.get_fixtures_path(), 'packs/dummy_pack_9/actions/invalid_syntax.py') NON_SIMPLE_TYPE_ACTION = os.path.join( tests_base.get_resources_path(), 'packs', 'pythonactions/actions/non_simple_type.py') PRINT_VERSION_ACTION = os.path.join( tests_base.get_fixtures_path(), 'packs', 'test_content_version/actions/print_version.py') PRINT_VERSION_LOCAL_MODULE_ACTION = os.path.join( tests_base.get_fixtures_path(), 'packs', 'test_content_version/actions/print_version_local_import.py') PRINT_CONFIG_ITEM_ACTION = os.path.join( tests_base.get_resources_path(), 'packs',
from st2common.constants.action import ACTION_OUTPUT_RESULT_DELIMITER from st2common.constants.action import LIVEACTION_STATUS_SUCCEEDED, LIVEACTION_STATUS_FAILED from st2common.constants.action import LIVEACTION_STATUS_TIMED_OUT from st2common.constants.pack import SYSTEM_PACK_NAME from st2tests.base import RunnerTestCase from st2tests.base import CleanDbTestCase import st2tests.base as tests_base PASCAL_ROW_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/pascal_row.py') TEST_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/test.py') PATHS_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/python_paths.py') ACTION_1_PATH = os.path.join(tests_base.get_fixtures_path(), 'packs/dummy_pack_9/actions/list_repos_doesnt_exist.py') ACTION_2_PATH = os.path.join(tests_base.get_fixtures_path(), 'packs/dummy_pack_9/actions/invalid_syntax.py') # Note: runner inherits parent args which doesn't work with tests since test pass additional # unrecognized args mock_sys = mock.Mock() mock_sys.argv = [] @mock.patch('python_runner.sys', mock_sys) class PythonRunnerTestCase(RunnerTestCase, CleanDbTestCase): register_packs = True register_pack_configs = True
from st2tests.base import CleanDbTestCase from st2tests.base import blocking_eventlet_spawn from st2tests.base import make_mock_stream_readline from st2tests.fixturesloader import assert_submodules_are_checked_out import st2tests.base as tests_base PASCAL_ROW_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/pascal_row.py') ECHOER_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/echoer.py') TEST_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/test.py') PATHS_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/python_paths.py') ACTION_1_PATH = os.path.join(tests_base.get_fixtures_path(), 'packs/dummy_pack_9/actions/list_repos_doesnt_exist.py') ACTION_2_PATH = os.path.join(tests_base.get_fixtures_path(), 'packs/dummy_pack_9/actions/invalid_syntax.py') NON_SIMPLE_TYPE_ACTION = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/non_simple_type.py') PRINT_VERSION_ACTION = os.path.join(tests_base.get_fixtures_path(), 'packs', 'test_content_version/actions/print_version.py') PRINT_VERSION_LOCAL_MODULE_ACTION = os.path.join(tests_base.get_fixtures_path(), 'packs', 'test_content_version/actions/print_version_local_import.py') PRINT_CONFIG_ITEM_ACTION = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/print_config_item_doesnt_exist.py') PRINT_TO_STDOUT_STDERR_ACTION = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/print_to_stdout_and_stderr.py')
self.runner_type = {'name': None} @staticmethod def from_dict(**kw): inst = DummyAction() for k, v in kw.items(): setattr(inst, k, v) return inst class DummyRunner(object): def __init__(self): self.runner_parameters = {} CHAIN_1_PATH = os.path.join(tests_base.get_fixtures_path(), 'actionchains/chain1.json') with open(CHAIN_1_PATH, 'r') as fd: CHAIN_1 = json.load(fd) CHAIN_STR_TEMP_PATH = os.path.join(tests_base.get_fixtures_path(), 'actionchains/chain_str_template.json') CHAIN_LIST_TEMP_PATH = os.path.join(tests_base.get_fixtures_path(), 'actionchains/chain_list_template.json') CHAIN_DICT_TEMP_PATH = os.path.join(tests_base.get_fixtures_path(), 'actionchains/chain_dict_template.json') CHAIN_DEP_INPUT = os.path.join(tests_base.get_fixtures_path(), 'actionchains/chain_dependent_input.json') CHAIN_DEP_RESULTS_INPUT = os.path.join( tests_base.get_fixtures_path(), 'actionchains/chain_dep_result_input.json') MALFORMED_CHAIN_PATH = os.path.join(tests_base.get_fixtures_path(), 'actionchains/malformedchain.json')
from st2tests.base import CleanDbTestCase from st2tests.base import blocking_eventlet_spawn from st2tests.base import make_mock_stream_readline from st2tests.fixturesloader import assert_submodules_are_checked_out import st2tests.base as tests_base PASCAL_ROW_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/pascal_row.py') ECHOER_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/echoer.py') TEST_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/test.py') PATHS_ACTION_PATH = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/python_paths.py') ACTION_1_PATH = os.path.join(tests_base.get_fixtures_path(), 'packs/dummy_pack_9/actions/list_repos_doesnt_exist.py') ACTION_2_PATH = os.path.join(tests_base.get_fixtures_path(), 'packs/dummy_pack_9/actions/invalid_syntax.py') NON_SIMPLE_TYPE_ACTION = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/non_simple_type.py') PRINT_VERSION_ACTION = os.path.join(tests_base.get_fixtures_path(), 'packs', 'test_content_version/actions/print_version.py') PRINT_VERSION_LOCAL_MODULE_ACTION = os.path.join(tests_base.get_fixtures_path(), 'packs', 'test_content_version/actions/print_version_local_import.py') PRINT_CONFIG_ITEM_ACTION = os.path.join(tests_base.get_resources_path(), 'packs', 'pythonactions/actions/print_config_item_doesnt_exist.py') # Note: runner inherits parent args which doesn't work with tests since test pass additional
self.runner_type = {'name': None} @staticmethod def from_dict(**kw): inst = DummyAction() for k, v in kw.items(): setattr(inst, k, v) return inst class DummyRunner(object): def __init__(self): self.runner_parameters = {} CHAIN_1_PATH = os.path.join(tests_base.get_fixtures_path(), 'actionchains/chain1.json') with open(CHAIN_1_PATH, 'r') as fd: CHAIN_1 = json.load(fd) CHAIN_STR_TEMP_PATH = os.path.join(tests_base.get_fixtures_path(), 'actionchains/chain_str_template.json') CHAIN_LIST_TEMP_PATH = os.path.join(tests_base.get_fixtures_path(), 'actionchains/chain_list_template.json') CHAIN_DICT_TEMP_PATH = os.path.join(tests_base.get_fixtures_path(), 'actionchains/chain_dict_template.json') CHAIN_DEP_INPUT = os.path.join(tests_base.get_fixtures_path(), 'actionchains/chain_dependent_input.json') CHAIN_DEP_RESULTS_INPUT = os.path.join(tests_base.get_fixtures_path(), 'actionchains/chain_dep_result_input.json') MALFORMED_CHAIN_PATH = os.path.join(tests_base.get_fixtures_path(), 'actionchains/malformedchain.json')