From a1d09ced5925eefe179d08d14f8f168aae10c919 Mon Sep 17 00:00:00 2001 From: Theresa Kamerman Date: Wed, 16 Aug 2023 11:41:29 -0700 Subject: [PATCH 01/55] Query resource types from table rather than deprecated action --- src/aerie_cli/aerie_client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/aerie_cli/aerie_client.py b/src/aerie_cli/aerie_client.py index bf81aa08..fde442f8 100644 --- a/src/aerie_cli/aerie_client.py +++ b/src/aerie_cli/aerie_client.py @@ -1664,8 +1664,8 @@ def get_resource_types(self, model_id: int) -> List[ResourceType]: """ get_resource_types_query = """ - query ResourceTypes($missionModelId: ID!) { - resourceTypes(missionModelId: $missionModelId) { + query ResourceTypes($missionModelId: Int!) { + resourceTypes: resource_type(where: {model_id: {_eq: $missionModelId}}) { name schema } From b52c8ed7b5f292e42024f02adf436be1de5d7c93 Mon Sep 17 00:00:00 2001 From: Theresa Kamerman Date: Wed, 16 Aug 2023 12:47:06 -0700 Subject: [PATCH 02/55] Update unit tests to match new query --- tests/unit_tests/files/mock_responses/get_resource_types.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit_tests/files/mock_responses/get_resource_types.json b/tests/unit_tests/files/mock_responses/get_resource_types.json index c72ed8be..57ae5660 100644 --- a/tests/unit_tests/files/mock_responses/get_resource_types.json +++ b/tests/unit_tests/files/mock_responses/get_resource_types.json @@ -1,7 +1,7 @@ [ { "request": { - "query": "query ResourceTypes($missionModelId: ID!) { resourceTypes(missionModelId: $missionModelId) { name schema } }", + "query": "query ResourceTypes($missionModelId: Int!) { resourceTypes: resource_type(where: {model_id: {_eq: $missionModelId}}) { name schema } }", "variables": { "missionModelId": 1 } From 083c9f52d1c9930c26577915638be203353b57de Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Wed, 16 Aug 2023 15:14:07 -0700 Subject: [PATCH 03/55] Add importlib-metadata dependency --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 55daa325..81a15bac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,6 +27,7 @@ rich = "^12.6.0" attrs = "^22.2.0" pandas = "^1.1.5" appdirs = "^1.4.4" +importlib-metadata = "^4.8.2" [tool.poetry.dev-dependencies] pytest = "^6.2.5" From e06e041b00078ab2395280d6e7d741d8069e7b9b Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Wed, 16 Aug 2023 14:37:39 -0700 Subject: [PATCH 04/55] Update README installation instructions --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5517a7d8..ba0f6e0d 100644 --- a/README.md +++ b/README.md @@ -56,12 +56,12 @@ Aerie CLI provides a command-line interface and user-extendable Python backend f This short procedure will get you up and running with the basics of Aerie CLI. Read the following sections for more information. -1. Install/update to Python 3.9 +1. Install/update to Python >=3.9 2. Install Aerie CLI from Github: ```sh - python3 -m pip install git+https://github.com/NASA-AMMOS/aerie-cli.git#main + python3 -m pip install git+https://github.com/NASA-AMMOS/aerie-cli.git@main ``` 3. Configure access to an Aerie host From ceb9701f522af5434f6f6ecef63c800ca7739982 Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Wed, 16 Aug 2023 14:37:50 -0700 Subject: [PATCH 05/55] Version bump --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 81a15bac..917ba1b4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "aerie-cli" -version = "1.2.1" +version = "1.2.2" description = "aerie-cli" authors = ["Gavin Martin ", "Mihir Kamble "] license = "MIT" From d8f545ea18e84a2388eead3f2eaa387426c0338a Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Fri, 4 Aug 2023 11:14:10 -0700 Subject: [PATCH 06/55] Simulate after configs test Config files have been changed to fit the simulation arguments --- .../files/plans/create_config.json | 10 +++++-- .../files/plans/update_config.json | 10 +++++-- tests/integration_tests/test_cli.py | 30 ++++++++++++------- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/tests/integration_tests/files/plans/create_config.json b/tests/integration_tests/files/plans/create_config.json index f96b9545..cd6f217a 100644 --- a/tests/integration_tests/files/plans/create_config.json +++ b/tests/integration_tests/files/plans/create_config.json @@ -1,4 +1,10 @@ { - "foo": "arg1", - "num": 5 + "initialPlantCount": 2, + "initialProducer": "nobody", + "initialDataPath": "/etc/os-release", + "initialConditions": { + "flag": "A", + "fruit": 3, + "peel": 3 + } } \ No newline at end of file diff --git a/tests/integration_tests/files/plans/update_config.json b/tests/integration_tests/files/plans/update_config.json index 87c09325..b5b0875d 100644 --- a/tests/integration_tests/files/plans/update_config.json +++ b/tests/integration_tests/files/plans/update_config.json @@ -1,4 +1,10 @@ { - "foo": "arg2", - "num": 5 + "initialPlantCount": 3, + "initialProducer": "somebody", + "initialDataPath": "/etc/os-release", + "initialConditions": { + "flag": "B", + "fruit": 2, + "peel": 2 + } } \ No newline at end of file diff --git a/tests/integration_tests/test_cli.py b/tests/integration_tests/test_cli.py index 661e1398..3a104d9b 100644 --- a/tests/integration_tests/test_cli.py +++ b/tests/integration_tests/test_cli.py @@ -95,6 +95,13 @@ def cli_upload_banana_model(): + "\n", catch_exceptions=False, ) +def cli_plan_simulate(): + return runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "simulate", "--output", "temp.json"], + input=str(plan_id) + "\n", + catch_exceptions=False + ) def test_model_upload(): result = cli_upload_banana_model() @@ -176,12 +183,7 @@ def test_plan_list(): def test_plan_simulate(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "simulate", "--output", "temp.json"], - input=str(plan_id) + "\n", - catch_exceptions=False - ) + result = cli_plan_simulate() assert result.exit_code == 0 assert f"Simulation completed" in result.stdout @@ -195,9 +197,13 @@ def test_plan_create_config(): ) assert result.exit_code == 0 assert f"Configuration Arguments for Plan ID: {plan_id}" in result.stdout - assert "foo: arg1" in result.stdout - assert "num: 5" in result.stdout + assert "initialPlantCount: 2" in result.stdout + assert "initialProducer: nobody" in result.stdout +def test_simulate_after_create_config(): + result = cli_plan_simulate() + assert result.exit_code == 0 + assert f"Simulation completed" in result.stdout def test_plan_update_config(): result = runner.invoke( @@ -208,9 +214,13 @@ def test_plan_update_config(): ) assert result.exit_code == 0 assert f"Configuration Arguments for Plan ID: {plan_id}" in result.stdout - assert "foo: arg2" in result.stdout - assert "num: 5" in result.stdout + assert "initialPlantCount: 3" in result.stdout + assert "initialProducer: somebody" in result.stdout +def test_simulate_after_update_config(): + result = cli_plan_simulate() + assert result.exit_code == 0 + assert f"Simulation completed" in result.stdout def test_plan_delete(): result = runner.invoke( From c5ef63dbcf5deb487b0928c2a72d39767afe9d64 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Fri, 4 Aug 2023 11:24:40 -0700 Subject: [PATCH 07/55] Test duplicated plan --- tests/integration_tests/test_cli.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/integration_tests/test_cli.py b/tests/integration_tests/test_cli.py index 3a104d9b..fc4d3225 100644 --- a/tests/integration_tests/test_cli.py +++ b/tests/integration_tests/test_cli.py @@ -222,6 +222,15 @@ def test_simulate_after_update_config(): assert result.exit_code == 0 assert f"Simulation completed" in result.stdout +def test_plans_duplicate(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "duplicate"], + input=str(plan_id) + "\n" + "duplicated_plan" + "\n", + catch_exceptions=False,) + assert result.exit_code == 0 + assert "Duplicate activity plan created" in result.stdout + def test_plan_delete(): result = runner.invoke( app, From d4fadb1fea6791cab2e8fdd38eb41a1455038852 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Fri, 4 Aug 2023 11:24:47 -0700 Subject: [PATCH 08/55] Test downloaded plan Test downloads --- tests/integration_tests/test_cli.py | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/tests/integration_tests/test_cli.py b/tests/integration_tests/test_cli.py index fc4d3225..e42c3ef6 100644 --- a/tests/integration_tests/test_cli.py +++ b/tests/integration_tests/test_cli.py @@ -8,6 +8,7 @@ sys.path.insert(0, src_path) from typer.testing import CliRunner +from pathlib import Path from aerie_cli.aerie_client import AerieClient from aerie_cli.aerie_host import AerieHostSession, AuthMethod @@ -56,6 +57,9 @@ args_init = os.path.join(test_dir, "files/plans/create_config.json") args_update = os.path.join(test_dir, "files/plans/update_config.json") +# Simulation Variables +sim_id = 0 + @pytest.fixture(scope="session", autouse=True) def set_up_environment(request): # Resets the configurations and adds localhost @@ -184,9 +188,53 @@ def test_plan_list(): def test_plan_simulate(): result = cli_plan_simulate() + sim_ids = client.get_simulation_dataset_ids_by_plan_id(plan_id) + global sim_id + sim_id = sim_ids[-1] assert result.exit_code == 0 assert f"Simulation completed" in result.stdout +def test_plan_download(): + DOWNLOADED_FILE_NAME = "downloaded_file.test" + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download"], + input=str(plan_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", + catch_exceptions=False, + ) + path_to_plan = Path(DOWNLOADED_FILE_NAME) + assert path_to_plan.exists() + path_to_plan.unlink() + assert result.exit_code == 0 + assert f"Wrote activity plan" in result.stdout + +def test_plan_download_resources(): + DOWNLOADED_FILE_NAME = "downloaded_file.test" + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download-resources"], + input=str(sim_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", + catch_exceptions=False, + ) + path_to_resources = Path(DOWNLOADED_FILE_NAME) + assert path_to_resources.exists() + path_to_resources.unlink() + assert result.exit_code == 0 + assert f"Wrote resource timelines" in result.stdout + +def test_plan_download_simulation(): + DOWNLOADED_FILE_NAME = "downloaded_file.test" + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download-simulation"], + input=str(sim_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", + catch_exceptions=False, + ) + path_to_resources = Path(DOWNLOADED_FILE_NAME) + assert path_to_resources.exists() + path_to_resources.unlink() + assert result.exit_code == 0 + assert f"Wrote activity plan" in result.stdout def test_plan_create_config(): result = runner.invoke( From 4388374355133c385bd648ded0533b590c085ec6 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Fri, 4 Aug 2023 12:11:38 -0700 Subject: [PATCH 09/55] Remove hard-coded /'s --- tests/integration_tests/test_cli.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/tests/integration_tests/test_cli.py b/tests/integration_tests/test_cli.py index e42c3ef6..d9c2b1c4 100644 --- a/tests/integration_tests/test_cli.py +++ b/tests/integration_tests/test_cli.py @@ -41,25 +41,34 @@ test_dir = os.path.dirname(os.path.abspath(__file__)) +files_path = os.path.join(test_dir, "files") + # Configuration Variables -config_json = os.path.join(test_dir, "files/configuration/localhost_config.json") +configurations_path = os.path.join(files_path, "configuration") +config_json = os.path.join(configurations_path, "localhost_config.json") # Model Variables -model_jar = os.path.join(test_dir, "files/models/banananation-1.6.2.jar") +models_path = os.path.join(files_path, "models") +model_jar = os.path.join(models_path, "banananation-1.6.2.jar") model_name = "banananation" version = "0.0.1" model_id = 0 # Plan Variables -plan_json = os.path.join(test_dir, "files/plans/bake_bread_plan.json") -dup_plan_name = os.path.join(test_dir, "files/plans/bake_bread_plan_2.json") +plans_path = os.path.join(files_path, "plans") +plan_json = os.path.join(plans_path, "bake_bread_plan.json") +dup_plan_name = os.path.join(plans_path, "bake_bread_plan_2.json") plan_id = 0 -args_init = os.path.join(test_dir, "files/plans/create_config.json") -args_update = os.path.join(test_dir, "files/plans/update_config.json") +args_init = os.path.join(plans_path, "create_config.json") +args_update = os.path.join(plans_path, "update_config.json") # Simulation Variables sim_id = 0 +# Schedule Variables +goals_path = os.path.join(files_path, "goals") +goal_path = os.path.join(goals_path, "goal1") + @pytest.fixture(scope="session", autouse=True) def set_up_environment(request): # Resets the configurations and adds localhost From 9b9512c86658620d6d675a4e066e35a1d8412638 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Fri, 4 Aug 2023 12:43:31 -0700 Subject: [PATCH 10/55] Add scheduling integration tests --- tests/integration_tests/files/goals/goal1.ts | 3 ++ tests/integration_tests/test_cli.py | 36 +++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 tests/integration_tests/files/goals/goal1.ts diff --git a/tests/integration_tests/files/goals/goal1.ts b/tests/integration_tests/files/goals/goal1.ts new file mode 100644 index 00000000..741ef386 --- /dev/null +++ b/tests/integration_tests/files/goals/goal1.ts @@ -0,0 +1,3 @@ +export default (): Goal => { + +} \ No newline at end of file diff --git a/tests/integration_tests/test_cli.py b/tests/integration_tests/test_cli.py index d9c2b1c4..a498c32f 100644 --- a/tests/integration_tests/test_cli.py +++ b/tests/integration_tests/test_cli.py @@ -67,7 +67,7 @@ # Schedule Variables goals_path = os.path.join(files_path, "goals") -goal_path = os.path.join(goals_path, "goal1") +goal_path = os.path.join(goals_path, "goal1.ts") @pytest.fixture(scope="session", autouse=True) def set_up_environment(request): @@ -288,6 +288,40 @@ def test_plans_duplicate(): assert result.exit_code == 0 assert "Duplicate activity plan created" in result.stdout +def test_schedule_upload(): + schedule_file_path = os.path.join(goals_path, "schedule1.txt") + with open(schedule_file_path, "x") as fid: + fid.write(goal_path) + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "upload"], + input=str(model_id) + "\n" + str(sim_id) + "\n" + schedule_file_path + "\n", + catch_exceptions=False, + ) + os.remove(schedule_file_path) + assert result.exit_code == 0 + assert "Assigned goals in priority order" in result.stdout + +def test_schedule_delete(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "delete"], + input=str(model_id) + "\n" + str(sim_id) + "\n" + goal_path + "\n", + catch_exceptions=False, + ) + assert result.exit_code == 0 + assert f"Successfully deleted Goal" in result.stdout + +def test_schedule_delete_all(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "delete-all-goals-for-plan"], + input=str(plan_id) + "\n", + catch_exceptions=False, + ) + assert result.exit_code == 0 + assert "No goals to delete." in result.stdout + def test_plan_delete(): result = runner.invoke( app, From ee04ba765d76e6c51b349ced3f5f5b3f4e2671e6 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Fri, 4 Aug 2023 12:53:17 -0700 Subject: [PATCH 11/55] Minor organizational change to integration tests --- tests/integration_tests/test_cli.py | 50 ++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/tests/integration_tests/test_cli.py b/tests/integration_tests/test_cli.py index a498c32f..4a0b9a9c 100644 --- a/tests/integration_tests/test_cli.py +++ b/tests/integration_tests/test_cli.py @@ -84,18 +84,6 @@ def set_up_environment(request): assert client.host_session.gateway_url == GATEWAY_URL,\ "Aerie instances are mismatched. Ensure test URLs are the same." -def test_model_clean(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "clean"], - catch_exceptions=False, - ) - assert result.exit_code == 0 - assert ( - f"All mission models have been deleted" - in result.stdout - ) - def cli_upload_banana_model(): return runner.invoke( app, @@ -116,6 +104,22 @@ def cli_plan_simulate(): catch_exceptions=False ) +####################### +# TEST AND SETUP MODEL +####################### + +def test_model_clean(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "clean"], + catch_exceptions=False, + ) + assert result.exit_code == 0 + assert ( + f"All mission models have been deleted" + in result.stdout + ) + def test_model_upload(): result = cli_upload_banana_model() @@ -139,6 +143,11 @@ def test_model_list(): assert result.exit_code == 0 assert "Current Mission Models" in result.stdout +####################### +# TEST AND SETUP PLAN +# Uses model +####################### + def test_plan_upload(): # Clean out plans first plans.clean() @@ -168,9 +177,6 @@ def test_plan_upload(): assert f"Created plan ID: {plan_id}" in result.stdout - - - def test_plan_duplicate(): result = runner.invoke( app, @@ -194,7 +200,6 @@ def test_plan_list(): assert result.exit_code == 0 assert "Current Activity Plans" in result.stdout - def test_plan_simulate(): result = cli_plan_simulate() sim_ids = client.get_simulation_dataset_ids_by_plan_id(plan_id) @@ -288,6 +293,11 @@ def test_plans_duplicate(): assert result.exit_code == 0 assert "Duplicate activity plan created" in result.stdout +####################### +# TEST SCHEDULE +# Uses both model and plan +####################### + def test_schedule_upload(): schedule_file_path = os.path.join(goals_path, "schedule1.txt") with open(schedule_file_path, "x") as fid: @@ -322,6 +332,10 @@ def test_schedule_delete_all(): assert result.exit_code == 0 assert "No goals to delete." in result.stdout +####################### +# DELETE PLANS +####################### + def test_plan_delete(): result = runner.invoke( app, @@ -343,6 +357,10 @@ def test_plan_clean(): in result.stdout ) +####################### +# DELETE MODELS +####################### + def test_model_delete(): result = runner.invoke( app, From 5c95c4f2d56b0fc61400a27cb1f6074d3baed11e Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Fri, 4 Aug 2023 15:46:45 -0700 Subject: [PATCH 12/55] test expansions --- tests/integration_tests/test_cli.py | 152 ++++++++++++++++++++++++++-- 1 file changed, 146 insertions(+), 6 deletions(-) diff --git a/tests/integration_tests/test_cli.py b/tests/integration_tests/test_cli.py index 4a0b9a9c..c21d491c 100644 --- a/tests/integration_tests/test_cli.py +++ b/tests/integration_tests/test_cli.py @@ -43,6 +43,8 @@ files_path = os.path.join(test_dir, "files") +DOWNLOADED_FILE_NAME = "downloaded_file.test" + # Configuration Variables configurations_path = os.path.join(files_path, "configuration") config_json = os.path.join(configurations_path, "localhost_config.json") @@ -69,6 +71,20 @@ goals_path = os.path.join(files_path, "goals") goal_path = os.path.join(goals_path, "goal1.ts") + +# Command Dictionary Variables +command_dictionaries_path = os.path.join(files_path, "command_dicts") +command_dictionary_path = os.path.join(command_dictionaries_path, "command_banananation.xml") + +# setup command dictionary +command_dictionary_id = 0 +with open(command_dictionary_path, 'r') as fid: + command_dictionary_id = client.upload_command_dictionary(fid.read()) + +# Expansion Variables +expansion_set_id = -1 +expansion_sequence_id = 1 + @pytest.fixture(scope="session", autouse=True) def set_up_environment(request): # Resets the configurations and adds localhost @@ -76,12 +92,12 @@ def set_up_environment(request): delete_all_persistent_files() upload_configurations(config_json) activate_session("localhost") - client = None + persisent_client = None try: - client = get_active_session_client() + persisent_client = get_active_session_client() except: raise RuntimeError("Configuration is not active!") - assert client.host_session.gateway_url == GATEWAY_URL,\ + assert persisent_client.host_session.gateway_url == GATEWAY_URL,\ "Aerie instances are mismatched. Ensure test URLs are the same." def cli_upload_banana_model(): @@ -200,6 +216,11 @@ def test_plan_list(): assert result.exit_code == 0 assert "Current Activity Plans" in result.stdout +####################### +# SIMULATE PLAN +# Uses plan +####################### + def test_plan_simulate(): result = cli_plan_simulate() sim_ids = client.get_simulation_dataset_ids_by_plan_id(plan_id) @@ -209,7 +230,6 @@ def test_plan_simulate(): assert f"Simulation completed" in result.stdout def test_plan_download(): - DOWNLOADED_FILE_NAME = "downloaded_file.test" result = runner.invoke( app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download"], @@ -223,7 +243,6 @@ def test_plan_download(): assert f"Wrote activity plan" in result.stdout def test_plan_download_resources(): - DOWNLOADED_FILE_NAME = "downloaded_file.test" result = runner.invoke( app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download-resources"], @@ -237,7 +256,6 @@ def test_plan_download_resources(): assert f"Wrote resource timelines" in result.stdout def test_plan_download_simulation(): - DOWNLOADED_FILE_NAME = "downloaded_file.test" result = runner.invoke( app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download-simulation"], @@ -293,6 +311,128 @@ def test_plans_duplicate(): assert result.exit_code == 0 assert "Duplicate activity plan created" in result.stdout +####################### +# TEST EXPANSION SEQUENCES +# Uses plan and simulation dataset +####################### + +def test_expansion_sequence_create(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "create"], + input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n" + str(2) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0 + assert "Successfully created sequence" in result.stdout + +def test_expansion_sequence_list(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "list"], + input="2" + "\n" + str(sim_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0 + assert "All sequences for Simulation Dataset" in result.stdout + +def test_expansion_sequence_download(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "download"], + input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", + catch_exceptions=False,) + assert result.exit_code == 0 + path_to_sequence = Path(DOWNLOADED_FILE_NAME) + assert path_to_sequence.exists() + path_to_sequence.unlink() + +def test_expansion_sequence_delete(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "delete"], + input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Successfully deleted sequence" in result.stdout + +####################### +# TEST EXPANSION SETS +# Uses model, command dictionary, and activity types +####################### + +def test_expansion_set_create(): + client.create_expansion_rule( + expansion_logic=""" + export default function MyExpansion(props: { + activityInstance: ActivityType + }): ExpansionReturn { + const { activityInstance } = props; + return []; + } + """, + activity_name="BakeBananaBread", + model_id=model_id, + command_dictionary_id=command_dictionary_id + ) + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "create"], + input=str(model_id) + "\n" + str(command_dictionary_id) + "\n" + "BakeBananaBread" + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + + global expansion_set_id + for line in result.stdout.splitlines(): + if not "Created expansion set: " in line: + continue + # get expansion id from the end of the line + expansion_set_id = int(line.split(": ")[1]) + assert expansion_set_id != -1, "Could not find expansion run ID, expansion create may have failed"\ + f"{result.stdout}"\ + f"{result.stderr}" + +def test_expansion_set_get(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "get"], + input=str(expansion_set_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0 + assert "Expansion Set" in result.stdout and "Contents" in result.stdout + +def test_expansion_set_list(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "list"], + catch_exceptions=False,) + assert result.exit_code == 0 + assert "Expansion Sets" in result.stdout + +####################### +# TEST EXPANSION RUNS +# Uses plan and simulation dataset +####################### +def test_expansion_run_create(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "runs", "create"], + input=str(sim_id) + "\n" + str(expansion_set_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0 + assert "Expansion Run ID: " in result.stdout + +def test_expansion_runs_list(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "runs", "list"], + input="2" + "\n" + str(sim_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0 + assert "Expansion Runs" in result.stdout + ####################### # TEST SCHEDULE # Uses both model and plan From 226472c60d6b269d3c7631a35ce4f98ca13957a3 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Fri, 4 Aug 2023 15:47:25 -0700 Subject: [PATCH 13/55] add stdout and stderr if we reach exit code check --- tests/integration_tests/test_cli.py | 113 +++++++++++++++++++++------- 1 file changed, 84 insertions(+), 29 deletions(-) diff --git a/tests/integration_tests/test_cli.py b/tests/integration_tests/test_cli.py index c21d491c..e471e18d 100644 --- a/tests/integration_tests/test_cli.py +++ b/tests/integration_tests/test_cli.py @@ -130,7 +130,9 @@ def test_model_clean(): ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "clean"], catch_exceptions=False, ) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert ( f"All mission models have been deleted" in result.stdout @@ -145,7 +147,9 @@ def test_model_upload(): global model_id model_id = latest_model.id - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert ( f"Created new mission model: {model_name} with Model ID: {model_id}" in result.stdout @@ -156,7 +160,9 @@ def test_model_list(): app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "list"], catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert "Current Mission Models" in result.stdout ####################### @@ -183,7 +189,9 @@ def test_plan_upload(): input=plan_json + "\n" + str(model_id) + "\n", catch_exceptions=False, ) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" # Get uploaded plan id resp = client.get_all_activity_plans() @@ -200,7 +208,9 @@ def test_plan_duplicate(): input=str(plan_id) + "\n" + dup_plan_name + "\n", catch_exceptions=False, ) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" # Get duplicated plan id resp = client.get_all_activity_plans() @@ -213,7 +223,9 @@ def test_plan_duplicate(): def test_plan_list(): result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "list"], catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert "Current Activity Plans" in result.stdout ####################### @@ -226,7 +238,9 @@ def test_plan_simulate(): sim_ids = client.get_simulation_dataset_ids_by_plan_id(plan_id) global sim_id sim_id = sim_ids[-1] - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert f"Simulation completed" in result.stdout def test_plan_download(): @@ -239,7 +253,9 @@ def test_plan_download(): path_to_plan = Path(DOWNLOADED_FILE_NAME) assert path_to_plan.exists() path_to_plan.unlink() - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert f"Wrote activity plan" in result.stdout def test_plan_download_resources(): @@ -252,7 +268,9 @@ def test_plan_download_resources(): path_to_resources = Path(DOWNLOADED_FILE_NAME) assert path_to_resources.exists() path_to_resources.unlink() - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert f"Wrote resource timelines" in result.stdout def test_plan_download_simulation(): @@ -265,7 +283,9 @@ def test_plan_download_simulation(): path_to_resources = Path(DOWNLOADED_FILE_NAME) assert path_to_resources.exists() path_to_resources.unlink() - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert f"Wrote activity plan" in result.stdout def test_plan_create_config(): @@ -275,14 +295,18 @@ def test_plan_create_config(): input=str(plan_id) + "\n" + args_init + "\n", catch_exceptions=False, ) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert f"Configuration Arguments for Plan ID: {plan_id}" in result.stdout assert "initialPlantCount: 2" in result.stdout assert "initialProducer: nobody" in result.stdout def test_simulate_after_create_config(): result = cli_plan_simulate() - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert f"Simulation completed" in result.stdout def test_plan_update_config(): @@ -292,14 +316,18 @@ def test_plan_update_config(): input=str(plan_id) + "\n" + args_update + "\n", catch_exceptions=False, ) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert f"Configuration Arguments for Plan ID: {plan_id}" in result.stdout assert "initialPlantCount: 3" in result.stdout assert "initialProducer: somebody" in result.stdout def test_simulate_after_update_config(): result = cli_plan_simulate() - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert f"Simulation completed" in result.stdout def test_plans_duplicate(): @@ -308,7 +336,9 @@ def test_plans_duplicate(): ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "duplicate"], input=str(plan_id) + "\n" + "duplicated_plan" + "\n", catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert "Duplicate activity plan created" in result.stdout ####################### @@ -322,7 +352,9 @@ def test_expansion_sequence_create(): ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "create"], input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n" + str(2) + "\n", catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert "Successfully created sequence" in result.stdout def test_expansion_sequence_list(): @@ -331,7 +363,9 @@ def test_expansion_sequence_list(): ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "list"], input="2" + "\n" + str(sim_id) + "\n", catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert "All sequences for Simulation Dataset" in result.stdout def test_expansion_sequence_download(): @@ -340,7 +374,9 @@ def test_expansion_sequence_download(): ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "download"], input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" path_to_sequence = Path(DOWNLOADED_FILE_NAME) assert path_to_sequence.exists() path_to_sequence.unlink() @@ -383,7 +419,6 @@ def test_expansion_set_create(): assert result.exit_code == 0,\ f"{result.stdout}"\ f"{result.stderr}" - global expansion_set_id for line in result.stdout.splitlines(): if not "Created expansion set: " in line: @@ -400,7 +435,9 @@ def test_expansion_set_get(): ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "get"], input=str(expansion_set_id) + "\n", catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert "Expansion Set" in result.stdout and "Contents" in result.stdout def test_expansion_set_list(): @@ -408,7 +445,9 @@ def test_expansion_set_list(): app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "list"], catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert "Expansion Sets" in result.stdout ####################### @@ -421,7 +460,9 @@ def test_expansion_run_create(): ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "runs", "create"], input=str(sim_id) + "\n" + str(expansion_set_id) + "\n", catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert "Expansion Run ID: " in result.stdout def test_expansion_runs_list(): @@ -430,7 +471,9 @@ def test_expansion_runs_list(): ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "runs", "list"], input="2" + "\n" + str(sim_id) + "\n", catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert "Expansion Runs" in result.stdout ####################### @@ -449,7 +492,9 @@ def test_schedule_upload(): catch_exceptions=False, ) os.remove(schedule_file_path) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert "Assigned goals in priority order" in result.stdout def test_schedule_delete(): @@ -459,7 +504,9 @@ def test_schedule_delete(): input=str(model_id) + "\n" + str(sim_id) + "\n" + goal_path + "\n", catch_exceptions=False, ) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert f"Successfully deleted Goal" in result.stdout def test_schedule_delete_all(): @@ -469,7 +516,9 @@ def test_schedule_delete_all(): input=str(plan_id) + "\n", catch_exceptions=False, ) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert "No goals to delete." in result.stdout ####################### @@ -482,7 +531,9 @@ def test_plan_delete(): ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "delete"], input=str(plan_id) + "\n", catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert f"ID: {plan_id} has been removed." in result.stdout @@ -491,7 +542,9 @@ def test_plan_clean(): app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "clean"], catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert ( f"All activity plans have been deleted" in result.stdout @@ -507,5 +560,7 @@ def test_model_delete(): ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "delete"], input=str(model_id), catch_exceptions=False,) - assert result.exit_code == 0 + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" assert f"ID: {model_id} has been removed" in result.stdout \ No newline at end of file From 43b8346de245d76c77cf49f3a2e0d07be28dc7a7 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Fri, 4 Aug 2023 17:15:59 -0700 Subject: [PATCH 14/55] Split expansion and plans to their own files --- .../{test_cli.py => full_test.py} | 8 +- tests/integration_tests/test_expansion.py | 275 +++++++++++++++ tests/integration_tests/test_plans.py | 313 ++++++++++++++++++ 3 files changed, 592 insertions(+), 4 deletions(-) rename tests/integration_tests/{test_cli.py => full_test.py} (99%) create mode 100644 tests/integration_tests/test_expansion.py create mode 100644 tests/integration_tests/test_plans.py diff --git a/tests/integration_tests/test_cli.py b/tests/integration_tests/full_test.py similarity index 99% rename from tests/integration_tests/test_cli.py rename to tests/integration_tests/full_test.py index e471e18d..4bb36442 100644 --- a/tests/integration_tests/test_cli.py +++ b/tests/integration_tests/full_test.py @@ -75,11 +75,7 @@ # Command Dictionary Variables command_dictionaries_path = os.path.join(files_path, "command_dicts") command_dictionary_path = os.path.join(command_dictionaries_path, "command_banananation.xml") - -# setup command dictionary command_dictionary_id = 0 -with open(command_dictionary_path, 'r') as fid: - command_dictionary_id = client.upload_command_dictionary(fid.read()) # Expansion Variables expansion_set_id = -1 @@ -99,6 +95,10 @@ def set_up_environment(request): raise RuntimeError("Configuration is not active!") assert persisent_client.host_session.gateway_url == GATEWAY_URL,\ "Aerie instances are mismatched. Ensure test URLs are the same." + + global command_dictionary_id + with open(command_dictionary_path, 'r') as fid: + command_dictionary_id = client.upload_command_dictionary(fid.read()) def cli_upload_banana_model(): return runner.invoke( diff --git a/tests/integration_tests/test_expansion.py b/tests/integration_tests/test_expansion.py new file mode 100644 index 00000000..ae4d374c --- /dev/null +++ b/tests/integration_tests/test_expansion.py @@ -0,0 +1,275 @@ +# in case src_path is not from aeri-cli src and from site-packages +import os +import sys + +import pytest + +src_path = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + "/../src") +sys.path.insert(0, src_path) + +from typer.testing import CliRunner +from pathlib import Path + +from aerie_cli.aerie_client import AerieClient +from aerie_cli.aerie_host import AerieHostSession, AuthMethod +from aerie_cli.__main__ import app +from aerie_cli.commands.configurations import delete_all_persistent_files, upload_configurations, deactivate_session, activate_session +from aerie_cli.utils.sessions import get_active_session_client + +import arrow +from aerie_cli.schemas.client import ActivityPlanCreate +runner = CliRunner(mix_stderr = False) + +GRAPHQL_URL = "http://localhost:8080/v1/graphql" +GATEWAY_URL = "http://localhost:9000" +AUTH_URL = "http://localhost:9000/auth/login" +AUTH_METHOD = AuthMethod.AERIE_NATIVE +USERNAME = "" +PASSWORD = "" +# This should only ever be set to the admin secret for a local instance of aerie +HASURA_ADMIN_SECRET = os.environ.get("HASURA_GRAPHQL_ADMIN_SECRET") + +session = AerieHostSession.session_helper( + AUTH_METHOD, + GRAPHQL_URL, + GATEWAY_URL, + AUTH_URL, + USERNAME, + PASSWORD +) +session.session.headers["x-hasura-admin-secret"] = HASURA_ADMIN_SECRET +client = AerieClient(session) + +test_dir = os.path.dirname(os.path.abspath(__file__)) + +files_path = os.path.join(test_dir, "files") + +DOWNLOADED_FILE_NAME = "downloaded_file.test" + +# Configuration Variables +configurations_path = os.path.join(files_path, "configuration") +config_json = os.path.join(configurations_path, "localhost_config.json") + +# Model Variables +models_path = os.path.join(files_path, "models") +model_jar = os.path.join(models_path, "banananation-1.6.2.jar") +model_name = "banananation" +version = "0.0.1" +model_id = 0 + +# Plan Variables +plans_path = os.path.join(files_path, "plans") +plan_json = os.path.join(plans_path, "bake_bread_plan.json") +dup_plan_name = os.path.join(plans_path, "bake_bread_plan_2.json") +plan_id = 0 +args_init = os.path.join(plans_path, "create_config.json") +args_update = os.path.join(plans_path, "update_config.json") + +# Simulation Variables +sim_id = 0 + +# Schedule Variables +goals_path = os.path.join(files_path, "goals") +goal_path = os.path.join(goals_path, "goal1.ts") + + +# Command Dictionary Variables +command_dictionaries_path = os.path.join(files_path, "command_dicts") +command_dictionary_path = os.path.join(command_dictionaries_path, "command_banananation.xml") +command_dictionary_id = 0 + +# Expansion Variables +expansion_set_id = -1 +expansion_sequence_id = 1 + +@pytest.fixture(scope="session", autouse=True) +def set_up_environment(request): + # Resets the configurations and adds localhost + deactivate_session() + delete_all_persistent_files() + upload_configurations(config_json) + activate_session("localhost") + persisent_client = None + try: + persisent_client = get_active_session_client() + except: + raise RuntimeError("Configuration is not active!") + assert persisent_client.host_session.gateway_url == GATEWAY_URL,\ + "Aerie instances are mismatched. Ensure test URLs are the same." + + resp = client.get_mission_models() + for api_mission_model in resp: + client.delete_mission_model(api_mission_model.id) + + global model_id + model_id = client.upload_mission_model( + mission_model_path=model_jar, + project_name=model_name, + mission="", + version=version) + + global command_dictionary_id + with open(command_dictionary_path, 'r') as fid: + command_dictionary_id = client.upload_command_dictionary(fid.read()) + + # upload plan + with open(plan_json) as fid: + contents = fid.read() + plan_to_create = ActivityPlanCreate.from_json(contents) + plan_to_create.name += arrow.utcnow().format("YYYY-MM-DDTHH-mm-ss") + global plan_id + plan_id = client.create_activity_plan(model_id, plan_to_create) + + # simulate plan + global sim_id + sim_id = client.simulate_plan(plan_id) + +####################### +# TEST EXPANSION SEQUENCES +# Uses plan and simulation dataset +####################### + +def test_expansion_sequence_create(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "create"], + input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n" + str(2) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Successfully created sequence" in result.stdout + +def test_expansion_sequence_list(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "list"], + input="2" + "\n" + str(sim_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "All sequences for Simulation Dataset" in result.stdout + +def test_expansion_sequence_download(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "download"], + input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + path_to_sequence = Path(DOWNLOADED_FILE_NAME) + assert path_to_sequence.exists() + path_to_sequence.unlink() + +def test_expansion_sequence_delete(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "delete"], + input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Successfully deleted sequence" in result.stdout + +####################### +# TEST EXPANSION SETS +# Uses model, command dictionary, and activity types +####################### + +def test_expansion_set_create(): + client.create_expansion_rule( + expansion_logic=""" + export default function MyExpansion(props: { + activityInstance: ActivityType + }): ExpansionReturn { + const { activityInstance } = props; + return []; + } + """, + activity_name="BakeBananaBread", + model_id=model_id, + command_dictionary_id=command_dictionary_id + ) + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "create"], + input=str(model_id) + "\n" + str(command_dictionary_id) + "\n" + "BakeBananaBread" + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + global expansion_set_id + for line in result.stdout.splitlines(): + if not "Created expansion set: " in line: + continue + # get expansion id from the end of the line + expansion_set_id = int(line.split(": ")[1]) + assert expansion_set_id != -1, "Could not find expansion run ID, expansion create may have failed"\ + f"{result.stdout}"\ + f"{result.stderr}" + +def test_expansion_set_get(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "get"], + input=str(expansion_set_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Expansion Set" in result.stdout and "Contents" in result.stdout + +def test_expansion_set_list(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "list"], + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Expansion Sets" in result.stdout + +####################### +# TEST EXPANSION RUNS +# Uses plan and simulation dataset +####################### +def test_expansion_run_create(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "runs", "create"], + input=str(sim_id) + "\n" + str(expansion_set_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Expansion Run ID: " in result.stdout + +def test_expansion_runs_list(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "runs", "list"], + input="2" + "\n" + str(sim_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Expansion Runs" in result.stdout + +####################### +# DELETE MODELS +####################### + +def test_model_delete(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "delete"], + input=str(model_id), + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"ID: {model_id} has been removed" in result.stdout \ No newline at end of file diff --git a/tests/integration_tests/test_plans.py b/tests/integration_tests/test_plans.py new file mode 100644 index 00000000..667a8b59 --- /dev/null +++ b/tests/integration_tests/test_plans.py @@ -0,0 +1,313 @@ +# in case src_path is not from aeri-cli src and from site-packages +import os +import sys + +import pytest + +src_path = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + "/../src") +sys.path.insert(0, src_path) + +from typer.testing import CliRunner +from pathlib import Path + +from aerie_cli.aerie_client import AerieClient +from aerie_cli.aerie_host import AerieHostSession, AuthMethod +from aerie_cli.__main__ import app +from aerie_cli.commands.configurations import delete_all_persistent_files, upload_configurations, deactivate_session, activate_session +from aerie_cli.utils.sessions import get_active_session_client +from aerie_cli.commands import plans +from aerie_cli.commands import models + +runner = CliRunner(mix_stderr = False) + +GRAPHQL_URL = "http://localhost:8080/v1/graphql" +GATEWAY_URL = "http://localhost:9000" +AUTH_URL = "http://localhost:9000/auth/login" +AUTH_METHOD = AuthMethod.AERIE_NATIVE +USERNAME = "" +PASSWORD = "" +# This should only ever be set to the admin secret for a local instance of aerie +HASURA_ADMIN_SECRET = os.environ.get("HASURA_GRAPHQL_ADMIN_SECRET") + +session = AerieHostSession.session_helper( + AUTH_METHOD, + GRAPHQL_URL, + GATEWAY_URL, + AUTH_URL, + USERNAME, + PASSWORD +) +session.session.headers["x-hasura-admin-secret"] = HASURA_ADMIN_SECRET +client = AerieClient(session) + +test_dir = os.path.dirname(os.path.abspath(__file__)) + +files_path = os.path.join(test_dir, "files") + +DOWNLOADED_FILE_NAME = "downloaded_file.test" + +# Configuration Variables +configurations_path = os.path.join(files_path, "configuration") +config_json = os.path.join(configurations_path, "localhost_config.json") + +# Model Variables +models_path = os.path.join(files_path, "models") +model_jar = os.path.join(models_path, "banananation-1.6.2.jar") +model_name = "banananation" +version = "0.0.1" +model_id = 0 + +# Plan Variables +plans_path = os.path.join(files_path, "plans") +plan_json = os.path.join(plans_path, "bake_bread_plan.json") +dup_plan_name = os.path.join(plans_path, "bake_bread_plan_2.json") +plan_id = 0 +args_init = os.path.join(plans_path, "create_config.json") +args_update = os.path.join(plans_path, "update_config.json") + +@pytest.fixture(scope="session", autouse=True) +def set_up_environment(request): + # Resets the configurations and adds localhost + deactivate_session() + delete_all_persistent_files() + upload_configurations(config_json) + activate_session("localhost") + persistent_client = None + try: + persistent_client = get_active_session_client() + except: + raise RuntimeError("Configuration is not active!") + assert persistent_client.host_session.gateway_url == GATEWAY_URL,\ + "Aerie instances are mismatched. Ensure test URLs are the same." + + resp = client.get_mission_models() + for api_mission_model in resp: + client.delete_mission_model(api_mission_model.id) + + global model_id + model_id = client.upload_mission_model( + mission_model_path=model_jar, + project_name=model_name, + mission="", + version=version) + +def cli_plan_simulate(): + return runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "simulate", "--output", "temp.json"], + input=str(plan_id) + "\n", + catch_exceptions=False + ) + +####################### +# TEST AND SETUP PLAN +# Uses model +####################### + +def test_plan_upload(): + # Clean out plans first + plans.clean() + + # Test plan upload + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "upload", "--time-tag"], + input=plan_json + "\n" + str(model_id) + "\n", + catch_exceptions=False, + ) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + + # Get uploaded plan id + resp = client.get_all_activity_plans() + latest_plan = resp[-1] + global plan_id + plan_id = latest_plan.id + + assert f"Created plan ID: {plan_id}" in result.stdout + +def test_plan_duplicate(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "duplicate"], + input=str(plan_id) + "\n" + dup_plan_name + "\n", + catch_exceptions=False, + ) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + + # Get duplicated plan id + resp = client.get_all_activity_plans() + latest_plan = resp[-1] + duplicated_plan_id = latest_plan.id + + assert f"Duplicate activity plan created with ID: {duplicated_plan_id}" in result.stdout + + +def test_plan_list(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "list"], + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Current Activity Plans" in result.stdout + + +####################### +# SIMULATE PLAN +# Uses plan +####################### + +def test_plan_simulate(): + result = cli_plan_simulate() + sim_ids = client.get_simulation_dataset_ids_by_plan_id(plan_id) + global sim_id + sim_id = sim_ids[-1] + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"Simulation completed" in result.stdout + +def test_plan_download(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download"], + input=str(plan_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", + catch_exceptions=False, + ) + path_to_plan = Path(DOWNLOADED_FILE_NAME) + assert path_to_plan.exists() + path_to_plan.unlink() + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"Wrote activity plan" in result.stdout + +def test_plan_download_resources(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download-resources"], + input=str(sim_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", + catch_exceptions=False, + ) + path_to_resources = Path(DOWNLOADED_FILE_NAME) + assert path_to_resources.exists() + path_to_resources.unlink() + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"Wrote resource timelines" in result.stdout + +def test_plan_download_simulation(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download-simulation"], + input=str(sim_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", + catch_exceptions=False, + ) + path_to_resources = Path(DOWNLOADED_FILE_NAME) + assert path_to_resources.exists() + path_to_resources.unlink() + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"Wrote activity plan" in result.stdout + +def test_plan_create_config(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "create-config"], + input=str(plan_id) + "\n" + args_init + "\n", + catch_exceptions=False, + ) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"Configuration Arguments for Plan ID: {plan_id}" in result.stdout + assert "initialPlantCount: 2" in result.stdout + assert "initialProducer: nobody" in result.stdout + +def test_simulate_after_create_config(): + result = cli_plan_simulate() + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"Simulation completed" in result.stdout + +def test_plan_update_config(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "update-config"], + input=str(plan_id) + "\n" + args_update + "\n", + catch_exceptions=False, + ) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"Configuration Arguments for Plan ID: {plan_id}" in result.stdout + assert "initialPlantCount: 3" in result.stdout + assert "initialProducer: somebody" in result.stdout + +def test_simulate_after_update_config(): + result = cli_plan_simulate() + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"Simulation completed" in result.stdout + +def test_plans_duplicate(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "duplicate"], + input=str(plan_id) + "\n" + "duplicated_plan" + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Duplicate activity plan created" in result.stdout + +####################### +# DELETE PLANS +####################### + +def test_plan_delete(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "delete"], + input=str(plan_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"ID: {plan_id} has been removed." in result.stdout + + +def test_plan_clean(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "clean"], + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert ( + f"All activity plans have been deleted" + in result.stdout + ) + +####################### +# DELETE MODELS +####################### + +def test_model_delete(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "delete"], + input=str(model_id), + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"ID: {model_id} has been removed" in result.stdout \ No newline at end of file From 4cca95ccf5d7a78c68db2889c5fbc1620b1f01df Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Mon, 7 Aug 2023 08:52:19 -0700 Subject: [PATCH 15/55] Add README to integration tests Add to warning in README --- tests/integration_tests/README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 tests/integration_tests/README.md diff --git a/tests/integration_tests/README.md b/tests/integration_tests/README.md new file mode 100644 index 00000000..cc6a1a71 --- /dev/null +++ b/tests/integration_tests/README.md @@ -0,0 +1,18 @@ +# Test against an active instance of Aerie + +## WARNING +These tests will delete and modify data permanently. Expect the localhost instance of Aerie to be modified heavily. These test will delete all models. + +See: [localhost configuration](files/configuration/localhost_config.json) + +## Tests + +### [Full test](full_test.py) +- Test all Aerie command + +### [Plans test](test_plans.py) +- Test all `plans` commands +- Tests simulations and `plans download...` commands as well + +### [Expansion test](test_expansion.py) +- Test all `expansion` commands \ No newline at end of file From 3fd5b727af1aa9a2dffc81a0ffcbd85777902218 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Mon, 7 Aug 2023 09:33:23 -0700 Subject: [PATCH 16/55] Move session initialization to conftest Remove unused variables --- tests/integration_tests/conftest.py | 61 +++++++++++++++++++++++ tests/integration_tests/full_test.py | 53 ++------------------ tests/integration_tests/test_expansion.py | 56 ++------------------- tests/integration_tests/test_plans.py | 52 ++----------------- 4 files changed, 71 insertions(+), 151 deletions(-) create mode 100644 tests/integration_tests/conftest.py diff --git a/tests/integration_tests/conftest.py b/tests/integration_tests/conftest.py new file mode 100644 index 00000000..f841977f --- /dev/null +++ b/tests/integration_tests/conftest.py @@ -0,0 +1,61 @@ +# Configure persistent session and configuration +# Note that we're setting global variables here rather than using pytest.VARIABLE +# The scope is global either way, but this allows for easier debugging, type hints, and autofill +import os +import sys +import pytest + +from aerie_cli.aerie_client import AerieClient +from aerie_cli.aerie_host import AerieHostSession, AuthMethod +from aerie_cli.commands.configurations import delete_all_persistent_files, upload_configurations, deactivate_session, activate_session +from aerie_cli.utils.sessions import get_active_session_client + + +# in case src_path is not from aeri-cli src and from site-packages +src_path = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + "/../src") +sys.path.insert(0, src_path) + +GRAPHQL_URL = "http://localhost:8080/v1/graphql" +GATEWAY_URL = "http://localhost:9000" +AUTH_URL = "http://localhost:9000/auth/login" +AUTH_METHOD = AuthMethod.AERIE_NATIVE +USERNAME = "" +PASSWORD = "" +# This should only ever be set to the admin secret for a local instance of aerie +HASURA_ADMIN_SECRET = os.environ.get("HASURA_GRAPHQL_ADMIN_SECRET") + +session = AerieHostSession.session_helper( + AUTH_METHOD, + GRAPHQL_URL, + GATEWAY_URL, + AUTH_URL, + USERNAME, + PASSWORD +) +session.session.headers["x-hasura-admin-secret"] = HASURA_ADMIN_SECRET +client = AerieClient(session) + +DOWNLOADED_FILE_NAME = "downloaded_file.test" + +test_dir = os.path.dirname(os.path.abspath(__file__)) + +files_path = os.path.join(test_dir, "files") + +# Configuration Variables +configurations_path = os.path.join(files_path, "configuration") +config_json = os.path.join(configurations_path, "localhost_config.json") + +@pytest.fixture(scope="session", autouse=True) +def set_up_environment(request): + # Resets the configurations and adds localhost + deactivate_session() + delete_all_persistent_files() + upload_configurations(config_json) + activate_session("localhost") + persisent_client = None + try: + persisent_client = get_active_session_client() + except: + raise RuntimeError("Configuration is not active!") + assert persisent_client.host_session.gateway_url == GATEWAY_URL,\ + "Aerie instances are mismatched. Ensure test URLs are the same." \ No newline at end of file diff --git a/tests/integration_tests/full_test.py b/tests/integration_tests/full_test.py index 4bb36442..1bd0cefd 100644 --- a/tests/integration_tests/full_test.py +++ b/tests/integration_tests/full_test.py @@ -1,54 +1,20 @@ -# in case src_path is not from aeri-cli src and from site-packages import os -import sys - import pytest -src_path = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + "/../src") -sys.path.insert(0, src_path) - from typer.testing import CliRunner from pathlib import Path -from aerie_cli.aerie_client import AerieClient -from aerie_cli.aerie_host import AerieHostSession, AuthMethod from aerie_cli.__main__ import app -from aerie_cli.commands.configurations import delete_all_persistent_files, upload_configurations, deactivate_session, activate_session -from aerie_cli.utils.sessions import get_active_session_client from aerie_cli.commands import plans -runner = CliRunner(mix_stderr = False) +from .conftest import client, HASURA_ADMIN_SECRET, DOWNLOADED_FILE_NAME -GRAPHQL_URL = "http://localhost:8080/v1/graphql" -GATEWAY_URL = "http://localhost:9000" -AUTH_URL = "http://localhost:9000/auth/login" -AUTH_METHOD = AuthMethod.AERIE_NATIVE -USERNAME = "" -PASSWORD = "" -# This should only ever be set to the admin secret for a local instance of aerie -HASURA_ADMIN_SECRET = os.environ.get("HASURA_GRAPHQL_ADMIN_SECRET") - -session = AerieHostSession.session_helper( - AUTH_METHOD, - GRAPHQL_URL, - GATEWAY_URL, - AUTH_URL, - USERNAME, - PASSWORD -) -session.session.headers["x-hasura-admin-secret"] = HASURA_ADMIN_SECRET -client = AerieClient(session) +runner = CliRunner(mix_stderr = False) test_dir = os.path.dirname(os.path.abspath(__file__)) files_path = os.path.join(test_dir, "files") -DOWNLOADED_FILE_NAME = "downloaded_file.test" - -# Configuration Variables -configurations_path = os.path.join(files_path, "configuration") -config_json = os.path.join(configurations_path, "localhost_config.json") - # Model Variables models_path = os.path.join(files_path, "models") model_jar = os.path.join(models_path, "banananation-1.6.2.jar") @@ -81,21 +47,8 @@ expansion_set_id = -1 expansion_sequence_id = 1 -@pytest.fixture(scope="session", autouse=True) +@pytest.fixture(scope="module", autouse=True) def set_up_environment(request): - # Resets the configurations and adds localhost - deactivate_session() - delete_all_persistent_files() - upload_configurations(config_json) - activate_session("localhost") - persisent_client = None - try: - persisent_client = get_active_session_client() - except: - raise RuntimeError("Configuration is not active!") - assert persisent_client.host_session.gateway_url == GATEWAY_URL,\ - "Aerie instances are mismatched. Ensure test URLs are the same." - global command_dictionary_id with open(command_dictionary_path, 'r') as fid: command_dictionary_id = client.upload_command_dictionary(fid.read()) diff --git a/tests/integration_tests/test_expansion.py b/tests/integration_tests/test_expansion.py index ae4d374c..7141f1b3 100644 --- a/tests/integration_tests/test_expansion.py +++ b/tests/integration_tests/test_expansion.py @@ -1,44 +1,16 @@ -# in case src_path is not from aeri-cli src and from site-packages import os -import sys - import pytest - -src_path = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + "/../src") -sys.path.insert(0, src_path) +import arrow from typer.testing import CliRunner from pathlib import Path -from aerie_cli.aerie_client import AerieClient -from aerie_cli.aerie_host import AerieHostSession, AuthMethod from aerie_cli.__main__ import app -from aerie_cli.commands.configurations import delete_all_persistent_files, upload_configurations, deactivate_session, activate_session -from aerie_cli.utils.sessions import get_active_session_client - -import arrow from aerie_cli.schemas.client import ActivityPlanCreate -runner = CliRunner(mix_stderr = False) -GRAPHQL_URL = "http://localhost:8080/v1/graphql" -GATEWAY_URL = "http://localhost:9000" -AUTH_URL = "http://localhost:9000/auth/login" -AUTH_METHOD = AuthMethod.AERIE_NATIVE -USERNAME = "" -PASSWORD = "" -# This should only ever be set to the admin secret for a local instance of aerie -HASURA_ADMIN_SECRET = os.environ.get("HASURA_GRAPHQL_ADMIN_SECRET") +from .conftest import client, HASURA_ADMIN_SECRET -session = AerieHostSession.session_helper( - AUTH_METHOD, - GRAPHQL_URL, - GATEWAY_URL, - AUTH_URL, - USERNAME, - PASSWORD -) -session.session.headers["x-hasura-admin-secret"] = HASURA_ADMIN_SECRET -client = AerieClient(session) +runner = CliRunner(mix_stderr = False) test_dir = os.path.dirname(os.path.abspath(__file__)) @@ -46,10 +18,6 @@ DOWNLOADED_FILE_NAME = "downloaded_file.test" -# Configuration Variables -configurations_path = os.path.join(files_path, "configuration") -config_json = os.path.join(configurations_path, "localhost_config.json") - # Model Variables models_path = os.path.join(files_path, "models") model_jar = os.path.join(models_path, "banananation-1.6.2.jar") @@ -60,10 +28,7 @@ # Plan Variables plans_path = os.path.join(files_path, "plans") plan_json = os.path.join(plans_path, "bake_bread_plan.json") -dup_plan_name = os.path.join(plans_path, "bake_bread_plan_2.json") plan_id = 0 -args_init = os.path.join(plans_path, "create_config.json") -args_update = os.path.join(plans_path, "update_config.json") # Simulation Variables sim_id = 0 @@ -82,21 +47,8 @@ expansion_set_id = -1 expansion_sequence_id = 1 -@pytest.fixture(scope="session", autouse=True) +@pytest.fixture(scope="module", autouse=True) def set_up_environment(request): - # Resets the configurations and adds localhost - deactivate_session() - delete_all_persistent_files() - upload_configurations(config_json) - activate_session("localhost") - persisent_client = None - try: - persisent_client = get_active_session_client() - except: - raise RuntimeError("Configuration is not active!") - assert persisent_client.host_session.gateway_url == GATEWAY_URL,\ - "Aerie instances are mismatched. Ensure test URLs are the same." - resp = client.get_mission_models() for api_mission_model in resp: client.delete_mission_model(api_mission_model.id) diff --git a/tests/integration_tests/test_plans.py b/tests/integration_tests/test_plans.py index 667a8b59..7d0b514d 100644 --- a/tests/integration_tests/test_plans.py +++ b/tests/integration_tests/test_plans.py @@ -1,44 +1,15 @@ -# in case src_path is not from aeri-cli src and from site-packages import os -import sys - import pytest -src_path = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + "/../src") -sys.path.insert(0, src_path) - from typer.testing import CliRunner from pathlib import Path -from aerie_cli.aerie_client import AerieClient -from aerie_cli.aerie_host import AerieHostSession, AuthMethod from aerie_cli.__main__ import app -from aerie_cli.commands.configurations import delete_all_persistent_files, upload_configurations, deactivate_session, activate_session -from aerie_cli.utils.sessions import get_active_session_client from aerie_cli.commands import plans -from aerie_cli.commands import models -runner = CliRunner(mix_stderr = False) +from .conftest import client, HASURA_ADMIN_SECRET, DOWNLOADED_FILE_NAME -GRAPHQL_URL = "http://localhost:8080/v1/graphql" -GATEWAY_URL = "http://localhost:9000" -AUTH_URL = "http://localhost:9000/auth/login" -AUTH_METHOD = AuthMethod.AERIE_NATIVE -USERNAME = "" -PASSWORD = "" -# This should only ever be set to the admin secret for a local instance of aerie -HASURA_ADMIN_SECRET = os.environ.get("HASURA_GRAPHQL_ADMIN_SECRET") - -session = AerieHostSession.session_helper( - AUTH_METHOD, - GRAPHQL_URL, - GATEWAY_URL, - AUTH_URL, - USERNAME, - PASSWORD -) -session.session.headers["x-hasura-admin-secret"] = HASURA_ADMIN_SECRET -client = AerieClient(session) +runner = CliRunner(mix_stderr = False) test_dir = os.path.dirname(os.path.abspath(__file__)) @@ -46,10 +17,6 @@ DOWNLOADED_FILE_NAME = "downloaded_file.test" -# Configuration Variables -configurations_path = os.path.join(files_path, "configuration") -config_json = os.path.join(configurations_path, "localhost_config.json") - # Model Variables models_path = os.path.join(files_path, "models") model_jar = os.path.join(models_path, "banananation-1.6.2.jar") @@ -65,21 +32,8 @@ args_init = os.path.join(plans_path, "create_config.json") args_update = os.path.join(plans_path, "update_config.json") -@pytest.fixture(scope="session", autouse=True) +@pytest.fixture(scope="module", autouse=True) def set_up_environment(request): - # Resets the configurations and adds localhost - deactivate_session() - delete_all_persistent_files() - upload_configurations(config_json) - activate_session("localhost") - persistent_client = None - try: - persistent_client = get_active_session_client() - except: - raise RuntimeError("Configuration is not active!") - assert persistent_client.host_session.gateway_url == GATEWAY_URL,\ - "Aerie instances are mismatched. Ensure test URLs are the same." - resp = client.get_mission_models() for api_mission_model in resp: client.delete_mission_model(api_mission_model.id) From b7e921c9d8f104db50d9f75c66316637d36937da Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Mon, 7 Aug 2023 09:55:02 -0700 Subject: [PATCH 17/55] Add metadata tests --- .../metadata_schemas/metadata_schema.json | 6 +++ tests/integration_tests/full_test.py | 42 ++++++++++++++++ tests/integration_tests/test_metadata.py | 49 +++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 tests/integration_tests/files/metadata_schemas/metadata_schema.json create mode 100644 tests/integration_tests/test_metadata.py diff --git a/tests/integration_tests/files/metadata_schemas/metadata_schema.json b/tests/integration_tests/files/metadata_schemas/metadata_schema.json new file mode 100644 index 00000000..0c22dd73 --- /dev/null +++ b/tests/integration_tests/files/metadata_schemas/metadata_schema.json @@ -0,0 +1,6 @@ +{ + "schemas": [ + { "key": "STRING_EXAMPLE", "schema": { "type": "string" } }, + { "key": "LONG_STRING_EXAMPLE", "schema": { "type": "long_string" } } + ] + } \ No newline at end of file diff --git a/tests/integration_tests/full_test.py b/tests/integration_tests/full_test.py index 1bd0cefd..bd6f559a 100644 --- a/tests/integration_tests/full_test.py +++ b/tests/integration_tests/full_test.py @@ -47,6 +47,10 @@ expansion_set_id = -1 expansion_sequence_id = 1 +# Metadata Schema Variables +metadata_schemas_path = os.path.join(files_path, "metadata_schemas") +metadata_schema_path = os.path.join(metadata_schemas_path, "metadata_schema.json") + @pytest.fixture(scope="module", autouse=True) def set_up_environment(request): global command_dictionary_id @@ -73,6 +77,44 @@ def cli_plan_simulate(): catch_exceptions=False ) +####################### +# TEST METADATA +####################### + +def test_metadata_list(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "list"], + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Metadata Schemas" in result.stdout + +def test_metadata_clean(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "clean"], + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "All metadata schemas have been deleted" in result.stdout + +def test_metadata_upload(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "upload"], + input=metadata_schema_path, + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "2 new schema have been added" in result.stdout + +def test_metadata_delete(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "delete"], + input="STRING_EXAMPLE", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Schema `STRING_EXAMPLE` has been removed" in result.stdout + ####################### # TEST AND SETUP MODEL ####################### diff --git a/tests/integration_tests/test_metadata.py b/tests/integration_tests/test_metadata.py new file mode 100644 index 00000000..6b485c58 --- /dev/null +++ b/tests/integration_tests/test_metadata.py @@ -0,0 +1,49 @@ +from typer.testing import CliRunner + +from .conftest import client, HASURA_ADMIN_SECRET +from aerie_cli.__main__ import app + +import os + +runner = CliRunner(mix_stderr = False) + +test_dir = os.path.dirname(os.path.abspath(__file__)) + +files_path = os.path.join(test_dir, "files") + +metadata_schemas_path = os.path.join(files_path, "metadata_schemas") +metadata_schema_path = os.path.join(metadata_schemas_path, "metadata_schema.json") + +def test_metadata_list(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "list"], + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Metadata Schemas" in result.stdout + +def test_metadata_clean(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "clean"], + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "All metadata schemas have been deleted" in result.stdout + +def test_metadata_upload(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "upload"], + input=metadata_schema_path, + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "2 new schema have been added" in result.stdout + +def test_metadata_delete(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "delete"], + input="STRING_EXAMPLE", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Schema `STRING_EXAMPLE` has been removed" in result.stdout \ No newline at end of file From 44531948e15996dc7eb3b1dcceaa81241497d20e Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Mon, 7 Aug 2023 13:19:24 -0700 Subject: [PATCH 18/55] Start testing constraint --- .../files/constraints/constraint.json | 0 tests/integration_tests/test_constraints.py | 46 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 tests/integration_tests/files/constraints/constraint.json create mode 100644 tests/integration_tests/test_constraints.py diff --git a/tests/integration_tests/files/constraints/constraint.json b/tests/integration_tests/files/constraints/constraint.json new file mode 100644 index 00000000..e69de29b diff --git a/tests/integration_tests/test_constraints.py b/tests/integration_tests/test_constraints.py new file mode 100644 index 00000000..80d13565 --- /dev/null +++ b/tests/integration_tests/test_constraints.py @@ -0,0 +1,46 @@ +from typer.testing import CliRunner + +from .conftest import client, HASURA_ADMIN_SECRET +from aerie_cli.__main__ import app + +import os +import pytest + +runner = CliRunner(mix_stderr = False) + +test_dir = os.path.dirname(os.path.abspath(__file__)) + +files_path = os.path.join(test_dir, "files") + +# Model Variables +models_path = os.path.join(files_path, "models") +model_jar = os.path.join(models_path, "banananation-1.6.2.jar") +model_name = "banananation" +version = "0.0.1" +model_id = 0 + +# Constraint Variables +constraints_path = os.path.join(files_path, "constraints") +constraint_path = os.path.join(constraints_path, "constraint.json") + +@pytest.fixture(scope="module", autouse=True) +def set_up_environment(request): + resp = client.get_mission_models() + for api_mission_model in resp: + client.delete_mission_model(api_mission_model.id) + + global model_id + model_id = client.upload_mission_model( + mission_model_path=model_jar, + project_name=model_name, + mission="", + version=version) + +def test_constraint_upload(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "upload"], + input="Test" + "\n" + constraint_path + "\n" + str(model_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "2 new schema have been added" in result.stdout \ No newline at end of file From 270697c021f3f16a19e8c6f1b351b22f4d800c96 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Tue, 8 Aug 2023 09:09:09 -0700 Subject: [PATCH 19/55] Remove unused variables --- tests/integration_tests/test_expansion.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tests/integration_tests/test_expansion.py b/tests/integration_tests/test_expansion.py index 7141f1b3..f1c065ec 100644 --- a/tests/integration_tests/test_expansion.py +++ b/tests/integration_tests/test_expansion.py @@ -33,11 +33,6 @@ # Simulation Variables sim_id = 0 -# Schedule Variables -goals_path = os.path.join(files_path, "goals") -goal_path = os.path.join(goals_path, "goal1.ts") - - # Command Dictionary Variables command_dictionaries_path = os.path.join(files_path, "command_dicts") command_dictionary_path = os.path.join(command_dictionaries_path, "command_banananation.xml") From a16159d33d57f589400d9f8be2291d0095661d51 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Tue, 8 Aug 2023 09:09:44 -0700 Subject: [PATCH 20/55] Split scheduling tests into their own file --- tests/integration_tests/test_scheduling.py | 108 +++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 tests/integration_tests/test_scheduling.py diff --git a/tests/integration_tests/test_scheduling.py b/tests/integration_tests/test_scheduling.py new file mode 100644 index 00000000..7f17fa49 --- /dev/null +++ b/tests/integration_tests/test_scheduling.py @@ -0,0 +1,108 @@ +import os +import pytest +import arrow + +from typer.testing import CliRunner +from pathlib import Path + +from aerie_cli.__main__ import app +from aerie_cli.schemas.client import ActivityPlanCreate + +from .conftest import client, HASURA_ADMIN_SECRET + +runner = CliRunner(mix_stderr = False) + +test_dir = os.path.dirname(os.path.abspath(__file__)) + +files_path = os.path.join(test_dir, "files") + +DOWNLOADED_FILE_NAME = "downloaded_file.test" + +# Model Variables +models_path = os.path.join(files_path, "models") +model_jar = os.path.join(models_path, "banananation-1.6.2.jar") +model_name = "banananation" +version = "0.0.1" +model_id = 0 + +# Plan Variables +plans_path = os.path.join(files_path, "plans") +plan_json = os.path.join(plans_path, "bake_bread_plan.json") +plan_id = 0 + +# Simulation Variables +sim_id = 0 + +# Schedule Variables +goals_path = os.path.join(files_path, "goals") +goal_path = os.path.join(goals_path, "goal1.ts") + +@pytest.fixture(scope="module", autouse=True) +def set_up_environment(request): + resp = client.get_mission_models() + for api_mission_model in resp: + client.delete_mission_model(api_mission_model.id) + + global model_id + model_id = client.upload_mission_model( + mission_model_path=model_jar, + project_name=model_name, + mission="", + version=version) + + # upload plan + with open(plan_json) as fid: + contents = fid.read() + plan_to_create = ActivityPlanCreate.from_json(contents) + plan_to_create.name += arrow.utcnow().format("YYYY-MM-DDTHH-mm-ss") + global plan_id + plan_id = client.create_activity_plan(model_id, plan_to_create) + + # simulate plan + global sim_id + sim_id = client.simulate_plan(plan_id) + +####################### +# TEST SCHEDULE +# Uses model, plan, and simulation +####################### + +def test_schedule_upload(): + schedule_file_path = os.path.join(goals_path, "schedule1.txt") + with open(schedule_file_path, "x") as fid: + fid.write(goal_path) + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "upload"], + input=str(model_id) + "\n" + str(sim_id) + "\n" + schedule_file_path + "\n", + catch_exceptions=False, + ) + os.remove(schedule_file_path) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Assigned goals in priority order" in result.stdout + +def test_schedule_delete(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "delete"], + input=str(model_id) + "\n" + str(sim_id) + "\n" + goal_path + "\n", + catch_exceptions=False, + ) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"Successfully deleted Goal" in result.stdout + +def test_schedule_delete_all(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "delete-all-goals-for-plan"], + input=str(plan_id) + "\n", + catch_exceptions=False, + ) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "No goals to delete." in result.stdout \ No newline at end of file From bc4f1ed6a2315b888ad684f158a02b04a60e45a8 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Tue, 8 Aug 2023 10:03:07 -0700 Subject: [PATCH 21/55] Add constraints tests --- .../files/constraints/constraint.json | 0 .../files/constraints/constraint.ts | 3 + tests/integration_tests/test_constraints.py | 59 ++++++++++++++++++- 3 files changed, 59 insertions(+), 3 deletions(-) delete mode 100644 tests/integration_tests/files/constraints/constraint.json create mode 100644 tests/integration_tests/files/constraints/constraint.ts diff --git a/tests/integration_tests/files/constraints/constraint.json b/tests/integration_tests/files/constraints/constraint.json deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/integration_tests/files/constraints/constraint.ts b/tests/integration_tests/files/constraints/constraint.ts new file mode 100644 index 00000000..d6d85775 --- /dev/null +++ b/tests/integration_tests/files/constraints/constraint.ts @@ -0,0 +1,3 @@ +export default (): Constraint => { + +} \ No newline at end of file diff --git a/tests/integration_tests/test_constraints.py b/tests/integration_tests/test_constraints.py index 80d13565..47ef28e8 100644 --- a/tests/integration_tests/test_constraints.py +++ b/tests/integration_tests/test_constraints.py @@ -3,8 +3,11 @@ from .conftest import client, HASURA_ADMIN_SECRET from aerie_cli.__main__ import app +from aerie_cli.schemas.client import ActivityPlanCreate + import os import pytest +import arrow runner = CliRunner(mix_stderr = False) @@ -19,9 +22,15 @@ version = "0.0.1" model_id = 0 +# Plan Variables +plans_path = os.path.join(files_path, "plans") +plan_json = os.path.join(plans_path, "bake_bread_plan.json") +plan_id = 0 + # Constraint Variables constraints_path = os.path.join(files_path, "constraints") -constraint_path = os.path.join(constraints_path, "constraint.json") +constraint_path = os.path.join(constraints_path, "constraint.ts") +constraint_id = -1 @pytest.fixture(scope="module", autouse=True) def set_up_environment(request): @@ -35,12 +44,56 @@ def set_up_environment(request): project_name=model_name, mission="", version=version) + + # upload plan + with open(plan_json) as fid: + contents = fid.read() + plan_to_create = ActivityPlanCreate.from_json(contents) + plan_to_create.name += arrow.utcnow().format("YYYY-MM-DDTHH-mm-ss") + global plan_id + plan_id = client.create_activity_plan(model_id, plan_to_create) def test_constraint_upload(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "upload"], + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "constraints", "upload"], input="Test" + "\n" + constraint_path + "\n" + str(model_id) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ f"{result.stderr}" - assert "2 new schema have been added" in result.stdout \ No newline at end of file + assert "Created constraint" in result.stdout + global constraint_id + for line in result.stdout.splitlines(): + if not "Created constraint: " in line: + continue + # get constraint id from the end of the line + constraint_id = int(line.split(": ")[1]) + assert constraint_id != -1, "Could not find constraint ID, constraint upload may have failed"\ + f"{result.stdout}"\ + f"{result.stderr}" + +def test_constraint_update(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "constraints", "update"], + input=str(constraint_id) + "\n" + constraint_path + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Updated constraint" in result.stdout + +def test_constraint_delete(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "constraints", "delete"], + input=str(constraint_id) + "\n" + constraint_path + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"Successfully deleted constraint {str(constraint_id)}" in result.stdout + +def test_constraint_violations(): + result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "constraints", "violations"], + input=str(plan_id) + "\n", + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Constraint violations: " in result.stdout \ No newline at end of file From 7bcb15a13a07af104db264619604c0de728c1e4d Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Tue, 8 Aug 2023 12:38:08 -0700 Subject: [PATCH 22/55] split full_test and remove full_test --- tests/integration_tests/full_test.py | 561 ------------------------- tests/integration_tests/test_models.py | 83 ++++ 2 files changed, 83 insertions(+), 561 deletions(-) delete mode 100644 tests/integration_tests/full_test.py create mode 100644 tests/integration_tests/test_models.py diff --git a/tests/integration_tests/full_test.py b/tests/integration_tests/full_test.py deleted file mode 100644 index bd6f559a..00000000 --- a/tests/integration_tests/full_test.py +++ /dev/null @@ -1,561 +0,0 @@ -import os -import pytest - -from typer.testing import CliRunner -from pathlib import Path - -from aerie_cli.__main__ import app -from aerie_cli.commands import plans - -from .conftest import client, HASURA_ADMIN_SECRET, DOWNLOADED_FILE_NAME - -runner = CliRunner(mix_stderr = False) - -test_dir = os.path.dirname(os.path.abspath(__file__)) - -files_path = os.path.join(test_dir, "files") - -# Model Variables -models_path = os.path.join(files_path, "models") -model_jar = os.path.join(models_path, "banananation-1.6.2.jar") -model_name = "banananation" -version = "0.0.1" -model_id = 0 - -# Plan Variables -plans_path = os.path.join(files_path, "plans") -plan_json = os.path.join(plans_path, "bake_bread_plan.json") -dup_plan_name = os.path.join(plans_path, "bake_bread_plan_2.json") -plan_id = 0 -args_init = os.path.join(plans_path, "create_config.json") -args_update = os.path.join(plans_path, "update_config.json") - -# Simulation Variables -sim_id = 0 - -# Schedule Variables -goals_path = os.path.join(files_path, "goals") -goal_path = os.path.join(goals_path, "goal1.ts") - - -# Command Dictionary Variables -command_dictionaries_path = os.path.join(files_path, "command_dicts") -command_dictionary_path = os.path.join(command_dictionaries_path, "command_banananation.xml") -command_dictionary_id = 0 - -# Expansion Variables -expansion_set_id = -1 -expansion_sequence_id = 1 - -# Metadata Schema Variables -metadata_schemas_path = os.path.join(files_path, "metadata_schemas") -metadata_schema_path = os.path.join(metadata_schemas_path, "metadata_schema.json") - -@pytest.fixture(scope="module", autouse=True) -def set_up_environment(request): - global command_dictionary_id - with open(command_dictionary_path, 'r') as fid: - command_dictionary_id = client.upload_command_dictionary(fid.read()) - -def cli_upload_banana_model(): - return runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "upload", "--time-tag-version"], - input=model_jar - + "\n" - + model_name - + "\n" - + version - + "\n", - catch_exceptions=False, - ) -def cli_plan_simulate(): - return runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "simulate", "--output", "temp.json"], - input=str(plan_id) + "\n", - catch_exceptions=False - ) - -####################### -# TEST METADATA -####################### - -def test_metadata_list(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "list"], - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Metadata Schemas" in result.stdout - -def test_metadata_clean(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "clean"], - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "All metadata schemas have been deleted" in result.stdout - -def test_metadata_upload(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "upload"], - input=metadata_schema_path, - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "2 new schema have been added" in result.stdout - -def test_metadata_delete(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "delete"], - input="STRING_EXAMPLE", - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Schema `STRING_EXAMPLE` has been removed" in result.stdout - -####################### -# TEST AND SETUP MODEL -####################### - -def test_model_clean(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "clean"], - catch_exceptions=False, - ) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert ( - f"All mission models have been deleted" - in result.stdout - ) - -def test_model_upload(): - result = cli_upload_banana_model() - - # Get model_id of uploaded mission model - resp = client.get_mission_models() - latest_model = resp[-1] - global model_id - model_id = latest_model.id - - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert ( - f"Created new mission model: {model_name} with Model ID: {model_id}" - in result.stdout - ) - -def test_model_list(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "list"], - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Current Mission Models" in result.stdout - -####################### -# TEST AND SETUP PLAN -# Uses model -####################### - -def test_plan_upload(): - # Clean out plans first - plans.clean() - # Upload mission model for setup - result = cli_upload_banana_model() - - # Get model_id of uploaded mission model - resp = client.get_mission_models() - latest_model = resp[-1] - global model_id - model_id = latest_model.id - - # Test plan upload - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "upload", "--time-tag"], - input=plan_json + "\n" + str(model_id) + "\n", - catch_exceptions=False, - ) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - - # Get uploaded plan id - resp = client.get_all_activity_plans() - latest_plan = resp[-1] - global plan_id - plan_id = latest_plan.id - - assert f"Created plan ID: {plan_id}" in result.stdout - -def test_plan_duplicate(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "duplicate"], - input=str(plan_id) + "\n" + dup_plan_name + "\n", - catch_exceptions=False, - ) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - - # Get duplicated plan id - resp = client.get_all_activity_plans() - latest_plan = resp[-1] - duplicated_plan_id = latest_plan.id - - assert f"Duplicate activity plan created with ID: {duplicated_plan_id}" in result.stdout - - -def test_plan_list(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "list"], - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Current Activity Plans" in result.stdout - -####################### -# SIMULATE PLAN -# Uses plan -####################### - -def test_plan_simulate(): - result = cli_plan_simulate() - sim_ids = client.get_simulation_dataset_ids_by_plan_id(plan_id) - global sim_id - sim_id = sim_ids[-1] - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert f"Simulation completed" in result.stdout - -def test_plan_download(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download"], - input=str(plan_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", - catch_exceptions=False, - ) - path_to_plan = Path(DOWNLOADED_FILE_NAME) - assert path_to_plan.exists() - path_to_plan.unlink() - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert f"Wrote activity plan" in result.stdout - -def test_plan_download_resources(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download-resources"], - input=str(sim_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", - catch_exceptions=False, - ) - path_to_resources = Path(DOWNLOADED_FILE_NAME) - assert path_to_resources.exists() - path_to_resources.unlink() - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert f"Wrote resource timelines" in result.stdout - -def test_plan_download_simulation(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download-simulation"], - input=str(sim_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", - catch_exceptions=False, - ) - path_to_resources = Path(DOWNLOADED_FILE_NAME) - assert path_to_resources.exists() - path_to_resources.unlink() - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert f"Wrote activity plan" in result.stdout - -def test_plan_create_config(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "create-config"], - input=str(plan_id) + "\n" + args_init + "\n", - catch_exceptions=False, - ) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert f"Configuration Arguments for Plan ID: {plan_id}" in result.stdout - assert "initialPlantCount: 2" in result.stdout - assert "initialProducer: nobody" in result.stdout - -def test_simulate_after_create_config(): - result = cli_plan_simulate() - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert f"Simulation completed" in result.stdout - -def test_plan_update_config(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "update-config"], - input=str(plan_id) + "\n" + args_update + "\n", - catch_exceptions=False, - ) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert f"Configuration Arguments for Plan ID: {plan_id}" in result.stdout - assert "initialPlantCount: 3" in result.stdout - assert "initialProducer: somebody" in result.stdout - -def test_simulate_after_update_config(): - result = cli_plan_simulate() - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert f"Simulation completed" in result.stdout - -def test_plans_duplicate(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "duplicate"], - input=str(plan_id) + "\n" + "duplicated_plan" + "\n", - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Duplicate activity plan created" in result.stdout - -####################### -# TEST EXPANSION SEQUENCES -# Uses plan and simulation dataset -####################### - -def test_expansion_sequence_create(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "create"], - input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n" + str(2) + "\n", - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Successfully created sequence" in result.stdout - -def test_expansion_sequence_list(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "list"], - input="2" + "\n" + str(sim_id) + "\n", - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "All sequences for Simulation Dataset" in result.stdout - -def test_expansion_sequence_download(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "download"], - input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - path_to_sequence = Path(DOWNLOADED_FILE_NAME) - assert path_to_sequence.exists() - path_to_sequence.unlink() - -def test_expansion_sequence_delete(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "delete"], - input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n", - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Successfully deleted sequence" in result.stdout - -####################### -# TEST EXPANSION SETS -# Uses model, command dictionary, and activity types -####################### - -def test_expansion_set_create(): - client.create_expansion_rule( - expansion_logic=""" - export default function MyExpansion(props: { - activityInstance: ActivityType - }): ExpansionReturn { - const { activityInstance } = props; - return []; - } - """, - activity_name="BakeBananaBread", - model_id=model_id, - command_dictionary_id=command_dictionary_id - ) - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "create"], - input=str(model_id) + "\n" + str(command_dictionary_id) + "\n" + "BakeBananaBread" + "\n", - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - global expansion_set_id - for line in result.stdout.splitlines(): - if not "Created expansion set: " in line: - continue - # get expansion id from the end of the line - expansion_set_id = int(line.split(": ")[1]) - assert expansion_set_id != -1, "Could not find expansion run ID, expansion create may have failed"\ - f"{result.stdout}"\ - f"{result.stderr}" - -def test_expansion_set_get(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "get"], - input=str(expansion_set_id) + "\n", - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Expansion Set" in result.stdout and "Contents" in result.stdout - -def test_expansion_set_list(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "list"], - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Expansion Sets" in result.stdout - -####################### -# TEST EXPANSION RUNS -# Uses plan and simulation dataset -####################### -def test_expansion_run_create(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "runs", "create"], - input=str(sim_id) + "\n" + str(expansion_set_id) + "\n", - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Expansion Run ID: " in result.stdout - -def test_expansion_runs_list(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "runs", "list"], - input="2" + "\n" + str(sim_id) + "\n", - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Expansion Runs" in result.stdout - -####################### -# TEST SCHEDULE -# Uses both model and plan -####################### - -def test_schedule_upload(): - schedule_file_path = os.path.join(goals_path, "schedule1.txt") - with open(schedule_file_path, "x") as fid: - fid.write(goal_path) - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "upload"], - input=str(model_id) + "\n" + str(sim_id) + "\n" + schedule_file_path + "\n", - catch_exceptions=False, - ) - os.remove(schedule_file_path) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Assigned goals in priority order" in result.stdout - -def test_schedule_delete(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "delete"], - input=str(model_id) + "\n" + str(sim_id) + "\n" + goal_path + "\n", - catch_exceptions=False, - ) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert f"Successfully deleted Goal" in result.stdout - -def test_schedule_delete_all(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "delete-all-goals-for-plan"], - input=str(plan_id) + "\n", - catch_exceptions=False, - ) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "No goals to delete." in result.stdout - -####################### -# DELETE PLANS -####################### - -def test_plan_delete(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "delete"], - input=str(plan_id) + "\n", - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert f"ID: {plan_id} has been removed." in result.stdout - - -def test_plan_clean(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "clean"], - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert ( - f"All activity plans have been deleted" - in result.stdout - ) - -####################### -# DELETE MODELS -####################### - -def test_model_delete(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "delete"], - input=str(model_id), - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert f"ID: {model_id} has been removed" in result.stdout \ No newline at end of file diff --git a/tests/integration_tests/test_models.py b/tests/integration_tests/test_models.py new file mode 100644 index 00000000..29023654 --- /dev/null +++ b/tests/integration_tests/test_models.py @@ -0,0 +1,83 @@ +import os +import pytest + +from typer.testing import CliRunner + +from aerie_cli.__main__ import app + +from .conftest import client, HASURA_ADMIN_SECRET, DOWNLOADED_FILE_NAME + +runner = CliRunner(mix_stderr = False) + +TEST_DIR = os.path.dirname(os.path.abspath(__file__)) + +FILES_PATH = os.path.join(TEST_DIR, "files") + +# Model Variables +MODELS_PATH = os.path.join(FILES_PATH, "models") +MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.6.2.jar") +MODEL_NAME = "banananation" +MODEL_VERSION = "0.0.1" +model_id = 0 + +def test_model_clean(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "clean"], + catch_exceptions=False, + ) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert ( + f"All mission models have been deleted" + in result.stdout + ) + +def test_model_upload(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "upload", "--time-tag-version"], + input=MODEL_JAR + + "\n" + + MODEL_NAME + + "\n" + + MODEL_VERSION + + "\n", + catch_exceptions=False, + ) + + # Get model_id of uploaded mission model + resp = client.get_mission_models() + latest_model = resp[-1] + global model_id + model_id = latest_model.id + + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert ( + f"Created new mission model: {MODEL_NAME} with Model ID: {model_id}" + in result.stdout + ) + +def test_model_list(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "list"], + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert "Current Mission Models" in result.stdout + +def test_model_delete(): + result = runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "delete"], + input=str(model_id), + catch_exceptions=False,) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert f"ID: {model_id} has been removed" in result.stdout \ No newline at end of file From c9e63c6d8aa0c17e024dc7786253c7cd159e2d42 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Tue, 8 Aug 2023 12:44:03 -0700 Subject: [PATCH 23/55] Update names --- tests/integration_tests/conftest.py | 10 +++--- tests/integration_tests/test_constraints.py | 38 ++++++++++---------- tests/integration_tests/test_expansion.py | 38 ++++++++++---------- tests/integration_tests/test_metadata.py | 10 +++--- tests/integration_tests/test_models.py | 2 +- tests/integration_tests/test_plans.py | 40 ++++++++++----------- tests/integration_tests/test_scheduling.py | 34 +++++++++--------- 7 files changed, 86 insertions(+), 86 deletions(-) diff --git a/tests/integration_tests/conftest.py b/tests/integration_tests/conftest.py index f841977f..bf9b5fad 100644 --- a/tests/integration_tests/conftest.py +++ b/tests/integration_tests/conftest.py @@ -37,20 +37,20 @@ DOWNLOADED_FILE_NAME = "downloaded_file.test" -test_dir = os.path.dirname(os.path.abspath(__file__)) +TEST_DIR = os.path.dirname(os.path.abspath(__file__)) -files_path = os.path.join(test_dir, "files") +FILES_PATH = os.path.join(TEST_DIR, "files") # Configuration Variables -configurations_path = os.path.join(files_path, "configuration") -config_json = os.path.join(configurations_path, "localhost_config.json") +CONFIGURATIONS_PATH = os.path.join(FILES_PATH, "configuration") +CONFIGURATION_PATH = os.path.join(CONFIGURATIONS_PATH, "localhost_config.json") @pytest.fixture(scope="session", autouse=True) def set_up_environment(request): # Resets the configurations and adds localhost deactivate_session() delete_all_persistent_files() - upload_configurations(config_json) + upload_configurations(CONFIGURATION_PATH) activate_session("localhost") persisent_client = None try: diff --git a/tests/integration_tests/test_constraints.py b/tests/integration_tests/test_constraints.py index 47ef28e8..64cca4ca 100644 --- a/tests/integration_tests/test_constraints.py +++ b/tests/integration_tests/test_constraints.py @@ -11,25 +11,25 @@ runner = CliRunner(mix_stderr = False) -test_dir = os.path.dirname(os.path.abspath(__file__)) +TEST_DIR = os.path.dirname(os.path.abspath(__file__)) -files_path = os.path.join(test_dir, "files") +FILES_PATH = os.path.join(TEST_DIR, "files") # Model Variables -models_path = os.path.join(files_path, "models") -model_jar = os.path.join(models_path, "banananation-1.6.2.jar") -model_name = "banananation" -version = "0.0.1" -model_id = 0 +MODELS_PATH = os.path.join(FILES_PATH, "models") +MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.6.2.jar") +MODEL_NAME = "banananation" +MODEL_VERSION = "0.0.1" +model_id = -1 # Plan Variables -plans_path = os.path.join(files_path, "plans") -plan_json = os.path.join(plans_path, "bake_bread_plan.json") -plan_id = 0 +PLANS_PATH = os.path.join(FILES_PATH, "plans") +PLAN_PATH = os.path.join(PLANS_PATH, "bake_bread_plan.json") +plan_id = -1 # Constraint Variables -constraints_path = os.path.join(files_path, "constraints") -constraint_path = os.path.join(constraints_path, "constraint.ts") +CONSTRAINTS_PATH = os.path.join(FILES_PATH, "constraints") +CONSTRAINT_PATH = os.path.join(CONSTRAINTS_PATH, "constraint.ts") constraint_id = -1 @pytest.fixture(scope="module", autouse=True) @@ -40,13 +40,13 @@ def set_up_environment(request): global model_id model_id = client.upload_mission_model( - mission_model_path=model_jar, - project_name=model_name, + mission_model_path=MODEL_JAR, + project_name=MODEL_NAME, mission="", - version=version) + version=MODEL_VERSION) # upload plan - with open(plan_json) as fid: + with open(PLAN_PATH) as fid: contents = fid.read() plan_to_create = ActivityPlanCreate.from_json(contents) plan_to_create.name += arrow.utcnow().format("YYYY-MM-DDTHH-mm-ss") @@ -55,7 +55,7 @@ def set_up_environment(request): def test_constraint_upload(): result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "constraints", "upload"], - input="Test" + "\n" + constraint_path + "\n" + str(model_id) + "\n", + input="Test" + "\n" + CONSTRAINT_PATH + "\n" + str(model_id) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ @@ -73,7 +73,7 @@ def test_constraint_upload(): def test_constraint_update(): result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "constraints", "update"], - input=str(constraint_id) + "\n" + constraint_path + "\n", + input=str(constraint_id) + "\n" + CONSTRAINT_PATH + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ @@ -82,7 +82,7 @@ def test_constraint_update(): def test_constraint_delete(): result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "constraints", "delete"], - input=str(constraint_id) + "\n" + constraint_path + "\n", + input=str(constraint_id) + "\n" + CONSTRAINT_PATH + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ diff --git a/tests/integration_tests/test_expansion.py b/tests/integration_tests/test_expansion.py index f1c065ec..0d4fc24e 100644 --- a/tests/integration_tests/test_expansion.py +++ b/tests/integration_tests/test_expansion.py @@ -12,31 +12,31 @@ runner = CliRunner(mix_stderr = False) -test_dir = os.path.dirname(os.path.abspath(__file__)) +TEST_DIR = os.path.dirname(os.path.abspath(__file__)) -files_path = os.path.join(test_dir, "files") +FILES_PATH = os.path.join(TEST_DIR, "files") DOWNLOADED_FILE_NAME = "downloaded_file.test" # Model Variables -models_path = os.path.join(files_path, "models") -model_jar = os.path.join(models_path, "banananation-1.6.2.jar") -model_name = "banananation" -version = "0.0.1" -model_id = 0 +MODELS_PATH = os.path.join(FILES_PATH, "models") +MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.6.2.jar") +MODEL_NAME = "banananation" +MODEL_VERSION = "0.0.1" +model_id = -1 # Plan Variables -plans_path = os.path.join(files_path, "plans") -plan_json = os.path.join(plans_path, "bake_bread_plan.json") -plan_id = 0 +PLANS_PATH = os.path.join(FILES_PATH, "plans") +PLAN_PATH = os.path.join(PLANS_PATH, "bake_bread_plan.json") +plan_id = -1 # Simulation Variables -sim_id = 0 +sim_id = -1 # Command Dictionary Variables -command_dictionaries_path = os.path.join(files_path, "command_dicts") -command_dictionary_path = os.path.join(command_dictionaries_path, "command_banananation.xml") -command_dictionary_id = 0 +COMMAND_DICTIONARIES_PATH = os.path.join(FILES_PATH, "command_dicts") +COMMAND_DICTIONARY_PATH = os.path.join(COMMAND_DICTIONARIES_PATH, "command_banananation.xml") +command_dictionary_id = -1 # Expansion Variables expansion_set_id = -1 @@ -50,17 +50,17 @@ def set_up_environment(request): global model_id model_id = client.upload_mission_model( - mission_model_path=model_jar, - project_name=model_name, + mission_model_path=MODEL_JAR, + project_name=MODEL_NAME, mission="", - version=version) + version=MODEL_VERSION) global command_dictionary_id - with open(command_dictionary_path, 'r') as fid: + with open(COMMAND_DICTIONARY_PATH, 'r') as fid: command_dictionary_id = client.upload_command_dictionary(fid.read()) # upload plan - with open(plan_json) as fid: + with open(PLAN_PATH) as fid: contents = fid.read() plan_to_create = ActivityPlanCreate.from_json(contents) plan_to_create.name += arrow.utcnow().format("YYYY-MM-DDTHH-mm-ss") diff --git a/tests/integration_tests/test_metadata.py b/tests/integration_tests/test_metadata.py index 6b485c58..46b9bb06 100644 --- a/tests/integration_tests/test_metadata.py +++ b/tests/integration_tests/test_metadata.py @@ -7,12 +7,12 @@ runner = CliRunner(mix_stderr = False) -test_dir = os.path.dirname(os.path.abspath(__file__)) +TEST_DIR = os.path.dirname(os.path.abspath(__file__)) -files_path = os.path.join(test_dir, "files") +FILES_PATH = os.path.join(TEST_DIR, "files") -metadata_schemas_path = os.path.join(files_path, "metadata_schemas") -metadata_schema_path = os.path.join(metadata_schemas_path, "metadata_schema.json") +METADATA_SCHEMAS_PATH = os.path.join(FILES_PATH, "metadata_schemas") +METADATA_SCHEMA_PATH = os.path.join(METADATA_SCHEMAS_PATH, "metadata_schema.json") def test_metadata_list(): result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "list"], @@ -32,7 +32,7 @@ def test_metadata_clean(): def test_metadata_upload(): result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "upload"], - input=metadata_schema_path, + input=METADATA_SCHEMA_PATH, catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ diff --git a/tests/integration_tests/test_models.py b/tests/integration_tests/test_models.py index 29023654..3f45a7c1 100644 --- a/tests/integration_tests/test_models.py +++ b/tests/integration_tests/test_models.py @@ -18,7 +18,7 @@ MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.6.2.jar") MODEL_NAME = "banananation" MODEL_VERSION = "0.0.1" -model_id = 0 +model_id = -1 def test_model_clean(): result = runner.invoke( diff --git a/tests/integration_tests/test_plans.py b/tests/integration_tests/test_plans.py index 7d0b514d..f0d6e4c3 100644 --- a/tests/integration_tests/test_plans.py +++ b/tests/integration_tests/test_plans.py @@ -11,26 +11,26 @@ runner = CliRunner(mix_stderr = False) -test_dir = os.path.dirname(os.path.abspath(__file__)) +TEST_DIR = os.path.dirname(os.path.abspath(__file__)) -files_path = os.path.join(test_dir, "files") +FILES_PATH = os.path.join(TEST_DIR, "files") DOWNLOADED_FILE_NAME = "downloaded_file.test" # Model Variables -models_path = os.path.join(files_path, "models") -model_jar = os.path.join(models_path, "banananation-1.6.2.jar") -model_name = "banananation" -version = "0.0.1" -model_id = 0 +MODELS_PATH = os.path.join(FILES_PATH, "models") +MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.6.2.jar") +MODEL_NAME = "banananation" +MODEL_VERSION = "0.0.1" +model_id = -1 # Plan Variables -plans_path = os.path.join(files_path, "plans") -plan_json = os.path.join(plans_path, "bake_bread_plan.json") -dup_plan_name = os.path.join(plans_path, "bake_bread_plan_2.json") -plan_id = 0 -args_init = os.path.join(plans_path, "create_config.json") -args_update = os.path.join(plans_path, "update_config.json") +PLANS_PATH = os.path.join(FILES_PATH, "plans") +PLAN_JSON = os.path.join(PLANS_PATH, "bake_bread_plan.json") +DUP_PLAN_NAME = os.path.join(PLANS_PATH, "bake_bread_plan_2.json") +plan_id = -1 +PLAN_ARGS_INIT = os.path.join(PLANS_PATH, "create_config.json") +PLAN_ARGS_UPDATE = os.path.join(PLANS_PATH, "update_config.json") @pytest.fixture(scope="module", autouse=True) def set_up_environment(request): @@ -40,10 +40,10 @@ def set_up_environment(request): global model_id model_id = client.upload_mission_model( - mission_model_path=model_jar, - project_name=model_name, + mission_model_path=MODEL_JAR, + project_name=MODEL_NAME, mission="", - version=version) + version=MODEL_VERSION) def cli_plan_simulate(): return runner.invoke( @@ -66,7 +66,7 @@ def test_plan_upload(): result = runner.invoke( app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "upload", "--time-tag"], - input=plan_json + "\n" + str(model_id) + "\n", + input=PLAN_JSON + "\n" + str(model_id) + "\n", catch_exceptions=False, ) assert result.exit_code == 0,\ @@ -85,7 +85,7 @@ def test_plan_duplicate(): result = runner.invoke( app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "duplicate"], - input=str(plan_id) + "\n" + dup_plan_name + "\n", + input=str(plan_id) + "\n" + DUP_PLAN_NAME + "\n", catch_exceptions=False, ) assert result.exit_code == 0,\ @@ -173,7 +173,7 @@ def test_plan_create_config(): result = runner.invoke( app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "create-config"], - input=str(plan_id) + "\n" + args_init + "\n", + input=str(plan_id) + "\n" + PLAN_ARGS_INIT + "\n", catch_exceptions=False, ) assert result.exit_code == 0,\ @@ -194,7 +194,7 @@ def test_plan_update_config(): result = runner.invoke( app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "update-config"], - input=str(plan_id) + "\n" + args_update + "\n", + input=str(plan_id) + "\n" + PLAN_ARGS_UPDATE + "\n", catch_exceptions=False, ) assert result.exit_code == 0,\ diff --git a/tests/integration_tests/test_scheduling.py b/tests/integration_tests/test_scheduling.py index 7f17fa49..69b79e6c 100644 --- a/tests/integration_tests/test_scheduling.py +++ b/tests/integration_tests/test_scheduling.py @@ -12,30 +12,30 @@ runner = CliRunner(mix_stderr = False) -test_dir = os.path.dirname(os.path.abspath(__file__)) +TEST_DIR = os.path.dirname(os.path.abspath(__file__)) -files_path = os.path.join(test_dir, "files") +FILES_PATH = os.path.join(TEST_DIR, "files") DOWNLOADED_FILE_NAME = "downloaded_file.test" # Model Variables -models_path = os.path.join(files_path, "models") -model_jar = os.path.join(models_path, "banananation-1.6.2.jar") -model_name = "banananation" -version = "0.0.1" +MODELS_PATH = os.path.join(FILES_PATH, "models") +MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.6.2.jar") +MODEL_NAME = "banananation" +MODEL_VERSION = "0.0.1" model_id = 0 # Plan Variables -plans_path = os.path.join(files_path, "plans") -plan_json = os.path.join(plans_path, "bake_bread_plan.json") +PLANS_PATH = os.path.join(FILES_PATH, "plans") +PLAN_PATH = os.path.join(PLANS_PATH, "bake_bread_plan.json") plan_id = 0 # Simulation Variables sim_id = 0 # Schedule Variables -goals_path = os.path.join(files_path, "goals") -goal_path = os.path.join(goals_path, "goal1.ts") +GOALS_PATH = os.path.join(FILES_PATH, "goals") +GOAL_PATH = os.path.join(GOALS_PATH, "goal1.ts") @pytest.fixture(scope="module", autouse=True) def set_up_environment(request): @@ -45,13 +45,13 @@ def set_up_environment(request): global model_id model_id = client.upload_mission_model( - mission_model_path=model_jar, - project_name=model_name, + mission_model_path=MODEL_JAR, + project_name=MODEL_NAME, mission="", - version=version) + version=MODEL_VERSION) # upload plan - with open(plan_json) as fid: + with open(PLAN_PATH) as fid: contents = fid.read() plan_to_create = ActivityPlanCreate.from_json(contents) plan_to_create.name += arrow.utcnow().format("YYYY-MM-DDTHH-mm-ss") @@ -68,9 +68,9 @@ def set_up_environment(request): ####################### def test_schedule_upload(): - schedule_file_path = os.path.join(goals_path, "schedule1.txt") + schedule_file_path = os.path.join(GOALS_PATH, "schedule1.txt") with open(schedule_file_path, "x") as fid: - fid.write(goal_path) + fid.write(GOAL_PATH) result = runner.invoke( app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "upload"], @@ -87,7 +87,7 @@ def test_schedule_delete(): result = runner.invoke( app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "delete"], - input=str(model_id) + "\n" + str(sim_id) + "\n" + goal_path + "\n", + input=str(model_id) + "\n" + str(sim_id) + "\n" + GOAL_PATH + "\n", catch_exceptions=False, ) assert result.exit_code == 0,\ From f3ea046b0d68e7d36c25667a4281bfabda820529 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Tue, 8 Aug 2023 13:30:16 -0700 Subject: [PATCH 24/55] Set up configuration in conftest --- tests/integration_tests/conftest.py | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/tests/integration_tests/conftest.py b/tests/integration_tests/conftest.py index bf9b5fad..d77cf225 100644 --- a/tests/integration_tests/conftest.py +++ b/tests/integration_tests/conftest.py @@ -10,7 +10,6 @@ from aerie_cli.commands.configurations import delete_all_persistent_files, upload_configurations, deactivate_session, activate_session from aerie_cli.utils.sessions import get_active_session_client - # in case src_path is not from aeri-cli src and from site-packages src_path = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + "/../src") sys.path.insert(0, src_path) @@ -45,17 +44,15 @@ CONFIGURATIONS_PATH = os.path.join(FILES_PATH, "configuration") CONFIGURATION_PATH = os.path.join(CONFIGURATIONS_PATH, "localhost_config.json") -@pytest.fixture(scope="session", autouse=True) -def set_up_environment(request): - # Resets the configurations and adds localhost - deactivate_session() - delete_all_persistent_files() - upload_configurations(CONFIGURATION_PATH) - activate_session("localhost") - persisent_client = None - try: - persisent_client = get_active_session_client() - except: - raise RuntimeError("Configuration is not active!") - assert persisent_client.host_session.gateway_url == GATEWAY_URL,\ - "Aerie instances are mismatched. Ensure test URLs are the same." \ No newline at end of file +# Resets the configurations and adds localhost +deactivate_session() +delete_all_persistent_files() +upload_configurations(CONFIGURATION_PATH) +activate_session("localhost") +persisent_client = None +try: + persisent_client = get_active_session_client() +except: + raise RuntimeError("Configuration is not active!") +assert persisent_client.host_session.gateway_url == GATEWAY_URL,\ + "Aerie instances are mismatched. Ensure test URLs are the same." \ No newline at end of file From 95eafb149bc7dddcb0ab4467523b0fbff3d9efc2 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Wed, 9 Aug 2023 13:25:09 -0700 Subject: [PATCH 25/55] Remove unused imports --- tests/integration_tests/test_models.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/integration_tests/test_models.py b/tests/integration_tests/test_models.py index 3f45a7c1..cfd934b5 100644 --- a/tests/integration_tests/test_models.py +++ b/tests/integration_tests/test_models.py @@ -1,11 +1,10 @@ import os -import pytest from typer.testing import CliRunner from aerie_cli.__main__ import app -from .conftest import client, HASURA_ADMIN_SECRET, DOWNLOADED_FILE_NAME +from .conftest import client, HASURA_ADMIN_SECRET runner = CliRunner(mix_stderr = False) From 06c79074be4cc006cf9c79a02de2f5afbfb83ea1 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Wed, 9 Aug 2023 13:25:51 -0700 Subject: [PATCH 26/55] Update README.md --- tests/integration_tests/README.md | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/tests/integration_tests/README.md b/tests/integration_tests/README.md index cc6a1a71..287882c4 100644 --- a/tests/integration_tests/README.md +++ b/tests/integration_tests/README.md @@ -7,12 +7,26 @@ See: [localhost configuration](files/configuration/localhost_config.json) ## Tests -### [Full test](full_test.py) -- Test all Aerie command +### [Configurations test](test_configurations.py) +- Configuration initialization is in conftest.py to ensure all tests use localhost +- These tests will end with the localhost configuration active +- Test all `configurations` commands + +### [Models test](test_models.py) +- Test all `models` commands ### [Plans test](test_plans.py) - Test all `plans` commands - Tests simulations and `plans download...` commands as well +### [Scheduling test](test_scheduling.py) +- Test all `scheduling` commands + ### [Expansion test](test_expansion.py) -- Test all `expansion` commands \ No newline at end of file +- Test all `expansion` commands + +### [Metadata test](test_metadata.py) +- Test all `metadata` commands + +### [Constraints test](test_constraints.py) +- Test all `constraints` commands \ No newline at end of file From 39facd52b7a1b0a88d548d3e53211afc8e647268 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Wed, 9 Aug 2023 13:28:48 -0700 Subject: [PATCH 27/55] Clean plans in expansion test --- tests/integration_tests/test_expansion.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/integration_tests/test_expansion.py b/tests/integration_tests/test_expansion.py index 0d4fc24e..64807933 100644 --- a/tests/integration_tests/test_expansion.py +++ b/tests/integration_tests/test_expansion.py @@ -45,9 +45,13 @@ @pytest.fixture(scope="module", autouse=True) def set_up_environment(request): resp = client.get_mission_models() + # delete all plans and models for api_mission_model in resp: client.delete_mission_model(api_mission_model.id) - + for plan in client.get_all_activity_plans(): + client.delete_plan(plan.id) + + # upload model global model_id model_id = client.upload_mission_model( mission_model_path=MODEL_JAR, From a5090430085ca459b95ccfc980f9c2b2b6538bc8 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Wed, 9 Aug 2023 15:36:18 -0700 Subject: [PATCH 28/55] Add configuration tests --- tests/integration_tests/conftest.py | 5 +- .../integration_tests/test_configurations.py | 251 ++++++++++++++++++ 2 files changed, 253 insertions(+), 3 deletions(-) create mode 100644 tests/integration_tests/test_configurations.py diff --git a/tests/integration_tests/conftest.py b/tests/integration_tests/conftest.py index d77cf225..2dd577fc 100644 --- a/tests/integration_tests/conftest.py +++ b/tests/integration_tests/conftest.py @@ -3,7 +3,6 @@ # The scope is global either way, but this allows for easier debugging, type hints, and autofill import os import sys -import pytest from aerie_cli.aerie_client import AerieClient from aerie_cli.aerie_host import AerieHostSession, AuthMethod @@ -18,8 +17,8 @@ GATEWAY_URL = "http://localhost:9000" AUTH_URL = "http://localhost:9000/auth/login" AUTH_METHOD = AuthMethod.AERIE_NATIVE -USERNAME = "" -PASSWORD = "" +USERNAME = "a" +PASSWORD = "a" # This should only ever be set to the admin secret for a local instance of aerie HASURA_ADMIN_SECRET = os.environ.get("HASURA_GRAPHQL_ADMIN_SECRET") diff --git a/tests/integration_tests/test_configurations.py b/tests/integration_tests/test_configurations.py new file mode 100644 index 00000000..8daed588 --- /dev/null +++ b/tests/integration_tests/test_configurations.py @@ -0,0 +1,251 @@ +import os + +from typer.testing import CliRunner + +from aerie_cli.__main__ import app +import pytest + +from .conftest import\ + HASURA_ADMIN_SECRET,\ + GRAPHQL_URL,\ + GATEWAY_URL,\ + AUTH_URL,\ + USERNAME +from aerie_cli.persistent import PersistentConfigurationManager, PersistentSessionManager, NoActiveSessionError +from aerie_cli.utils.sessions import start_session_from_configuration + +runner = CliRunner(mix_stderr = False) + +TEST_DIR = os.path.dirname(os.path.abspath(__file__)) + +FILES_PATH = os.path.join(TEST_DIR, "files") + +# Configuration Variables +CONFIGURATIONS_PATH = os.path.join(FILES_PATH, "configuration") +CONFIGURATION_PATH = os.path.join(CONFIGURATIONS_PATH, "localhost_config.json") + +CONFIGURATION_NAME = "localhost" +configuration_id = -1 + +def test_configurations_clean(): + result = runner.invoke( + app, + ["configurations", "clean"], + input="y" + "\n", + catch_exceptions=False, + ) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + + assert len(PersistentConfigurationManager.get_configurations()) == 0,\ + f"CONFIGURATIONS NOT CLEARED! CONFIGURATIONS: {PersistentConfigurationManager.get_configurations()}\n"\ + f"{result.stdout}"\ + f"{result.stderr}" + + no_session_error = False + try: + runner.invoke( + app, + ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "list"], + catch_exceptions=False,) + except (NoActiveSessionError, FileNotFoundError) as err: + no_session_error = True + + if not no_session_error: + # We raise an error to prevent tests running when configurations are broken + pytest.exit("CONFIGURATION SHOULD NOT BE ACTIVE", returncode=pytest.ExitCode.TESTS_FAILED) + try: + runner.invoke( + app, + ["--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "list"], + catch_exceptions=False,) + except NoActiveSessionError as err: + return + except Exception as other: + # We raise an error to prevent tests running when configurations are broken + pytest.exit("CONFIGURATION SHOULD NOT BE ACTIVE. Failed when using active -c option\n", + returncode=pytest.ExitCode.TESTS_FAILED) + # We raise an error to prevent tests running when configurations are broken + pytest.exit("CONFIGURATION SHOULD NOT BE ACTIVE. Failed when using active configuration\n", + returncode=pytest.ExitCode.TESTS_FAILED) + +def test_configurations_load(): + result = runner.invoke( + app, + ["configurations", "load"], + input=CONFIGURATION_PATH + "\n", + catch_exceptions=False, + ) + + global configuration_id + for i, configuration in enumerate(PersistentConfigurationManager.get_configurations()): + if configuration.name != "localhost": + continue + configuration_id = i + assert configuration_id != -1, "CONFIGURATION NOT LOADED, is it's name localhost?" + + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert ( + "Added configurations" + in result.stdout + ) + +def test_configurations_activate(): + before_refresh = len(PersistentConfigurationManager.get_configurations()) + assert before_refresh > 0 + PersistentConfigurationManager.read_configurations() + assert len(PersistentConfigurationManager.get_configurations()) == before_refresh + + result = runner.invoke( + app, + ["configurations", "activate"], + input=str(configuration_id) + "\n", + catch_exceptions=False, + ) + + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert PersistentSessionManager.get_active_session().configuration_name == "localhost" + +def test_configurations_deactivate(): + before_refresh = len(PersistentConfigurationManager.get_configurations()) + assert before_refresh > 0 + PersistentConfigurationManager.read_configurations() + assert len(PersistentConfigurationManager.get_configurations()) == before_refresh + + assert PersistentSessionManager.get_active_session().configuration_name == "localhost" + + result = runner.invoke( + app, + ["configurations", "deactivate"], + input=str(configuration_id) + "\n", + catch_exceptions=False, + ) + + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert ( + f"Deactivated session: {CONFIGURATION_NAME}" + in result.stdout + ) + try: + after_clean = runner.invoke( + app, + ["plans", "list"], + input=CONFIGURATION_PATH + "\n" + ) + except NoActiveSessionError as err: + return + except Exception as other: + # We raise an error to prevent tests running when configurations are broken + pytest.exit("CONFIGURATION SHOULD NOT BE ACTIVE", returncode=pytest.ExitCode.TESTS_FAILED) + # We raise an error to prevent tests running when configurations are broken + pytest.exit("CONFIGURATION SHOULD NOT BE ACTIVE", returncode=pytest.ExitCode.TESTS_FAILED) + +def test_configurations_delete(): + before_refresh = len(PersistentConfigurationManager.get_configurations()) + assert before_refresh > 0 + PersistentConfigurationManager.read_configurations() + assert len(PersistentConfigurationManager.get_configurations()) == before_refresh + assert PersistentConfigurationManager.get_configurations()[configuration_id].name == ("localhost") + + # First re-active the config to test if deleting an active configuration works properly + conf = PersistentConfigurationManager.get_configuration_by_name("localhost") + session = start_session_from_configuration(conf) + PersistentSessionManager.set_active_session(session) + assert PersistentSessionManager.get_active_session().configuration_name == "localhost" + + result = runner.invoke( + app, + ["configurations", "delete"], + input=str(configuration_id) + "\n", + catch_exceptions=False, + ) + + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + +def test_configurations_create(): + result = runner.invoke( + app, + ["configurations", "create"], + input=CONFIGURATION_NAME + "\n" + + GRAPHQL_URL + "\n" + + GATEWAY_URL + "\n" + + "Native" + "\n" + + AUTH_URL + "\n" + + "y" + "\n" + + USERNAME + "\n", + catch_exceptions=False, + ) + + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + +def test_configurations_update(): + before_refresh = len(PersistentConfigurationManager.get_configurations()) + assert before_refresh > 0 + PersistentConfigurationManager.read_configurations() + assert len(PersistentConfigurationManager.get_configurations()) == before_refresh + assert PersistentConfigurationManager.get_configurations()[configuration_id].name == ("localhost") + + result = runner.invoke( + app, + ["configurations", "update"], + input=str(configuration_id) + "\n" + + GRAPHQL_URL + "\n" + + GATEWAY_URL + "\n" + + "2" + "\n" + + AUTH_URL + "\n" + + "y" + "\n" + + USERNAME + "\n", + catch_exceptions=False, + ) + + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + +def test_configurations_list(): + result = runner.invoke( + app, + ["configurations", "list"], + input=CONFIGURATION_PATH + "\n", + catch_exceptions=False, + ) + + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert ( + "Aerie Host Configurations" + in result.stdout + ) +# We're activating at the end to ensure that localhost is still active +# for other integration tests. +def test_configurations_last_activate(): + before_refresh = len(PersistentConfigurationManager.get_configurations()) + assert before_refresh > 0 + PersistentConfigurationManager.read_configurations() + assert len(PersistentConfigurationManager.get_configurations()) == before_refresh + + assert PersistentConfigurationManager.get_configurations()[configuration_id].name == ("localhost") + + result = runner.invoke( + app, + ["configurations", "activate"], + input=str(configuration_id) + "\n", + catch_exceptions=False, + ) + + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + assert PersistentSessionManager.get_active_session().configuration_name == "localhost" \ No newline at end of file From 513df6052eacac7e90bb5ddee2a6201cfaf9c6b4 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Wed, 9 Aug 2023 16:57:38 -0700 Subject: [PATCH 29/55] Fix configuration tests --- .../integration_tests/test_configurations.py | 75 ++++++++++--------- 1 file changed, 40 insertions(+), 35 deletions(-) diff --git a/tests/integration_tests/test_configurations.py b/tests/integration_tests/test_configurations.py index 8daed588..94110dc0 100644 --- a/tests/integration_tests/test_configurations.py +++ b/tests/integration_tests/test_configurations.py @@ -54,7 +54,8 @@ def test_configurations_clean(): if not no_session_error: # We raise an error to prevent tests running when configurations are broken - pytest.exit("CONFIGURATION SHOULD NOT BE ACTIVE", returncode=pytest.ExitCode.TESTS_FAILED) + pytest.exit(f"CONFIGURATION SHOULD NOT EXIST. Failed when using active -c option {other}\n", + returncode=pytest.ExitCode.TESTS_FAILED) try: runner.invoke( app, @@ -64,20 +65,30 @@ def test_configurations_clean(): return except Exception as other: # We raise an error to prevent tests running when configurations are broken - pytest.exit("CONFIGURATION SHOULD NOT BE ACTIVE. Failed when using active -c option\n", - returncode=pytest.ExitCode.TESTS_FAILED) + pytest.exit( + f"CONFIGURATION SHOULD NOT EXIST. Failed when using active configuration. UNEXPECTED ERROR: {other}\n", + returncode=pytest.ExitCode.TESTS_FAILED) # We raise an error to prevent tests running when configurations are broken - pytest.exit("CONFIGURATION SHOULD NOT BE ACTIVE. Failed when using active configuration\n", + pytest.exit("CONFIGURATION SHOULD NOT EXIST. Failed when using active configuration\n", returncode=pytest.ExitCode.TESTS_FAILED) -def test_configurations_load(): +def test_configurations_create(): result = runner.invoke( app, - ["configurations", "load"], - input=CONFIGURATION_PATH + "\n", + ["configurations", "create"], + input=CONFIGURATION_NAME + "\n" + + GRAPHQL_URL + "\n" + + GATEWAY_URL + "\n" + + "None" + "\n" + + "y" + "\n" + + USERNAME + "\n", catch_exceptions=False, ) + assert result.exit_code == 0,\ + f"{result.stdout}"\ + f"{result.stderr}" + global configuration_id for i, configuration in enumerate(PersistentConfigurationManager.get_configurations()): if configuration.name != "localhost": @@ -85,14 +96,6 @@ def test_configurations_load(): configuration_id = i assert configuration_id != -1, "CONFIGURATION NOT LOADED, is it's name localhost?" - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert ( - "Added configurations" - in result.stdout - ) - def test_configurations_activate(): before_refresh = len(PersistentConfigurationManager.get_configurations()) assert before_refresh > 0 @@ -133,19 +136,27 @@ def test_configurations_deactivate(): f"Deactivated session: {CONFIGURATION_NAME}" in result.stdout ) + try: - after_clean = runner.invoke( + runner.invoke( app, - ["plans", "list"], - input=CONFIGURATION_PATH + "\n" - ) + ["--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "list"], + catch_exceptions=False,) except NoActiveSessionError as err: return except Exception as other: # We raise an error to prevent tests running when configurations are broken - pytest.exit("CONFIGURATION SHOULD NOT BE ACTIVE", returncode=pytest.ExitCode.TESTS_FAILED) + pytest.exit( + f"CONFIGURATION SHOULD NOT BE ACTIVE. UNEXPECTED ERROR: {other}\n", + returncode=pytest.ExitCode.TESTS_FAILED) + try: + active_config = PersistentSessionManager.get_active_session().configuration_name + except Exception as e: + active_config = str(type(e)) # We raise an error to prevent tests running when configurations are broken - pytest.exit("CONFIGURATION SHOULD NOT BE ACTIVE", returncode=pytest.ExitCode.TESTS_FAILED) + pytest.exit( + f"CONFIGURATION SHOULD NOT BE ACTIVE. Active config: {active_config}", + returncode=pytest.ExitCode.TESTS_FAILED) def test_configurations_delete(): before_refresh = len(PersistentConfigurationManager.get_configurations()) @@ -171,23 +182,21 @@ def test_configurations_delete(): f"{result.stdout}"\ f"{result.stderr}" -def test_configurations_create(): +def test_configurations_load(): result = runner.invoke( app, - ["configurations", "create"], - input=CONFIGURATION_NAME + "\n" - + GRAPHQL_URL + "\n" - + GATEWAY_URL + "\n" - + "Native" + "\n" - + AUTH_URL + "\n" - + "y" + "\n" - + USERNAME + "\n", + ["configurations", "load"], + input=CONFIGURATION_PATH + "\n", catch_exceptions=False, ) assert result.exit_code == 0,\ f"{result.stdout}"\ f"{result.stderr}" + assert ( + "Added configurations" + in result.stdout + ) def test_configurations_update(): before_refresh = len(PersistentConfigurationManager.get_configurations()) @@ -202,10 +211,7 @@ def test_configurations_update(): input=str(configuration_id) + "\n" + GRAPHQL_URL + "\n" + GATEWAY_URL + "\n" - + "2" + "\n" - + AUTH_URL + "\n" - + "y" + "\n" - + USERNAME + "\n", + + "1" + "\n", catch_exceptions=False, ) @@ -217,7 +223,6 @@ def test_configurations_list(): result = runner.invoke( app, ["configurations", "list"], - input=CONFIGURATION_PATH + "\n", catch_exceptions=False, ) From 574b29cea2f2c55725c30a6d0e16efdda96efef7 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Thu, 10 Aug 2023 08:08:35 -0700 Subject: [PATCH 30/55] Test against Aerie v1.7 --- docker-compose-test.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose-test.yml b/docker-compose-test.yml index 6d9a63c1..0bd8b4f5 100644 --- a/docker-compose-test.yml +++ b/docker-compose-test.yml @@ -18,7 +18,7 @@ services: POSTGRES_PASSWORD: '${AERIE_PASSWORD}' POSTGRES_PORT: 5432 POSTGRES_USER: '${AERIE_USERNAME}' - image: 'ghcr.io/nasa-ammos/aerie-gateway:v1.6.2' + image: 'ghcr.io/nasa-ammos/aerie-gateway:v1.7' ports: ['9000:9000'] restart: always volumes: @@ -40,7 +40,7 @@ services: -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err UNTRUE_PLAN_START: '2000-01-01T11:58:55.816Z' - image: 'ghcr.io/nasa-ammos/aerie-merlin:v1.6.2' + image: 'ghcr.io/nasa-ammos/aerie-merlin:v1.7' ports: ['27183:27183'] restart: always volumes: @@ -60,7 +60,7 @@ services: -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err UNTRUE_PLAN_START: '2000-01-01T11:58:55.816Z' - image: 'ghcr.io/nasa-ammos/aerie-merlin-worker:v1.6.2' + image: 'ghcr.io/nasa-ammos/aerie-merlin-worker:v1.7' ports: ['27187:8080'] restart: always volumes: @@ -81,7 +81,7 @@ services: -Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err - image: 'ghcr.io/nasa-ammos/aerie-scheduler:v1.6.2' + image: 'ghcr.io/nasa-ammos/aerie-scheduler:v1.7' ports: ['27185:27185'] restart: always volumes: @@ -103,7 +103,7 @@ services: JAVA_OPTS: > -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err - image: 'ghcr.io/nasa-ammos/aerie-scheduler-worker:v1.6.2' + image: 'ghcr.io/nasa-ammos/aerie-scheduler-worker:v1.7' ports: ['27189:8080'] restart: always volumes: @@ -123,7 +123,7 @@ services: SEQUENCING_DB_USER: '${AERIE_USERNAME}' SEQUENCING_LOCAL_STORE: /usr/src/app/sequencing_file_store SEQUENCING_SERVER_PORT: 27184 - image: 'ghcr.io/nasa-ammos/aerie-sequencing:v1.6.2' + image: 'ghcr.io/nasa-ammos/aerie-sequencing:v1.7' ports: ['27184:27184'] restart: always volumes: @@ -147,7 +147,7 @@ services: HASURA_GRAPHQL_LOG_LEVEL: info HASURA_GRAPHQL_METADATA_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_hasura' HASURA_GRAPHQL_METADATA_DIR: /hasura-metadata - image: 'ghcr.io/nasa-ammos/aerie-hasura:v1.6.2' + image: 'ghcr.io/nasa-ammos/aerie-hasura:v1.7' ports: ['8080:8080'] restart: always postgres: @@ -158,7 +158,7 @@ services: POSTGRES_DB: postgres POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}' POSTGRES_USER: '${POSTGRES_USER}' - image: 'ghcr.io/nasa-ammos/aerie-postgres:v1.6.2' + image: 'ghcr.io/nasa-ammos/aerie-postgres:v1.7' ports: ['5432:5432'] restart: always volumes: From a63225b72cf2537e5c338f47fbdfb58ee54c2be7 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Thu, 10 Aug 2023 08:27:18 -0700 Subject: [PATCH 31/55] Test against Aerie 1.10 --- docker-compose-test.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose-test.yml b/docker-compose-test.yml index 0bd8b4f5..e0b6375d 100644 --- a/docker-compose-test.yml +++ b/docker-compose-test.yml @@ -18,7 +18,7 @@ services: POSTGRES_PASSWORD: '${AERIE_PASSWORD}' POSTGRES_PORT: 5432 POSTGRES_USER: '${AERIE_USERNAME}' - image: 'ghcr.io/nasa-ammos/aerie-gateway:v1.7' + image: 'ghcr.io/nasa-ammos/aerie-gateway:v1.10.0' ports: ['9000:9000'] restart: always volumes: @@ -40,7 +40,7 @@ services: -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err UNTRUE_PLAN_START: '2000-01-01T11:58:55.816Z' - image: 'ghcr.io/nasa-ammos/aerie-merlin:v1.7' + image: 'ghcr.io/nasa-ammos/aerie-merlin:v1.10.0' ports: ['27183:27183'] restart: always volumes: @@ -60,7 +60,7 @@ services: -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err UNTRUE_PLAN_START: '2000-01-01T11:58:55.816Z' - image: 'ghcr.io/nasa-ammos/aerie-merlin-worker:v1.7' + image: 'ghcr.io/nasa-ammos/aerie-merlin-worker:v1.10.0' ports: ['27187:8080'] restart: always volumes: @@ -81,7 +81,7 @@ services: -Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err - image: 'ghcr.io/nasa-ammos/aerie-scheduler:v1.7' + image: 'ghcr.io/nasa-ammos/aerie-scheduler:v1.10.0' ports: ['27185:27185'] restart: always volumes: @@ -103,7 +103,7 @@ services: JAVA_OPTS: > -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err - image: 'ghcr.io/nasa-ammos/aerie-scheduler-worker:v1.7' + image: 'ghcr.io/nasa-ammos/aerie-scheduler-worker:v1.10.0' ports: ['27189:8080'] restart: always volumes: @@ -123,7 +123,7 @@ services: SEQUENCING_DB_USER: '${AERIE_USERNAME}' SEQUENCING_LOCAL_STORE: /usr/src/app/sequencing_file_store SEQUENCING_SERVER_PORT: 27184 - image: 'ghcr.io/nasa-ammos/aerie-sequencing:v1.7' + image: 'ghcr.io/nasa-ammos/aerie-sequencing:v1.10.0' ports: ['27184:27184'] restart: always volumes: @@ -147,7 +147,7 @@ services: HASURA_GRAPHQL_LOG_LEVEL: info HASURA_GRAPHQL_METADATA_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_hasura' HASURA_GRAPHQL_METADATA_DIR: /hasura-metadata - image: 'ghcr.io/nasa-ammos/aerie-hasura:v1.7' + image: 'ghcr.io/nasa-ammos/aerie-hasura:v1.10.0' ports: ['8080:8080'] restart: always postgres: @@ -158,7 +158,7 @@ services: POSTGRES_DB: postgres POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}' POSTGRES_USER: '${POSTGRES_USER}' - image: 'ghcr.io/nasa-ammos/aerie-postgres:v1.7' + image: 'ghcr.io/nasa-ammos/aerie-postgres:v1.10.0' ports: ['5432:5432'] restart: always volumes: From 8d582aa41041862e3dec0d0ae93c7a46766c6b6e Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Thu, 10 Aug 2023 09:08:15 -0700 Subject: [PATCH 32/55] Test against 1.7.0 --- docker-compose-test.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose-test.yml b/docker-compose-test.yml index e0b6375d..ccb53989 100644 --- a/docker-compose-test.yml +++ b/docker-compose-test.yml @@ -18,7 +18,7 @@ services: POSTGRES_PASSWORD: '${AERIE_PASSWORD}' POSTGRES_PORT: 5432 POSTGRES_USER: '${AERIE_USERNAME}' - image: 'ghcr.io/nasa-ammos/aerie-gateway:v1.10.0' + image: 'ghcr.io/nasa-ammos/aerie-gateway:v1.7.0' ports: ['9000:9000'] restart: always volumes: @@ -40,7 +40,7 @@ services: -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err UNTRUE_PLAN_START: '2000-01-01T11:58:55.816Z' - image: 'ghcr.io/nasa-ammos/aerie-merlin:v1.10.0' + image: 'ghcr.io/nasa-ammos/aerie-merlin:v1.7.0' ports: ['27183:27183'] restart: always volumes: @@ -60,7 +60,7 @@ services: -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err UNTRUE_PLAN_START: '2000-01-01T11:58:55.816Z' - image: 'ghcr.io/nasa-ammos/aerie-merlin-worker:v1.10.0' + image: 'ghcr.io/nasa-ammos/aerie-merlin-worker:v1.7.0' ports: ['27187:8080'] restart: always volumes: @@ -81,7 +81,7 @@ services: -Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err - image: 'ghcr.io/nasa-ammos/aerie-scheduler:v1.10.0' + image: 'ghcr.io/nasa-ammos/aerie-scheduler:v1.7.0' ports: ['27185:27185'] restart: always volumes: @@ -103,7 +103,7 @@ services: JAVA_OPTS: > -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err - image: 'ghcr.io/nasa-ammos/aerie-scheduler-worker:v1.10.0' + image: 'ghcr.io/nasa-ammos/aerie-scheduler-worker:v1.7.0' ports: ['27189:8080'] restart: always volumes: @@ -123,7 +123,7 @@ services: SEQUENCING_DB_USER: '${AERIE_USERNAME}' SEQUENCING_LOCAL_STORE: /usr/src/app/sequencing_file_store SEQUENCING_SERVER_PORT: 27184 - image: 'ghcr.io/nasa-ammos/aerie-sequencing:v1.10.0' + image: 'ghcr.io/nasa-ammos/aerie-sequencing:v1.7.0' ports: ['27184:27184'] restart: always volumes: @@ -147,7 +147,7 @@ services: HASURA_GRAPHQL_LOG_LEVEL: info HASURA_GRAPHQL_METADATA_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_hasura' HASURA_GRAPHQL_METADATA_DIR: /hasura-metadata - image: 'ghcr.io/nasa-ammos/aerie-hasura:v1.10.0' + image: 'ghcr.io/nasa-ammos/aerie-hasura:v1.7.0' ports: ['8080:8080'] restart: always postgres: @@ -158,7 +158,7 @@ services: POSTGRES_DB: postgres POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}' POSTGRES_USER: '${POSTGRES_USER}' - image: 'ghcr.io/nasa-ammos/aerie-postgres:v1.10.0' + image: 'ghcr.io/nasa-ammos/aerie-postgres:v1.7.0' ports: ['5432:5432'] restart: always volumes: From 0ba16a50812e1f2fbe10bdf04cfbc749ac3d1eac Mon Sep 17 00:00:00 2001 From: Jonathan Navarro <89946340+Navarro-Jonathan@users.noreply.github.com> Date: Wed, 23 Aug 2023 12:18:54 -0700 Subject: [PATCH 33/55] Remove unnecessary argument in contraint test Co-authored-by: Carter Mak <49076171+cartermak@users.noreply.github.com> --- tests/integration_tests/test_constraints.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration_tests/test_constraints.py b/tests/integration_tests/test_constraints.py index 64cca4ca..28d8cee3 100644 --- a/tests/integration_tests/test_constraints.py +++ b/tests/integration_tests/test_constraints.py @@ -82,7 +82,7 @@ def test_constraint_update(): def test_constraint_delete(): result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "constraints", "delete"], - input=str(constraint_id) + "\n" + CONSTRAINT_PATH + "\n", + input=str(constraint_id) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ From 5ad9dab69265bdab06463e9fd071e6cb22698445 Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Wed, 23 Aug 2023 12:25:35 -0700 Subject: [PATCH 34/55] Remove duplicate duplicate --- tests/integration_tests/test_plans.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/tests/integration_tests/test_plans.py b/tests/integration_tests/test_plans.py index f0d6e4c3..f45bdb80 100644 --- a/tests/integration_tests/test_plans.py +++ b/tests/integration_tests/test_plans.py @@ -211,17 +211,6 @@ def test_simulate_after_update_config(): f"{result.stderr}" assert f"Simulation completed" in result.stdout -def test_plans_duplicate(): - result = runner.invoke( - app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "duplicate"], - input=str(plan_id) + "\n" + "duplicated_plan" + "\n", - catch_exceptions=False,) - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" - assert "Duplicate activity plan created" in result.stdout - ####################### # DELETE PLANS ####################### From 62beee6e518ee8cacc70f70cdc6c34a45a6c2a5a Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Wed, 23 Aug 2023 12:44:07 -0700 Subject: [PATCH 35/55] Upload schedule for delete_all --- tests/integration_tests/test_scheduling.py | 29 ++++++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/tests/integration_tests/test_scheduling.py b/tests/integration_tests/test_scheduling.py index 69b79e6c..769d9961 100644 --- a/tests/integration_tests/test_scheduling.py +++ b/tests/integration_tests/test_scheduling.py @@ -36,6 +36,7 @@ # Schedule Variables GOALS_PATH = os.path.join(FILES_PATH, "goals") GOAL_PATH = os.path.join(GOALS_PATH, "goal1.ts") +goal_id = -1 @pytest.fixture(scope="module", autouse=True) def set_up_environment(request): @@ -67,27 +68,41 @@ def set_up_environment(request): # Uses model, plan, and simulation ####################### -def test_schedule_upload(): +def cli_schedule_upload(): schedule_file_path = os.path.join(GOALS_PATH, "schedule1.txt") with open(schedule_file_path, "x") as fid: fid.write(GOAL_PATH) result = runner.invoke( app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "upload"], - input=str(model_id) + "\n" + str(sim_id) + "\n" + schedule_file_path + "\n", + input=str(model_id) + "\n" + str(plan_id) + "\n" + schedule_file_path + "\n", catch_exceptions=False, ) os.remove(schedule_file_path) + return result + +def test_schedule_upload(): + result = cli_schedule_upload() assert result.exit_code == 0,\ f"{result.stdout}"\ f"{result.stderr}" assert "Assigned goals in priority order" in result.stdout - + global goal_id + for line in result.stdout.splitlines(): + if not "Assigned goals in priority order" in line: + continue + # get expansion id from the end of the line + goal_id = int(line.split("ID ")[1][:-1]) + assert goal_id != -1, "Could not find goal ID, goal upload may have failed"\ + f"{result.stdout}"\ + f"{result.stderr}" def test_schedule_delete(): + assert goal_id != -1, "Goal id was not set" + result = runner.invoke( app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "delete"], - input=str(model_id) + "\n" + str(sim_id) + "\n" + GOAL_PATH + "\n", + input=str(goal_id) + "\n", catch_exceptions=False, ) assert result.exit_code == 0,\ @@ -96,6 +111,10 @@ def test_schedule_delete(): assert f"Successfully deleted Goal" in result.stdout def test_schedule_delete_all(): + # Upload a goal to delete + cli_schedule_upload() + + # Delete all goals result = runner.invoke( app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "delete-all-goals-for-plan"], @@ -105,4 +124,4 @@ def test_schedule_delete_all(): assert result.exit_code == 0,\ f"{result.stdout}"\ f"{result.stderr}" - assert "No goals to delete." in result.stdout \ No newline at end of file + assert f"Deleting goals for Plan ID {plan_id}" in result.stdout \ No newline at end of file From fc7052d8681c9c4a628853aa40c32bd938a646ff Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Wed, 2 Aug 2023 09:41:18 -0700 Subject: [PATCH 36/55] Update gateway ping to check /auth/session --- src/aerie_cli/aerie_host.py | 10 ++++------ src/aerie_cli/persistent.py | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/aerie_cli/aerie_host.py b/src/aerie_cli/aerie_host.py index 3cfabd7b..47456530 100644 --- a/src/aerie_cli/aerie_host.py +++ b/src/aerie_cli/aerie_host.py @@ -154,15 +154,13 @@ def post_to_gateway_files(self, file_name: str, file_contents: bytes) -> Dict: else: raise RuntimeError(f"Error uploading file: {file_name}") - def ping_gateway(self) -> bool: - + def check_auth(self) -> bool: try: - resp = self.session.get(self.gateway_url + "/health") + resp = self.session.get(self.gateway_url + "/auth/session") except requests.exceptions.ConnectionError: return False try: - if "uptimeMinutes" in resp.json().keys(): - return True + return resp.json()["success"] except Exception: return False @@ -225,7 +223,7 @@ def session_helper( aerie_session = cls(session, graphql_url, gateway_url, configuration_name) - if not aerie_session.ping_gateway(): + if not aerie_session.check_auth(): raise RuntimeError(f"Failed to open session") return aerie_session diff --git a/src/aerie_cli/persistent.py b/src/aerie_cli/persistent.py index 0b403e87..3d3d9cf8 100644 --- a/src/aerie_cli/persistent.py +++ b/src/aerie_cli/persistent.py @@ -160,7 +160,7 @@ def get_active_session(cls) -> AerieHostSession: @classmethod def set_active_session(cls, session: AerieHostSession) -> bool: - if not session.ping_gateway(): + if not session.check_auth(): return False fs: List[Path] = [ From b44d316e9f2ef139d4b6dcd7a9e3977eb9f4dece Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Wed, 2 Aug 2023 10:04:07 -0700 Subject: [PATCH 37/55] Rename ping_gateway -> check_auth in unit test Additionally, removed unused line --- tests/unit_tests/test_persistent_session.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tests/unit_tests/test_persistent_session.py b/tests/unit_tests/test_persistent_session.py index d0287b4f..0990ce65 100644 --- a/tests/unit_tests/test_persistent_session.py +++ b/tests/unit_tests/test_persistent_session.py @@ -20,13 +20,9 @@ def __init__(self, ping_success: bool = True, name: str = "Test") -> None: self.graphql_url = "Test" self.gateway_url = "Test" - def ping_gateway(self) -> bool: + def check_auth(self) -> bool: return self.ping_success - -TEST_TIME = datetime.datetime(2025, 1, 1, 0, 0, 0) - - @pytest.fixture def persistent_path(tmp_path: Path): From 7e2c71b53d048762ffb9a9339b1028b9f0c017ac Mon Sep 17 00:00:00 2001 From: Jonathan J Navarro Date: Wed, 2 Aug 2023 10:13:00 -0700 Subject: [PATCH 38/55] Add docstring to AerieHostSession's check_auth --- src/aerie_cli/aerie_host.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/aerie_cli/aerie_host.py b/src/aerie_cli/aerie_host.py index 47456530..ff161c45 100644 --- a/src/aerie_cli/aerie_host.py +++ b/src/aerie_cli/aerie_host.py @@ -155,6 +155,11 @@ def post_to_gateway_files(self, file_name: str, file_contents: bytes) -> Dict: raise RuntimeError(f"Error uploading file: {file_name}") def check_auth(self) -> bool: + """Checks if authentication was successful. Looks for errors received after pinging GATEWAY_URL/auth/session. + + Returns: + bool: True if there were no errors in a ping against GATEWAY_URL/auth/session, False otherwise + """ try: resp = self.session.get(self.gateway_url + "/auth/session") except requests.exceptions.ConnectionError: From 9c9ce796df1421f61ae5ae51e64b1c00ee4fb8f4 Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Thu, 31 Aug 2023 14:40:37 -0700 Subject: [PATCH 39/55] Remove activity directive tags --- src/aerie_cli/aerie_client.py | 1 - src/aerie_cli/schemas/api.py | 5 ----- src/aerie_cli/schemas/client.py | 2 -- tests/integration_tests/files/plans/bake_bread_plan.json | 1 - .../integration_tests/files/plans/bake_bread_plan_2.json | 1 - .../files/expected_results/get_activity_plan_by_id.json | 6 ------ .../unit_tests/files/inputs/create_activity_plan_1.json | 6 ------ .../unit_tests/files/inputs/create_activity_plan_2.json | 6 ------ .../unit_tests/files/inputs/get_activity_start_time.json | 9 --------- .../unit_tests/files/mock_responses/create_activity.json | 1 - .../files/mock_responses/create_activity_plan_1.json | 3 --- .../files/mock_responses/create_activity_plan_2.json | 3 --- .../files/mock_responses/get_activity_plan_by_id.json | 8 +------- .../unit_tests/files/mock_responses/update_activity.json | 1 - tests/unit_tests/test_aerie_client.py | 1 - 15 files changed, 1 insertion(+), 53 deletions(-) diff --git a/src/aerie_cli/aerie_client.py b/src/aerie_cli/aerie_client.py index fde442f8..129ebf5b 100644 --- a/src/aerie_cli/aerie_client.py +++ b/src/aerie_cli/aerie_client.py @@ -69,7 +69,6 @@ def get_activity_plan_by_id(self, plan_id: int, full_args: str = None) -> Activi start_offset arguments metadata - tags anchor_id anchored_to_start } diff --git a/src/aerie_cli/schemas/api.py b/src/aerie_cli/schemas/api.py index ba78b078..f2bfa184 100644 --- a/src/aerie_cli/schemas/api.py +++ b/src/aerie_cli/schemas/api.py @@ -38,8 +38,6 @@ def serialize_api(inst: type, field: Attribute, value: Any): return timedelta_to_postgres_interval(value) if isinstance(value, Arrow): return str(value) - if isinstance(value, List) and field.name == "tags": - return "{" + ",".join(value) + "}" return value class ApiSerialize: @@ -67,7 +65,6 @@ class ActivityBase(ApiSerialize): start_offset: timedelta = field( converter = convert_to_time_delta ) - tags: Optional[List[str]] = field(factory=lambda: [], kw_only=True) metadata: Optional[Dict[str, str]] = field(factory=lambda: {}, kw_only=True) name: Optional[str] = field(factory=lambda: "", kw_only=True) arguments: Optional[Dict[str, Any]] = field( @@ -90,11 +87,9 @@ class ApiActivityCreate(ActivityBase): """Format for uploading activity directives Plan ID is added because it's required to be included as part of the activity object. - Tags are encoded to the `text[]` format for GraphQL/Postgres. """ plan_id: int - tags: List[str] @define diff --git a/src/aerie_cli/schemas/client.py b/src/aerie_cli/schemas/client.py index 49d8aea1..bc2f59c5 100644 --- a/src/aerie_cli/schemas/client.py +++ b/src/aerie_cli/schemas/client.py @@ -73,7 +73,6 @@ def to_api_create(self, plan_id: int): start_offset=self.start_offset, arguments=self.arguments, name=self.name, - tags=self.tags, metadata=self.metadata, anchor_id=self.anchor_id, anchored_to_start=self.anchored_to_start @@ -89,7 +88,6 @@ def from_api_read( type=api_activity_read.type, start_offset=api_activity_read.start_offset, arguments=api_activity_read.arguments, - tags=api_activity_read.tags, metadata=api_activity_read.metadata, anchor_id=api_activity_read.anchor_id, anchored_to_start=api_activity_read.anchored_to_start diff --git a/tests/integration_tests/files/plans/bake_bread_plan.json b/tests/integration_tests/files/plans/bake_bread_plan.json index 17a9fa56..e74c55e1 100644 --- a/tests/integration_tests/files/plans/bake_bread_plan.json +++ b/tests/integration_tests/files/plans/bake_bread_plan.json @@ -9,7 +9,6 @@ { "type": "BakeBananaBread", "start_offset": "8:29:33.796000", - "tags": [], "metadata": {}, "name": "BakeBananaBread", "arguments": { diff --git a/tests/integration_tests/files/plans/bake_bread_plan_2.json b/tests/integration_tests/files/plans/bake_bread_plan_2.json index 17a9fa56..e74c55e1 100644 --- a/tests/integration_tests/files/plans/bake_bread_plan_2.json +++ b/tests/integration_tests/files/plans/bake_bread_plan_2.json @@ -9,7 +9,6 @@ { "type": "BakeBananaBread", "start_offset": "8:29:33.796000", - "tags": [], "metadata": {}, "name": "BakeBananaBread", "arguments": { diff --git a/tests/unit_tests/files/expected_results/get_activity_plan_by_id.json b/tests/unit_tests/files/expected_results/get_activity_plan_by_id.json index 84cd0023..c32930a1 100644 --- a/tests/unit_tests/files/expected_results/get_activity_plan_by_id.json +++ b/tests/unit_tests/files/expected_results/get_activity_plan_by_id.json @@ -9,10 +9,6 @@ { "type": "ACT_One", "start_offset": "0:00:00", - "tags": [ - "first_tag", - "second_tag" - ], "metadata": {}, "name": "Anchor", "arguments": {}, @@ -23,7 +19,6 @@ { "type": "ACT_Two", "start_offset": "2:00:00", - "tags": [], "metadata": {}, "name": "Anchored_to_start", "arguments": {}, @@ -34,7 +29,6 @@ { "type": "ACT_Three", "start_offset": "4:00:00", - "tags": [], "metadata": {}, "name": "Anchored_to_end", "arguments": { diff --git a/tests/unit_tests/files/inputs/create_activity_plan_1.json b/tests/unit_tests/files/inputs/create_activity_plan_1.json index 78f35558..101444f1 100644 --- a/tests/unit_tests/files/inputs/create_activity_plan_1.json +++ b/tests/unit_tests/files/inputs/create_activity_plan_1.json @@ -10,10 +10,6 @@ "type": "ACT_One", "arguments": {}, "name": "Anchor", - "tags": [ - "first_tag", - "second_tag" - ], "metadata": {}, "anchor_id": null, "anchored_to_start": true, @@ -24,7 +20,6 @@ "type": "ACT_Two", "arguments": {}, "name": "Anchored_to_start", - "tags": [], "metadata": {}, "anchor_id": 1, "anchored_to_start": true, @@ -37,7 +32,6 @@ "test": "test" }, "name": "Anchored_to_end", - "tags": [], "metadata": {}, "anchor_id": 1, "anchored_to_start": false, diff --git a/tests/unit_tests/files/inputs/create_activity_plan_2.json b/tests/unit_tests/files/inputs/create_activity_plan_2.json index 0ad6cf78..41e36f18 100644 --- a/tests/unit_tests/files/inputs/create_activity_plan_2.json +++ b/tests/unit_tests/files/inputs/create_activity_plan_2.json @@ -10,10 +10,6 @@ "type": "ACT_One", "arguments": {}, "name": "Anchored_1", - "tags": [ - "first_tag", - "second_tag" - ], "metadata": {}, "anchor_id": 2, "anchored_to_start": true, @@ -24,7 +20,6 @@ "type": "ACT_Two", "arguments": {}, "name": "Anchor", - "tags": [], "metadata": {}, "anchor_id": null, "anchored_to_start": true, @@ -37,7 +32,6 @@ "test": "test" }, "name": "Anchored_2", - "tags": [], "metadata": {}, "anchor_id": 1, "anchored_to_start": false, diff --git a/tests/unit_tests/files/inputs/get_activity_start_time.json b/tests/unit_tests/files/inputs/get_activity_start_time.json index 7f032a59..5231291d 100644 --- a/tests/unit_tests/files/inputs/get_activity_start_time.json +++ b/tests/unit_tests/files/inputs/get_activity_start_time.json @@ -10,10 +10,6 @@ "type": "ACT_One", "arguments": {}, "name": "Anchored_1", - "tags": [ - "first_tag", - "second_tag" - ], "metadata": {}, "anchor_id": 2, "anchored_to_start": true, @@ -24,7 +20,6 @@ "type": "ACT_Two", "arguments": {}, "name": "Anchored_to_plan_start", - "tags": [], "metadata": {}, "anchor_id": null, "anchored_to_start": true, @@ -37,7 +32,6 @@ "test": "test" }, "name": "Anchored_2_to_end", - "tags": [], "metadata": {}, "anchor_id": 1, "anchored_to_start": false, @@ -50,7 +44,6 @@ "test": "test" }, "name": "Anchored_2_to_start", - "tags": [], "metadata": {}, "anchor_id": 1, "anchored_to_start": true, @@ -63,7 +56,6 @@ "test": "test" }, "name": "Ancored_to_plan_end", - "tags": [], "metadata": {}, "anchor_id": null, "anchored_to_start": false, @@ -76,7 +68,6 @@ "test": "test" }, "name": "Anchor_no_existo", - "tags": [], "metadata": {}, "anchor_id": 123, "anchored_to_start": true, diff --git a/tests/unit_tests/files/mock_responses/create_activity.json b/tests/unit_tests/files/mock_responses/create_activity.json index 4198a188..312ff2ea 100644 --- a/tests/unit_tests/files/mock_responses/create_activity.json +++ b/tests/unit_tests/files/mock_responses/create_activity.json @@ -6,7 +6,6 @@ "activity": { "type": "NoOp", "start_offset": "0 seconds 0 microseconds", - "tags": "{}", "metadata": {}, "name": "My Activity", "arguments": { diff --git a/tests/unit_tests/files/mock_responses/create_activity_plan_1.json b/tests/unit_tests/files/mock_responses/create_activity_plan_1.json index f3a61ba8..e7cf507a 100644 --- a/tests/unit_tests/files/mock_responses/create_activity_plan_1.json +++ b/tests/unit_tests/files/mock_responses/create_activity_plan_1.json @@ -23,7 +23,6 @@ "activity": { "type": "ACT_One", "start_offset": "0 seconds 0 microseconds", - "tags": "{first_tag,second_tag}", "metadata": {}, "name": "Anchor", "arguments": {}, @@ -44,7 +43,6 @@ "activity": { "type": "ACT_Three", "start_offset": "14400 seconds 0 microseconds", - "tags": "{}", "metadata": {}, "name": "Anchored_to_end", "arguments": { @@ -67,7 +65,6 @@ "activity": { "type": "ACT_Two", "start_offset": "7200 seconds 0 microseconds", - "tags": "{}", "metadata": {}, "name": "Anchored_to_start", "arguments": {}, diff --git a/tests/unit_tests/files/mock_responses/create_activity_plan_2.json b/tests/unit_tests/files/mock_responses/create_activity_plan_2.json index ebbabbaa..8ca85f09 100644 --- a/tests/unit_tests/files/mock_responses/create_activity_plan_2.json +++ b/tests/unit_tests/files/mock_responses/create_activity_plan_2.json @@ -23,7 +23,6 @@ "activity": { "type": "ACT_Two", "start_offset": "7200 seconds 0 microseconds", - "tags": "{}", "metadata": {}, "name": "Anchor", "arguments": {}, @@ -44,7 +43,6 @@ "activity": { "type": "ACT_One", "start_offset": "-3600 seconds 0 microseconds", - "tags": "{first_tag,second_tag}", "metadata": {}, "name": "Anchored_1", "arguments": {}, @@ -65,7 +63,6 @@ "activity": { "type": "ACT_Three", "start_offset": "14400 seconds 0 microseconds", - "tags": "{}", "metadata": {}, "name": "Anchored_2", "arguments": { diff --git a/tests/unit_tests/files/mock_responses/get_activity_plan_by_id.json b/tests/unit_tests/files/mock_responses/get_activity_plan_by_id.json index 9729e70a..4ec7aa9b 100644 --- a/tests/unit_tests/files/mock_responses/get_activity_plan_by_id.json +++ b/tests/unit_tests/files/mock_responses/get_activity_plan_by_id.json @@ -1,7 +1,7 @@ [ { "request": { - "query": "query get_plans ($plan_id: Int!) { plan_by_pk(id: $plan_id) { id model_id name start_time duration simulations{ id } activity_directives(order_by: { start_offset: asc }) { id name type start_offset arguments metadata tags anchor_id anchored_to_start } } }", + "query": "query get_plans ($plan_id: Int!) { plan_by_pk(id: $plan_id) { id model_id name start_time duration simulations{ id } activity_directives(order_by: { start_offset: asc }) { id name type start_offset arguments metadata anchor_id anchored_to_start } } }", "variables": { "plan_id": 1 } @@ -25,10 +25,6 @@ "start_offset": "00:00:00", "arguments": {}, "metadata": {}, - "tags": [ - "first_tag", - "second_tag" - ], "anchor_id": null, "anchored_to_start": true }, @@ -39,7 +35,6 @@ "start_offset": "02:00:00", "arguments": {}, "metadata": {}, - "tags": [], "anchor_id": 1, "anchored_to_start": true }, @@ -52,7 +47,6 @@ "test": "test" }, "metadata": {}, - "tags": [], "anchor_id": 1, "anchored_to_start": false } diff --git a/tests/unit_tests/files/mock_responses/update_activity.json b/tests/unit_tests/files/mock_responses/update_activity.json index 4bdfd123..132f68be 100644 --- a/tests/unit_tests/files/mock_responses/update_activity.json +++ b/tests/unit_tests/files/mock_responses/update_activity.json @@ -8,7 +8,6 @@ "activity": { "type": "NoOp", "start_offset": "0 seconds 0 microseconds", - "tags": "{}", "metadata": {}, "name": "My Activity", "arguments": { diff --git a/tests/unit_tests/test_aerie_client.py b/tests/unit_tests/test_aerie_client.py index 7cdad552..67401971 100644 --- a/tests/unit_tests/test_aerie_client.py +++ b/tests/unit_tests/test_aerie_client.py @@ -120,7 +120,6 @@ def test_create_activity(): "start_offset": "00:00:00", "arguments": {"aParameter": "2030-001T00:00:00Z"}, "name": "My Activity", - "tags": [], "metadata": {}, "anchor_id": None, "anchored_to_start": True, From c7927452d6d15d8c073735e5fa434f164a5a8ff8 Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Thu, 31 Aug 2023 15:14:03 -0700 Subject: [PATCH 40/55] Graceful error handling for persistent session files --- src/aerie_cli/persistent.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/aerie_cli/persistent.py b/src/aerie_cli/persistent.py index 3d3d9cf8..d1a73d0a 100644 --- a/src/aerie_cli/persistent.py +++ b/src/aerie_cli/persistent.py @@ -135,8 +135,11 @@ def _load_active_session(cls) -> None: # Get timestamp of newest session fn = fs[0] - t = datetime.strptime( - fn.name[:-(len('.aerie_cli.session'))], SESSION_TIMESTAMP_FSTRING) + try: + t = datetime.strptime( + fn.name[:-(len('.aerie_cli.session'))], SESSION_TIMESTAMP_FSTRING) + except Exception: + raise RuntimeError(f"Cannot parse session timestamp: {fn.name}. Try deactivating your session.") # If session hasn't been used since timeout, mark as inactive if (datetime.utcnow() - t) > SESSION_TIMEOUT: @@ -144,8 +147,12 @@ def _load_active_session(cls) -> None: raise NoActiveSessionError # Un-pickle the session - with open(fn, 'rb') as fid: - session: AerieHostSession = pickle.load(fid) + try: + with open(fn, 'rb') as fid: + session: AerieHostSession = pickle.load(fid) + except Exception: + fn.unlink() + raise NoActiveSessionError # If gateway ping fails, mark session as inactive if not cls.set_active_session(session): From 07064583f1e49d418edd3fd55e9cdd28aaa7748d Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Thu, 31 Aug 2023 15:20:00 -0700 Subject: [PATCH 41/55] Refactor main app to separate module and move session activate/deactivate commands --- src/aerie_cli/__main__.py | 68 +------------- src/aerie_cli/app.py | 109 +++++++++++++++++++++++ src/aerie_cli/commands/configurations.py | 30 ------- 3 files changed, 113 insertions(+), 94 deletions(-) create mode 100644 src/aerie_cli/app.py diff --git a/src/aerie_cli/__main__.py b/src/aerie_cli/__main__.py index c250c899..fa0e1c7c 100644 --- a/src/aerie_cli/__main__.py +++ b/src/aerie_cli/__main__.py @@ -1,72 +1,12 @@ -"""Command-line interface.""" -import typer +"""Programmatic entrypoint for CLI application. +""" import sys from rich.console import Console -from typing import Optional -from aerie_cli.commands import models -from aerie_cli.commands import plans -from aerie_cli.commands import configurations -from aerie_cli.commands import expansion -from aerie_cli.commands import constraints -from aerie_cli.commands import scheduling -from aerie_cli.commands import metadata -from .persistent import NoActiveSessionError -from aerie_cli.commands.command_context import CommandContext +from aerie_cli.app import app +from aerie_cli.persistent import NoActiveSessionError from aerie_cli.__version__ import __version__ -from aerie_cli.utils.configurations import find_configuration - -app = typer.Typer() -app.add_typer(plans.app, name="plans") -app.add_typer(models.app, name="models") -app.add_typer(configurations.app, name="configurations") -app.add_typer(expansion.app, name="expansion") -app.add_typer(constraints.app, name="constraints") -app.add_typer(scheduling.app, name="scheduling") -app.add_typer(metadata.app, name="metadata") - - -def print_version(print_version: bool): - if print_version: - typer.echo(__version__) - raise typer.Exit() - -def set_alternate_configuration(configuration_identifier: str): - if configuration_identifier == None: - return - found_configuration = find_configuration(configuration_identifier) - - CommandContext.alternate_configuration = found_configuration - -@app.callback() -def app_callback( - version: Optional[bool] = typer.Option( - None, - "--version", - "-v", - callback=print_version, - help="Print Aerie-CLI package version and exit.", - ), - hasura_admin_secret=typer.Option( - default="", - help="Hasura admin secret that will be put in the header of graphql requests.", - ), - configuration=typer.Option( - None, - "--configuration", - "-c", - callback=set_alternate_configuration, - help="Set a configuration to use rather than the persistent configuration.\n\ - Accepts either a configuration name or the path to a configuration json.\n\ - Configuration names are prioritized over paths.", - ), -): - setup_global_command_context(hasura_admin_secret) - - -def setup_global_command_context(hasura_admin_secret: str): - CommandContext.hasura_admin_secret = hasura_admin_secret def main(): diff --git a/src/aerie_cli/app.py b/src/aerie_cli/app.py new file mode 100644 index 00000000..61aa7714 --- /dev/null +++ b/src/aerie_cli/app.py @@ -0,0 +1,109 @@ +"""Main CLI application + +`app` is the CLI application with which all commands, subcommands, and callbacks are registered. +""" +import typer +from typing import Optional + +from aerie_cli.commands import models +from aerie_cli.commands import plans +from aerie_cli.commands import configurations +from aerie_cli.commands import expansion +from aerie_cli.commands import constraints +from aerie_cli.commands import scheduling +from aerie_cli.commands import metadata + +from aerie_cli.commands.command_context import CommandContext +from aerie_cli.__version__ import __version__ +from aerie_cli.utils.configurations import find_configuration +from aerie_cli.persistent import ( + PersistentConfigurationManager, + PersistentSessionManager, +) +from aerie_cli.utils.prompts import select_from_list +from aerie_cli.utils.sessions import start_session_from_configuration + +app = typer.Typer() +app.add_typer(plans.app, name="plans") +app.add_typer(models.app, name="models") +app.add_typer(configurations.app, name="configurations") +app.add_typer(expansion.app, name="expansion") +app.add_typer(constraints.app, name="constraints") +app.add_typer(scheduling.app, name="scheduling") +app.add_typer(metadata.app, name="metadata") + + +def print_version(print_version: bool): + if print_version: + typer.echo(__version__) + raise typer.Exit() + + +def set_alternate_configuration(configuration_identifier: str): + if configuration_identifier == None: + return + found_configuration = find_configuration(configuration_identifier) + + CommandContext.alternate_configuration = found_configuration + + +def setup_global_command_context(hasura_admin_secret: str): + CommandContext.hasura_admin_secret = hasura_admin_secret + + +@app.callback() +def app_callback( + version: Optional[bool] = typer.Option( + None, + "--version", + "-v", + callback=print_version, + help="Print Aerie-CLI package version and exit.", + ), + hasura_admin_secret=typer.Option( + default="", + help="Hasura admin secret that will be put in the header of graphql requests.", + ), + configuration=typer.Option( + None, + "--configuration", + "-c", + callback=set_alternate_configuration, + help="Set a configuration to use rather than the persistent configuration.\n\ + Accepts either a configuration name or the path to a configuration json.\n\ + Configuration names are prioritized over paths.", + ), +): + setup_global_command_context(hasura_admin_secret) + + +@app.command("activate") +def activate_session( + name: str = typer.Option( + None, "--name", "-n", help="Name for this configuration", metavar="NAME" + ) +): + """ + Activate a session with an Aerie host using a given configuration + """ + if name is None: + name = select_from_list( + [c.name for c in PersistentConfigurationManager.get_configurations()] + ) + + conf = PersistentConfigurationManager.get_configuration_by_name(name) + + session = start_session_from_configuration(conf) + PersistentSessionManager.set_active_session(session) + + +@app.command("deactivate") +def deactivate_session(): + """ + Deactivate any active session + """ + name = PersistentSessionManager.unset_active_session() + if name is None: + typer.echo("No active session") + else: + typer.echo(f"Deactivated session: {name}") diff --git a/src/aerie_cli/commands/configurations.py b/src/aerie_cli/commands/configurations.py index 1bcf7772..c00c5db5 100644 --- a/src/aerie_cli/commands/configurations.py +++ b/src/aerie_cli/commands/configurations.py @@ -12,7 +12,6 @@ from aerie_cli.aerie_host import AuthMethod, AerieHostConfiguration from aerie_cli.persistent import PersistentConfigurationManager, PersistentSessionManager, delete_all_persistent_files, NoActiveSessionError, CONFIGURATION_FILE_PATH from aerie_cli.utils.prompts import select_from_list -from aerie_cli.utils.sessions import start_session_from_configuration app = typer.Typer() @@ -136,35 +135,6 @@ def upload_configurations( Console().print(f"Updated configurations: {', '.join(updated_confs)}") -@app.command('activate') -def activate_session( - name: str = typer.Option( - None, '--name', '-n', help='Name for this configuration', metavar='NAME') -): - """ - Activate a session with an Aerie host using a given configuration - """ - if name is None: - name = select_from_list( - [c.name for c in PersistentConfigurationManager.get_configurations()]) - - conf = PersistentConfigurationManager.get_configuration_by_name(name) - - session = start_session_from_configuration(conf) - PersistentSessionManager.set_active_session(session) - - -@app.command('deactivate') -def deactivate_session(): - """ - Deactivate any active session - """ - name = PersistentSessionManager.unset_active_session() - if name is None: - Console().print("No active session") - else: - Console().print(f"Deactivated session: {name}") - @app.command('list') def list_configurations(): From 47e41c3d381decf1c1683989e1f4bec0ea6148af Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Thu, 31 Aug 2023 18:25:43 -0700 Subject: [PATCH 42/55] Remove AuthMethod and implment basic URP support from JWT --- src/aerie_cli/aerie_host.py | 236 ++++++++++++++--------- src/aerie_cli/app.py | 43 ++++- src/aerie_cli/commands/configurations.py | 45 ++--- src/aerie_cli/utils/sessions.py | 16 +- 4 files changed, 205 insertions(+), 135 deletions(-) diff --git a/src/aerie_cli/aerie_host.py b/src/aerie_cli/aerie_host.py index ff161c45..78247355 100644 --- a/src/aerie_cli/aerie_host.py +++ b/src/aerie_cli/aerie_host.py @@ -1,25 +1,59 @@ import json +import requests from copy import deepcopy -from enum import Enum from typing import Dict from typing import Optional +from base64 import b64decode from attrs import define, field -import requests +def process_hasura_response(resp: requests.Response) -> dict: + """Throw a RuntimeError if the Hasura response is malformed or contains errors -class AuthMethod(Enum): - NONE = "None" - AERIE_NATIVE = "Native" - COOKIE = "Cookie" + Args: + resp (requests.Response): Response from a Hasura request - @classmethod - def from_string(cls, string_name: str) -> "AuthMethod": + Returns: + dict: Contents of response JSON + """ + if not resp.ok: + raise RuntimeError(f"Bad response from Hasura.") + + try: + resp_json = resp.json() + except requests.exceptions.JSONDecodeError: + raise RuntimeError(f"Failed to get response JSON") + + if "errors" in resp_json.keys(): + raise RuntimeError(f"GraphQL Error: {json.dumps(resp_json['errors'])}") + elif "success" in resp_json.keys() and not resp_json["success"]: + raise RuntimeError(f"Hasura request was not successful") + + return resp_json + + +class AerieJWT: + def __init__(self, encoded_jwt: str) -> None: + jwt_components = encoded_jwt.split(".") + if not len(jwt_components) == 3: + raise ValueError(f"Invalid JWT: {encoded_jwt}") + + encoded_jwt_payload = b64decode(jwt_components[1] + "==", validate=False) try: - return next(filter(lambda x: x.value == string_name, cls)) - except StopIteration: - raise ValueError(f"Unknown auth method: {string_name}") + payload = json.loads(encoded_jwt_payload) + self.active_role = payload["activeRole"] + self.allowed_roles = payload["https://hasura.io/jwt/claims"][ + "x-hasura-allowed-roles" + ] + + except KeyError: + raise ValueError(f"Missing fields in JWT: {encoded_jwt}") + + except json.decoder.JSONDecodeError: + raise ValueError(f"Cannot decode JWT: {encoded_jwt}") + + self.encoded_jwt = encoded_jwt class AerieHostSession: @@ -33,6 +67,7 @@ class AerieHostSession: def __init__( self, session: requests.Session, + aerie_jwt: AerieJWT, graphql_url: str, gateway_url: str, configuration_name: str = None, @@ -46,6 +81,7 @@ def __init__( configuration_name (str, optional): Name of configuration for this session """ self.session = session + self.aerie_jwt = aerie_jwt self.graphql_url = graphql_url self.gateway_url = gateway_url self.configuration_name = configuration_name @@ -69,31 +105,30 @@ def post_to_graphql(self, query: str, **kwargs) -> Dict: resp = self.session.post( self.graphql_url, json={"query": query, "variables": kwargs}, + headers=self.get_auth_headers(), ) if resp.ok: - if "errors" in resp.json().keys(): - err = resp.json()["errors"] - for error in err: - print(error["message"]) + try: + resp_json = resp.json() + except json.decoder.JSONDecodeError: + raise RuntimeError(f"Failed to process response") + + if "success" in resp_json.keys() and not resp_json["success"]: + raise RuntimeError("GraphQL request was not successful") + elif "errors" in resp_json.keys(): + raise RuntimeError( + f"GraphQL Error: {json.dumps(resp_json['errors'])}" + ) else: - resp_json = resp.json()["data"] - data = next(iter(resp_json.values())) + data = next(iter(resp.json()["data"].values())) if data is None: - raise RuntimeError - - if not resp.ok or ( - resp.ok - and isinstance(data, dict) - and "success" in data - and not data["success"] - ): - raise RuntimeError + raise RuntimeError(f"Failed to process response: {resp}") return data - except Exception as e: + except RuntimeError as e: # Re-raise with additional information e = str(e) @@ -146,7 +181,9 @@ def post_to_gateway_files(self, file_name: str, file_contents: bytes) -> Dict: """ resp = self.session.post( - self.gateway_url + "/file", files={"file": (file_name, file_contents)} + self.gateway_url + "/file", + files={"file": (file_name, file_contents)}, + headers=self.get_auth_headers(), ) if resp.ok: @@ -154,14 +191,47 @@ def post_to_gateway_files(self, file_name: str, file_contents: bytes) -> Dict: else: raise RuntimeError(f"Error uploading file: {file_name}") + def change_role(self, new_role: str) -> None: + """Change role for Aerie interaction + + Args: + new_role (str): String name of new role. + """ + + if new_role not in self.aerie_jwt.allowed_roles: + raise ValueError( + f"Cannot set role {new_role}. Must be one of: {', '.join(self.aerie_jwt.allowed_roles)}" + ) + + resp = self.session.post( + self.gateway_url + "/auth/changeRole", + json={"role": new_role}, + headers=self.get_auth_headers(), + ) + + try: + resp_json = resp.json() + except json.decoder.JSONDecodeError: + raise RuntimeError(f"Bad response") + + if "success" in resp_json.keys() and resp_json["success"]: + try: + self.aerie_jwt = AerieJWT(resp_json["token"]) + except KeyError: + raise RuntimeError + else: + raise RuntimeError(f"Failed to select new role") + def check_auth(self) -> bool: """Checks if authentication was successful. Looks for errors received after pinging GATEWAY_URL/auth/session. - + Returns: bool: True if there were no errors in a ping against GATEWAY_URL/auth/session, False otherwise """ try: - resp = self.session.get(self.gateway_url + "/auth/session") + resp = self.session.get( + self.gateway_url + "/auth/session", headers=self.get_auth_headers() + ) except requests.exceptions.ConnectionError: return False try: @@ -169,64 +239,67 @@ def check_auth(self) -> bool: except Exception: return False + def get_auth_headers(self): + return { + "Authorization": f"Bearer {self.aerie_jwt.encoded_jwt}", + "x-hasura-role": self.aerie_jwt.active_role, + } + @classmethod def session_helper( cls, - auth_method: AuthMethod, + session: requests.Session, graphql_url: str, gateway_url: str, - auth_url: str = None, - username: str = None, + username: str, password: str = None, configuration_name: str = None, ) -> "AerieHostSession": """Helper function to create a session with an Aerie host Args: - auth_method (AuthMethod): Authentication method to use + session: (requests.Session): Browser-like session authenticated to make requests against the Aerie instance graphql_url (str): Route to Graphql API gateway_url (str): Route to Aerie Gateway - auth_url (str, optional): Route to Authentication endpoint. Ignore if no auth. - username (str, optional): Username for Authentication. Ignore if no auth. - password (str, optional): Password for Authentication. Ignore if no auth. + username (str): Username with Aerie + password (str, optional): Password for Authentication. Ignore if authentication is disabled. configuration_name (str, optional): Name of source configuration. Ignore if not instantiating from a config. Returns: - AerieHostSession: HTTP session, with auth headers/cookies if necessary + AerieHostSession: Client-side abstraction for authenticated interactions with Aerie """ - session = requests.Session() - - if auth_method is AuthMethod.NONE: - # If no auth is required, leave the session as-is - pass + # # Check if authentication is enabled on this Aerie host + # resp = session.get(gateway_url + "/auth/user") + # auth_enabled = True + # if resp.ok: + # try: + # resp_json = resp.json() + # if resp_json["message"] == "Authentication is disabled": + # auth_enabled = False + # except (json.decoder.JSONDecodeError, KeyError): + # pass + + # if auth_enabled: + + resp = session.post( + gateway_url + "/auth/login", + json={"username": username, "password": password}, + ) - elif auth_method is AuthMethod.AERIE_NATIVE: - # For aerie native auth, pass the SSO token in query headers - resp = session.post( - auth_url, json={"username": username, "password": password} - ) - if resp.json()["success"]: - if "token" in resp.json().keys(): - token = resp.json().get("token") - if token is not None: # a string token should include prefix - token = "Bearer " + token - session.headers["x-auth-sso-token"] = token - else: - session.headers["x-auth-sso-token"] = resp.json()["ssoToken"] - else: - raise RuntimeError(f"Failed to authenticate at route: {auth_url}") + if resp.ok: + resp_json = resp.json() + else: + raise RuntimeError(f"Bad request. Response: {resp}") - elif auth_method is AuthMethod.COOKIE: - # For cookie auth, simply query the login endpoint w/ credentials which will return the cookie to be stored in the session - session.post(auth_url, json={"username": username, "password": password}) + if not resp_json["success"]: + raise ValueError(f"Failed to authenticate") - else: - raise RuntimeError( - f"No logic to generate an Aerie host session for auth method: {auth_method}" - ) + aerie_jwt = AerieJWT(resp_json["token"]) - aerie_session = cls(session, graphql_url, gateway_url, configuration_name) + aerie_session = cls( + session, aerie_jwt, graphql_url, gateway_url, configuration_name + ) if not aerie_session.check_auth(): raise RuntimeError(f"Failed to open session") @@ -235,15 +308,11 @@ def session_helper( @define -class AerieHostConfiguration: +class AerieHostConfiguration: # TODO add proxy information; make password optional? name: str graphql_url: str gateway_url: str - auth_method: AuthMethod - auth_url: str = None - username: Optional[str] = field( - default=None - ) + username: Optional[str] = field(default=None) @classmethod def from_dict(cls, config: Dict) -> "AerieHostConfiguration": @@ -251,34 +320,24 @@ def from_dict(cls, config: Dict) -> "AerieHostConfiguration": name = config["name"] graphql_url = config["graphql_url"] gateway_url = config["gateway_url"] - auth_method = AuthMethod.from_string(config["auth_method"]) - - if auth_method == AuthMethod.NONE: - auth_url = None - username = None + if "username" in config.keys(): + username = config["username"] else: - auth_url = config["auth_url"] - if "username" in config.keys(): - username = config["username"] - else: - username = None + username = None except KeyError as e: raise ValueError(f"Configuration missing required field: {e.args[0]}") - return cls(name, graphql_url, gateway_url, auth_method, auth_url, username) + return cls(name, graphql_url, gateway_url, username) def to_dict(self) -> Dict: retval = { "name": self.name, "graphql_url": self.graphql_url, "gateway_url": self.gateway_url, - "auth_method": self.auth_method.value, } - if self.auth_method != AuthMethod.NONE: - retval["auth_url"] = self.auth_url - retval["username"] = self.username + retval["username"] = self.username return retval @@ -293,10 +352,9 @@ def start_session(self, username=None, password: str = None) -> AerieHostSession AerieHostSession """ return AerieHostSession.session_helper( - self.auth_method, + requests.Session(), self.graphql_url, self.gateway_url, - self.auth_url, username if username else self.username, password, self.name, diff --git a/src/aerie_cli/app.py b/src/aerie_cli/app.py index 61aa7714..c1207dff 100644 --- a/src/aerie_cli/app.py +++ b/src/aerie_cli/app.py @@ -15,13 +15,16 @@ from aerie_cli.commands.command_context import CommandContext from aerie_cli.__version__ import __version__ -from aerie_cli.utils.configurations import find_configuration from aerie_cli.persistent import ( PersistentConfigurationManager, PersistentSessionManager, ) from aerie_cli.utils.prompts import select_from_list -from aerie_cli.utils.sessions import start_session_from_configuration +from aerie_cli.utils.sessions import ( + start_session_from_configuration, + get_active_session_client, +) +from aerie_cli.utils.configurations import find_configuration app = typer.Typer() app.add_typer(plans.app, name="plans") @@ -107,3 +110,39 @@ def deactivate_session(): typer.echo("No active session") else: typer.echo(f"Deactivated session: {name}") + + +@app.command("role") +def change_role( + role: str = typer.Option( + None, "--role", "-r", help="New role to selec", metavar="ROLE" + ) +): + """ + Change Aerie permissions role for the active session + """ + client = get_active_session_client() + + if role is None: + typer.echo(f"Active Role: {client.host_session.aerie_jwt.active_role}") + role = select_from_list(client.host_session.aerie_jwt.allowed_roles) + + client.host_session.change_role(role) + + PersistentSessionManager.set_active_session(client.host_session) + + typer.echo(f"Changed role to: {client.host_session.aerie_jwt.active_role}") + + +@app.command("status") +def print_status(): + """ + Returns information about the current Aerie session. + """ + + client = CommandContext.get_client() + + if client.host_session.configuration_name: + typer.echo(f"Active configuration: {client.host_session.configuration_name}") + + typer.echo(f"Active role: {client.host_session.aerie_jwt.active_role}") diff --git a/src/aerie_cli/commands/configurations.py b/src/aerie_cli/commands/configurations.py index c00c5db5..23ffbe81 100644 --- a/src/aerie_cli/commands/configurations.py +++ b/src/aerie_cli/commands/configurations.py @@ -9,7 +9,7 @@ from rich.console import Console from rich.table import Table -from aerie_cli.aerie_host import AuthMethod, AerieHostConfiguration +from aerie_cli.aerie_host import AerieHostConfiguration from aerie_cli.persistent import PersistentConfigurationManager, PersistentSessionManager, delete_all_persistent_files, NoActiveSessionError, CONFIGURATION_FILE_PATH from aerie_cli.utils.prompts import select_from_list @@ -24,13 +24,6 @@ def create_configuration( ..., prompt='GraphQL URL', help='URL of GraphQL API endpoint', metavar='GRAPHQL_URL'), gateway_url: str = typer.Option( ..., prompt='Gateway URL', help='URL of Aerie Gateway', metavar='GATEWAY_URL'), - auth_method: AuthMethod = typer.Option( - 'None', prompt='Authentication method', help='Authentication method', - case_sensitive=False - ), - auth_url: str = typer.Option( - None, help='URL of Authentication endpoint', metavar='AUTH_URL' - ), username: str = typer.Option( None, help='Username for authentication', metavar='USERNAME' ) @@ -38,18 +31,13 @@ def create_configuration( """ Define a configuration for an Aerie host """ - # Auth-only fields - if auth_method is not AuthMethod.NONE: - if auth_url is None: - auth_url = typer.prompt('URL of Authentication endpoint') - if username is None: - if typer.confirm('Specify username'): - username = typer.prompt('Username') - else: - username = None + if typer.confirm('Specify username'): + username = typer.prompt('Username') + else: + username = None conf = AerieHostConfiguration( - name, graphql_url, gateway_url, auth_method, auth_url, username) + name, graphql_url, gateway_url, username) PersistentConfigurationManager.create_configuration(conf) @@ -75,18 +63,10 @@ def update_configuration( 'Url of GraphQL API endpoint', conf.graphql_url) conf.gateway_url = typer.prompt('Url of Aerie Gateway', conf.gateway_url) - # Prompt user to select an auth method - auth_methods = [e.value for e in AuthMethod] - conf.auth_method = AuthMethod.from_string(select_from_list(auth_methods)) - - # Auth-only fields - if conf.auth_method is not AuthMethod.NONE: - conf.auth_url = typer.prompt( - 'URL of Authentication endpoint', conf.auth_url) - if typer.confirm('Specify username', default=(conf.username is None)): - conf.username = typer.prompt('Username') - else: - conf.username = None + if typer.confirm('Specify username', default=(conf.username is None)): + conf.username = typer.prompt('Username') + else: + conf.username = None PersistentConfigurationManager.update_configuration(conf) @@ -135,7 +115,6 @@ def upload_configurations( Console().print(f"Updated configurations: {', '.join(updated_confs)}") - @app.command('list') def list_configurations(): """ @@ -157,7 +136,6 @@ def list_configurations(): table.add_column('Host Name', no_wrap=True) table.add_column('GraphQL API URL', no_wrap=True) table.add_column('Aerie Gateway URL', no_wrap=True) - table.add_column('Authentication Method', no_wrap=True) table.add_column('Username', no_wrap=True) for c in PersistentConfigurationManager.get_configurations(): if c.name == active_config: @@ -168,7 +146,6 @@ def list_configurations(): c.name, c.graphql_url, c.gateway_url, - c.auth_method.value, c.username if c.username else "", style=style ) @@ -214,4 +191,4 @@ def delete_all_files( delete_all_persistent_files() # Update the PersistentConfigurationManager's cached configurations to account for the clean PersistentSessionManager.reset() - PersistentConfigurationManager.reset() \ No newline at end of file + PersistentConfigurationManager.reset() diff --git a/src/aerie_cli/utils/sessions.py b/src/aerie_cli/utils/sessions.py index a2ec0508..8fcd7073 100644 --- a/src/aerie_cli/utils/sessions.py +++ b/src/aerie_cli/utils/sessions.py @@ -1,7 +1,7 @@ import requests import typer -from aerie_cli.aerie_host import AerieHostSession, AerieHostConfiguration, AuthMethod +from aerie_cli.aerie_host import AerieHostSession, AerieHostConfiguration from aerie_cli.aerie_client import AerieClient from aerie_cli.persistent import PersistentSessionManager @@ -73,14 +73,10 @@ def get_preauthenticated_client_cookie(cookie_name: str, cookie_value: str, grap return AerieClient(aerie_session) def start_session_from_configuration(configuration: AerieHostConfiguration): - if configuration.auth_method != AuthMethod.NONE: - if configuration.username is None: - username = typer.prompt('Username') - else: - username = configuration.username - password = typer.prompt('Password', hide_input=True) + if configuration.username is None: + username = typer.prompt('Username') else: - username = None - password = None + username = configuration.username + password = typer.prompt('Password', hide_input=True) - return configuration.start_session(username, password) \ No newline at end of file + return configuration.start_session(username, password) From 43a2c1254e58c8a58fd67ceb87621c77054f56f7 Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Fri, 1 Sep 2023 16:00:03 -0700 Subject: [PATCH 43/55] Set hasura role with admin secret --- src/aerie_cli/commands/command_context.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/aerie_cli/commands/command_context.py b/src/aerie_cli/commands/command_context.py index 8819a540..8f505663 100644 --- a/src/aerie_cli/commands/command_context.py +++ b/src/aerie_cli/commands/command_context.py @@ -32,5 +32,6 @@ def get_client(cls) -> AerieClient: if cls.hasura_admin_secret: client.host_session.session.headers["x-hasura-admin-secret"] = cls.hasura_admin_secret + client.host_session.session.headers["x-hasura-role"] = "aerie_admin" - return client \ No newline at end of file + return client From 569f8d406788867336fc4a0740779f300bb2b714 Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Thu, 31 Aug 2023 18:29:10 -0700 Subject: [PATCH 44/55] Optionally specify role when activating a session --- src/aerie_cli/app.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/aerie_cli/app.py b/src/aerie_cli/app.py index c1207dff..3b75cfed 100644 --- a/src/aerie_cli/app.py +++ b/src/aerie_cli/app.py @@ -84,6 +84,9 @@ def app_callback( def activate_session( name: str = typer.Option( None, "--name", "-n", help="Name for this configuration", metavar="NAME" + ), + role: str = typer.Option( + None, "--role", "-r", help="Specify a non-default role", metavar="ROLE" ) ): """ @@ -97,6 +100,13 @@ def activate_session( conf = PersistentConfigurationManager.get_configuration_by_name(name) session = start_session_from_configuration(conf) + + if role is not None: + if role in session.aerie_jwt.allowed_roles: + session.change_role(role) + else: + typer.echo(f"Role {role} not in allowed roles") + PersistentSessionManager.set_active_session(session) From af05b4e45fb08554e07e0dd37e1e179b8789c065 Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Fri, 1 Sep 2023 08:36:59 -0700 Subject: [PATCH 45/55] Refactor authentication from session_helper to util method; added HostSession methods that abstract auth behaviors --- src/aerie_cli/aerie_host.py | 124 ++++++++++---------------------- src/aerie_cli/utils/sessions.py | 37 ++++++++-- 2 files changed, 72 insertions(+), 89 deletions(-) diff --git a/src/aerie_cli/aerie_host.py b/src/aerie_cli/aerie_host.py index 78247355..51fd27e1 100644 --- a/src/aerie_cli/aerie_host.py +++ b/src/aerie_cli/aerie_host.py @@ -67,7 +67,6 @@ class AerieHostSession: def __init__( self, session: requests.Session, - aerie_jwt: AerieJWT, graphql_url: str, gateway_url: str, configuration_name: str = None, @@ -81,10 +80,10 @@ def __init__( configuration_name (str, optional): Name of configuration for this session """ self.session = session - self.aerie_jwt = aerie_jwt self.graphql_url = graphql_url self.gateway_url = gateway_url self.configuration_name = configuration_name + self.aerie_jwt = None def post_to_graphql(self, query: str, **kwargs) -> Dict: """Issue a post request to the Aerie instance GraphQL API @@ -210,24 +209,23 @@ def change_role(self, new_role: str) -> None: ) try: - resp_json = resp.json() - except json.decoder.JSONDecodeError: - raise RuntimeError(f"Bad response") - - if "success" in resp_json.keys() and resp_json["success"]: - try: - self.aerie_jwt = AerieJWT(resp_json["token"]) - except KeyError: - raise RuntimeError - else: + resp_json = process_hasura_response(resp) + self.aerie_jwt = AerieJWT(resp_json["token"]) + except (RuntimeError, KeyError): raise RuntimeError(f"Failed to select new role") def check_auth(self) -> bool: - """Checks if authentication was successful. Looks for errors received after pinging GATEWAY_URL/auth/session. + """Checks if session is correctly authenticated with Aerie host + + Looks for errors received after pinging GATEWAY_URL/auth/session. + Also returns False if the session has not yet been authenticated (no JWT). Returns: bool: True if there were no errors in a ping against GATEWAY_URL/auth/session, False otherwise """ + if self.aerie_jwt is None: + return False + try: resp = self.session.get( self.gateway_url + "/auth/session", headers=self.get_auth_headers() @@ -245,70 +243,46 @@ def get_auth_headers(self): "x-hasura-role": self.aerie_jwt.active_role, } - @classmethod - def session_helper( - cls, - session: requests.Session, - graphql_url: str, - gateway_url: str, - username: str, - password: str = None, - configuration_name: str = None, - ) -> "AerieHostSession": - """Helper function to create a session with an Aerie host - - Args: - session: (requests.Session): Browser-like session authenticated to make requests against the Aerie instance - graphql_url (str): Route to Graphql API - gateway_url (str): Route to Aerie Gateway - username (str): Username with Aerie - password (str, optional): Password for Authentication. Ignore if authentication is disabled. - configuration_name (str, optional): Name of source configuration. Ignore if not instantiating from a config. + def is_auth_enabled(self) -> bool: + """Check if authentication is enabled on an Aerie host Returns: - AerieHostSession: Client-side abstraction for authenticated interactions with Aerie + bool: False if authentication is disabled, otherwise True """ - - # # Check if authentication is enabled on this Aerie host - # resp = session.get(gateway_url + "/auth/user") - # auth_enabled = True - # if resp.ok: - # try: - # resp_json = resp.json() - # if resp_json["message"] == "Authentication is disabled": - # auth_enabled = False - # except (json.decoder.JSONDecodeError, KeyError): - # pass - - # if auth_enabled: - - resp = session.post( - gateway_url + "/auth/login", - json={"username": username, "password": password}, - ) - + resp = self.session.get(self.gateway_url + "/auth/user") if resp.ok: - resp_json = resp.json() - else: - raise RuntimeError(f"Bad request. Response: {resp}") + try: + resp_json = resp.json() + if ( + "message" in resp_json.keys() + and resp_json["message"] == "Authentication is disabled" + ): + return False + except requests.exceptions.JSONDecodeError: + pass - if not resp_json["success"]: - raise ValueError(f"Failed to authenticate") + return True - aerie_jwt = AerieJWT(resp_json["token"]) + def authenticate(self, username: str, password: str = None): - aerie_session = cls( - session, aerie_jwt, graphql_url, gateway_url, configuration_name + resp = self.session.post( + self.gateway_url + "/auth/login", + json={"username": username, "password": password}, ) - if not aerie_session.check_auth(): - raise RuntimeError(f"Failed to open session") + try: + resp_json = process_hasura_response(resp) + except RuntimeError: + raise RuntimeError("Failed to authenticate") - return aerie_session + self.aerie_jwt = AerieJWT(resp_json["token"]) + + if not self.check_auth(): + raise RuntimeError(f"Failed to open session") @define -class AerieHostConfiguration: # TODO add proxy information; make password optional? +class AerieHostConfiguration: # TODO add proxy information name: str graphql_url: str gateway_url: str @@ -335,27 +309,7 @@ def to_dict(self) -> Dict: "name": self.name, "graphql_url": self.graphql_url, "gateway_url": self.gateway_url, + "username": self.username } - retval["username"] = self.username - return retval - - def start_session(self, username=None, password: str = None) -> AerieHostSession: - """Start an Aerie host session from this configuration - - Args: - username (str, optional): Override stored username. Defaults to None. - password (str, optional): Provide a password, if necessary. Defaults to None. - - Returns: - AerieHostSession - """ - return AerieHostSession.session_helper( - requests.Session(), - self.graphql_url, - self.gateway_url, - username if username else self.username, - password, - self.name, - ) diff --git a/src/aerie_cli/utils/sessions.py b/src/aerie_cli/utils/sessions.py index 8fcd7073..795ae461 100644 --- a/src/aerie_cli/utils/sessions.py +++ b/src/aerie_cli/utils/sessions.py @@ -72,11 +72,40 @@ def get_preauthenticated_client_cookie(cookie_name: str, cookie_value: str, grap raise RuntimeError(f"Failed to connect to host") return AerieClient(aerie_session) -def start_session_from_configuration(configuration: AerieHostConfiguration): +def start_session_from_configuration( + configuration: AerieHostConfiguration, username: str = None, password: str = None +): + """Start and authenticate an Aerie Host session, with prompts if necessary + + If username is not provided, it will be requested via CLI prompt. + + If password is not provided but the Aerie instance has authentication enabled, it will be requested via CLI prompt. + If the Aerie instance has authentication disabled, a password is not necessary. + + Args: + configuration (AerieHostConfiguration): Configuration of host to connect + username (str, optional): Aerie username. + password (str, optional): Aerie password. + + Returns: + AerieHostSession: + """ + + hs = AerieHostSession( + requests.Session(), + configuration.graphql_url, + configuration.gateway_url, + configuration.name, + ) + if configuration.username is None: - username = typer.prompt('Username') + username = typer.prompt("Username") else: username = configuration.username - password = typer.prompt('Password', hide_input=True) - return configuration.start_session(username, password) + if password is None and hs.is_auth_enabled(): + password = typer.prompt("Password", hide_input=True) + + hs.authenticate(username, password) + + return hs From 272e79f7c0457bb646b96b1f1635beed4bf2629e Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Fri, 1 Sep 2023 11:12:05 -0700 Subject: [PATCH 46/55] Add support for external auth --- src/aerie_cli/aerie_host.py | 53 +++++++++++++++--- src/aerie_cli/commands/configurations.py | 2 +- src/aerie_cli/utils/sessions.py | 68 ++++++++++++++++++++++-- 3 files changed, 109 insertions(+), 14 deletions(-) diff --git a/src/aerie_cli/aerie_host.py b/src/aerie_cli/aerie_host.py index 51fd27e1..695b87ca 100644 --- a/src/aerie_cli/aerie_host.py +++ b/src/aerie_cli/aerie_host.py @@ -282,11 +282,45 @@ def authenticate(self, username: str, password: str = None): @define -class AerieHostConfiguration: # TODO add proxy information +class ExternalAuthConfiguration: + """Configure additional external authentication necessary for connecting to an Aerie host. + + Define configuration for a server which can provide additional authentication via cookies. + + auth_url (str): URL to send request for authentication + static_post_vars (dict[str, str]): key-value constants to include in the post request variables + secret_post_vars (list[str]): keys for secret values to include in the post request variables + """ + auth_url: str + static_post_vars: dict + secret_post_vars: list + + @classmethod + def from_dict(cls, config: Dict) -> "ExternalAuthConfiguration": + try: + auth_url = config["auth_url"] + static_post_vars = config["static_post_vars"] + secret_post_vars = config["secret_post_vars"] + + except KeyError as e: + raise ValueError(f"External auth configuration missing required field: {e.args[0]}") + + if not isinstance(static_post_vars, dict): + raise ValueError("Invalid value for 'static_post_vars' in external auth configuration") + + if not isinstance(secret_post_vars, list): + raise ValueError("Invalid value for 'secret_post_vars' in external auth configuration") + + return cls(auth_url, static_post_vars, secret_post_vars) + + +@define +class AerieHostConfiguration: name: str graphql_url: str gateway_url: str username: Optional[str] = field(default=None) + external_auth: Optional[ExternalAuthConfiguration] = field(default=None) @classmethod def from_dict(cls, config: Dict) -> "AerieHostConfiguration": @@ -294,22 +328,25 @@ def from_dict(cls, config: Dict) -> "AerieHostConfiguration": name = config["name"] graphql_url = config["graphql_url"] gateway_url = config["gateway_url"] - if "username" in config.keys(): - username = config["username"] - else: - username = None + username = config["username"] if "username" in config.keys() else None + external_auth = ExternalAuthConfiguration.from_dict(config["external_auth"]) if "external_auth" in config.keys() else None except KeyError as e: raise ValueError(f"Configuration missing required field: {e.args[0]}") - return cls(name, graphql_url, gateway_url, username) + return cls(name, graphql_url, gateway_url, username, external_auth) def to_dict(self) -> Dict: retval = { "name": self.name, "graphql_url": self.graphql_url, - "gateway_url": self.gateway_url, - "username": self.username + "gateway_url": self.gateway_url } + if self.username is not None: + retval["username"] = self.username + + if self.external_auth is not None: + retval["external_auth"] = self.external_auth + return retval diff --git a/src/aerie_cli/commands/configurations.py b/src/aerie_cli/commands/configurations.py index 23ffbe81..e4f5ad53 100644 --- a/src/aerie_cli/commands/configurations.py +++ b/src/aerie_cli/commands/configurations.py @@ -41,7 +41,7 @@ def create_configuration( PersistentConfigurationManager.create_configuration(conf) -@app.command('update') +@app.command('update') # TODO update to edit the latest configurations format def update_configuration( name: str = typer.Option( None, '--name', '-n', help='Name of the configuration to update', metavar='NAME' diff --git a/src/aerie_cli/utils/sessions.py b/src/aerie_cli/utils/sessions.py index 795ae461..1281334d 100644 --- a/src/aerie_cli/utils/sessions.py +++ b/src/aerie_cli/utils/sessions.py @@ -1,7 +1,9 @@ import requests +from typing import Dict import typer +from copy import deepcopy -from aerie_cli.aerie_host import AerieHostSession, AerieHostConfiguration +from aerie_cli.aerie_host import AerieHostSession, AerieHostConfiguration, ExternalAuthConfiguration from aerie_cli.aerie_client import AerieClient from aerie_cli.persistent import PersistentSessionManager @@ -72,8 +74,54 @@ def get_preauthenticated_client_cookie(cookie_name: str, cookie_value: str, grap raise RuntimeError(f"Failed to connect to host") return AerieClient(aerie_session) + +def authenticate_with_external( + configuration: ExternalAuthConfiguration, secret_post_vars: Dict[str, str] = None +) -> requests.Session: + """Authenticate requests.Session object with an external service + + Send a post request with static and secret variables defined in `configuration` to `auth_url`. + Cookies returned from the request are stored in the returned requests.Session object. + + Args: + configuration (ProxyConfiguration): Proxy server configuration + secret_post_vars (Dict[str, str], optional): Optionally provide values for some or all secret post request variable values. Defaults to None. + + Raises: + RuntimeError: Failure to authenticate with proxy + + Returns: + requests.Session: Session with any cookies acquired for proxy authentication + """ + + session = requests.Session() + + post_vars = deepcopy(configuration.static_post_vars) + + if secret_post_vars is None: + secret_post_vars = {} + + for secret_var_name in configuration.secret_post_vars: + if secret_var_name in secret_post_vars.keys(): + post_vars[secret_var_name] = secret_post_vars[secret_var_name] + else: + post_vars[secret_var_name] = typer.prompt(f"External authentication - {secret_var_name}", hide_input=True) + + resp = session.post(configuration.auth_url, json=post_vars) + + if not resp.ok: + raise RuntimeError( + f"Failed to authenticate with proxy: {configuration.auth_url}" + ) + + return session + + def start_session_from_configuration( - configuration: AerieHostConfiguration, username: str = None, password: str = None + configuration: AerieHostConfiguration, + username: str = None, + password: str = None, + secret_post_vars: Dict[str, str] = None ): """Start and authenticate an Aerie Host session, with prompts if necessary @@ -82,29 +130,39 @@ def start_session_from_configuration( If password is not provided but the Aerie instance has authentication enabled, it will be requested via CLI prompt. If the Aerie instance has authentication disabled, a password is not necessary. + If external authentication is specified in the configuration, `secret_post_vars` can be used to pass in + credentials. If external auth is specified with secrets and matching credentials aren't provided, they will be + requested via CLI prompt. + Args: configuration (AerieHostConfiguration): Configuration of host to connect username (str, optional): Aerie username. password (str, optional): Aerie password. + secret_post_vars (Dict[str, str], optional): Optionally provide values for some or all secret post request variable values. Defaults to None. Returns: AerieHostSession: """ + if configuration.external_auth is None: + session = requests.Session() + else: + session = authenticate_with_external(configuration.external_auth, secret_post_vars) + hs = AerieHostSession( - requests.Session(), + session, configuration.graphql_url, configuration.gateway_url, configuration.name, ) if configuration.username is None: - username = typer.prompt("Username") + username = typer.prompt("Aerie Username") else: username = configuration.username if password is None and hs.is_auth_enabled(): - password = typer.prompt("Password", hide_input=True) + password = typer.prompt("Aerie Password", hide_input=True) hs.authenticate(username, password) From d5f1519821c54e75916a54ef3d83a3adb0aaf35e Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Fri, 1 Sep 2023 12:15:00 -0700 Subject: [PATCH 47/55] Temporarily remove configurations update command --- src/aerie_cli/commands/configurations.py | 57 ++++++++++++------------ 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/src/aerie_cli/commands/configurations.py b/src/aerie_cli/commands/configurations.py index e4f5ad53..f106536e 100644 --- a/src/aerie_cli/commands/configurations.py +++ b/src/aerie_cli/commands/configurations.py @@ -41,34 +41,35 @@ def create_configuration( PersistentConfigurationManager.create_configuration(conf) -@app.command('update') # TODO update to edit the latest configurations format -def update_configuration( - name: str = typer.Option( - None, '--name', '-n', help='Name of the configuration to update', metavar='NAME' - ) -): - """ - Update an existing configuration for an Aerie host - """ - - # Give user prompt if no name is given - if name is None: - name = select_from_list( - [c.name for c in PersistentConfigurationManager.get_configurations()]) - - # Get corresponding configuration - conf = PersistentConfigurationManager.get_configuration_by_name(name) - - conf.graphql_url = typer.prompt( - 'Url of GraphQL API endpoint', conf.graphql_url) - conf.gateway_url = typer.prompt('Url of Aerie Gateway', conf.gateway_url) - - if typer.confirm('Specify username', default=(conf.username is None)): - conf.username = typer.prompt('Username') - else: - conf.username = None - - PersistentConfigurationManager.update_configuration(conf) +# TODO either pull this command if it doesn't see regular use, or update to support the latest config format +# @app.command('update') +# def update_configuration( +# name: str = typer.Option( +# None, '--name', '-n', help='Name of the configuration to update', metavar='NAME' +# ) +# ): +# """ +# Update an existing configuration for an Aerie host +# """ + +# # Give user prompt if no name is given +# if name is None: +# name = select_from_list( +# [c.name for c in PersistentConfigurationManager.get_configurations()]) + +# # Get corresponding configuration +# conf = PersistentConfigurationManager.get_configuration_by_name(name) + +# conf.graphql_url = typer.prompt( +# 'Url of GraphQL API endpoint', conf.graphql_url) +# conf.gateway_url = typer.prompt('Url of Aerie Gateway', conf.gateway_url) + +# if typer.confirm('Specify username', default=(conf.username is None)): +# conf.username = typer.prompt('Username') +# else: +# conf.username = None + +# PersistentConfigurationManager.update_configuration(conf) @app.command('load') From 60574abe46df068fe89d09a98082e0cc14e6fa27 Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Fri, 1 Sep 2023 12:27:14 -0700 Subject: [PATCH 48/55] Update helper function, make session optional in AerieHostSession constructor --- src/aerie_cli/aerie_host.py | 24 +++++++++++------------- src/aerie_cli/utils/sessions.py | 31 +++++++++++++++---------------- 2 files changed, 26 insertions(+), 29 deletions(-) diff --git a/src/aerie_cli/aerie_host.py b/src/aerie_cli/aerie_host.py index 695b87ca..af3dd54b 100644 --- a/src/aerie_cli/aerie_host.py +++ b/src/aerie_cli/aerie_host.py @@ -8,27 +8,25 @@ from attrs import define, field -def process_hasura_response(resp: requests.Response) -> dict: - """Throw a RuntimeError if the Hasura response is malformed or contains errors +def process_gateway_response(resp: requests.Response) -> dict: + """Throw a RuntimeError if the Gateway response is malformed or contains errors Args: - resp (requests.Response): Response from a Hasura request + resp (requests.Response): from a request to the gateway Returns: dict: Contents of response JSON """ if not resp.ok: - raise RuntimeError(f"Bad response from Hasura.") + raise RuntimeError(f"Bad response from Aerie Gateway.") try: resp_json = resp.json() except requests.exceptions.JSONDecodeError: raise RuntimeError(f"Failed to get response JSON") - if "errors" in resp_json.keys(): - raise RuntimeError(f"GraphQL Error: {json.dumps(resp_json['errors'])}") - elif "success" in resp_json.keys() and not resp_json["success"]: - raise RuntimeError(f"Hasura request was not successful") + if "success" in resp_json.keys() and not resp_json["success"]: + raise RuntimeError(f"Aerie Gateway request was not successful") return resp_json @@ -66,20 +64,20 @@ class AerieHostSession: def __init__( self, - session: requests.Session, graphql_url: str, gateway_url: str, + session: requests.Session = None, configuration_name: str = None, ) -> None: """ Args: - session (requests.Session): HTTP session, with auth headers/cookies if necessary graphql_url (str): Route to Aerie host's GraphQL API gateway_url (str): Route to Aerie Gateway + session (requests.Session, optional): Session with headers/cookies for external authentication configuration_name (str, optional): Name of configuration for this session """ - self.session = session + self.session = session if session else requests.Session() self.graphql_url = graphql_url self.gateway_url = gateway_url self.configuration_name = configuration_name @@ -209,7 +207,7 @@ def change_role(self, new_role: str) -> None: ) try: - resp_json = process_hasura_response(resp) + resp_json = process_gateway_response(resp) self.aerie_jwt = AerieJWT(resp_json["token"]) except (RuntimeError, KeyError): raise RuntimeError(f"Failed to select new role") @@ -271,7 +269,7 @@ def authenticate(self, username: str, password: str = None): ) try: - resp_json = process_hasura_response(resp) + resp_json = process_gateway_response(resp) except RuntimeError: raise RuntimeError("Failed to authenticate") diff --git a/src/aerie_cli/utils/sessions.py b/src/aerie_cli/utils/sessions.py index 1281334d..e700fdb7 100644 --- a/src/aerie_cli/utils/sessions.py +++ b/src/aerie_cli/utils/sessions.py @@ -3,7 +3,7 @@ import typer from copy import deepcopy -from aerie_cli.aerie_host import AerieHostSession, AerieHostConfiguration, ExternalAuthConfiguration +from aerie_cli.aerie_host import AerieHostSession, AerieHostConfiguration, ExternalAuthConfiguration, AerieJWT from aerie_cli.aerie_client import AerieClient from aerie_cli.persistent import PersistentSessionManager @@ -21,19 +21,17 @@ def get_active_session_client(): def get_localhost_client() -> AerieClient: - session = requests.Session() - aerie_session = AerieHostSession( - session, "http://localhost:8080/v1/graphql", "http://localhost:9000") + aerie_session = AerieHostSession("http://localhost:8080/v1/graphql", "http://localhost:9000") if not aerie_session.ping_gateway(): raise RuntimeError(f"Failed to connect to host") return AerieClient(aerie_session) -def get_preauthenticated_client_native(sso_token: str, graphql_url: str, gateway_url: str) -> AerieClient: - """Get AerieClient instance preauthenticated with native Aerie SSO auth +def get_preauthenticated_client_native(encoded_jwt: str, graphql_url: str, gateway_url: str) -> AerieClient: + """Get AerieClient instance preauthenticated with native Aerie JWT auth Args: - sso_token (str): SSO Token for Aerie authentication + encoded_jwt (str): base64-encoded JWT graphql_url (str) gateway_url (str) @@ -43,20 +41,20 @@ def get_preauthenticated_client_native(sso_token: str, graphql_url: str, gateway Returns: AerieClient """ - session = requests.Session() - session.headers['x-auth-sso-token'] = sso_token - aerie_session = AerieHostSession(session, graphql_url, gateway_url) - if not aerie_session.ping_gateway(): + aerie_session = AerieHostSession(graphql_url, gateway_url) + aerie_session.aerie_jwt = AerieJWT(encoded_jwt) + if not aerie_session.check_auth(): raise RuntimeError(f"Failed to connect to host") return AerieClient(aerie_session) -def get_preauthenticated_client_cookie(cookie_name: str, cookie_value: str, graphql_url: str, gateway_url: str) -> AerieClient: - """Get AerieClient instance preauthenticated with a cookie +def get_preauthenticated_client_cookie(cookie_name: str, cookie_value: str, encoded_jwt: str, graphql_url: str, gateway_url: str) -> AerieClient: + """Get AerieClient instance preauthenticated with an external cookie and JWT Args: cookie_name (str): Name of cookie cookie_value (str): Value of cookie + encoded_jwt (str): base64-encoded JWT graphql_url (str) gateway_url (str) @@ -69,8 +67,9 @@ def get_preauthenticated_client_cookie(cookie_name: str, cookie_value: str, grap session = requests.Session() session.cookies = requests.cookies.cookiejar_from_dict( {cookie_name: cookie_value}) - aerie_session = AerieHostSession(session, graphql_url, gateway_url) - if not aerie_session.ping_gateway(): + aerie_session = AerieHostSession(graphql_url, gateway_url, session=session) + aerie_session.aerie_jwt = AerieJWT(encoded_jwt) + if not aerie_session.check_auth(): raise RuntimeError(f"Failed to connect to host") return AerieClient(aerie_session) @@ -150,9 +149,9 @@ def start_session_from_configuration( session = authenticate_with_external(configuration.external_auth, secret_post_vars) hs = AerieHostSession( - session, configuration.graphql_url, configuration.gateway_url, + session, configuration.name, ) From d5d8221688bacc52cb302509b8f3babd02958dc2 Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Fri, 1 Sep 2023 12:43:33 -0700 Subject: [PATCH 49/55] Rename AerieHostSession to just AerieHost --- src/aerie_cli/aerie_client.py | 134 ++++++++++---------- src/aerie_cli/aerie_host.py | 4 +- src/aerie_cli/app.py | 16 +-- src/aerie_cli/commands/command_context.py | 4 +- src/aerie_cli/persistent.py | 8 +- src/aerie_cli/utils/sessions.py | 12 +- tests/unit_tests/test_aerie_client.py | 46 +++---- tests/unit_tests/test_persistent_session.py | 28 ++-- 8 files changed, 126 insertions(+), 126 deletions(-) diff --git a/src/aerie_cli/aerie_client.py b/src/aerie_cli/aerie_client.py index 129ebf5b..6989bf5c 100644 --- a/src/aerie_cli/aerie_client.py +++ b/src/aerie_cli/aerie_client.py @@ -21,7 +21,7 @@ from .schemas.client import ExpansionSet from .schemas.client import ResourceType from .utils.serialization import postgres_interval_to_microseconds -from .aerie_host import AerieHostSession +from .aerie_host import AerieHost class AerieClient: @@ -30,13 +30,13 @@ class AerieClient: Class encapsulates logic to query and send files to a given Aerie host. """ - def __init__(self, host_session: AerieHostSession): + def __init__(self, aerie_host: AerieHost): """Instantiate a client with an authenticated host session Args: - host_session (AerieHostSession): Aerie host information, including authentication if necessary + aerie_host (AerieHost): Aerie host information, including authentication if necessary """ - self.host_session = host_session + self.aerie_host = aerie_host def get_activity_plan_by_id(self, plan_id: int, full_args: str = None) -> ActivityPlanRead: """Download activity plan from Aerie @@ -75,7 +75,7 @@ def get_activity_plan_by_id(self, plan_id: int, full_args: str = None) -> Activi } } """ - resp = self.host_session.post_to_graphql(query, plan_id=plan_id) + resp = self.aerie_host.post_to_graphql(query, plan_id=plan_id) api_plan = ApiActivityPlanRead.from_dict(resp) plan = ActivityPlanRead.from_api_read(api_plan) return self.__expand_activity_arguments(plan, full_args) @@ -95,7 +95,7 @@ def list_all_activity_plans(self) -> List[ActivityPlanRead]: } } """ - resp = self.host_session.post_to_graphql(list_all_plans_query) + resp = self.aerie_host.post_to_graphql(list_all_plans_query) activity_plans = [] for plan in resp: plan = ApiActivityPlanRead.from_dict(plan) @@ -142,7 +142,7 @@ def get_plan_id_by_sim_id(self, simulation_dataset_id: int) -> int: } } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( get_plan_id_query, simulation_dataset_id=simulation_dataset_id ) @@ -161,7 +161,7 @@ def create_activity_plan( } } """ - plan_resp = self.host_session.post_to_graphql( + plan_resp = self.aerie_host.post_to_graphql( create_plan_mutation, plan=api_plan_create.to_dict(), ) @@ -212,7 +212,7 @@ def create_activity_plan( } } """ - _ = self.host_session.post_to_graphql( + _ = self.aerie_host.post_to_graphql( update_simulation_mutation, plan_id=plan_id, simulation_start_time=simulation_start_time, @@ -236,7 +236,7 @@ def create_activity_plan( "simulation_arguments": {} } - self.host_session.post_to_graphql( + self.aerie_host.post_to_graphql( create_scheduling_spec_mutation, spec=spec ) @@ -251,7 +251,7 @@ def create_activity(self, activity_to_create: Activity, plan_id: int) -> int: } } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( insert_activity_mutation, activity=api_activity_create.to_dict() ) @@ -277,7 +277,7 @@ def update_activity( } } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( update_activity_mutation, id=activity_id, plan_id=plan_id, @@ -298,7 +298,7 @@ def get_all_activity_presets(self, m_id:int) -> List: } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( get_all_presets_query, model_id=m_id ) @@ -321,7 +321,7 @@ def upload_activity_presets(self, upload_obj): } }""" - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( upload_activity_presets_query, object = upload_obj ) @@ -341,7 +341,7 @@ def simulate_plan(self, plan_id: int, poll_period: int = 5) -> int: """ def exec_sim_query(): - return self.host_session.post_to_graphql(simulate_query, plan_id=plan_id) + return self.aerie_host.post_to_graphql(simulate_query, plan_id=plan_id) resp = exec_sim_query() @@ -399,7 +399,7 @@ def get_resource_samples(self, simulation_dataset_id: int, state_names: List=Non } """ - resp = self.host_session.post_to_graphql(resource_profile_query, simulation_dataset_id=simulation_dataset_id, state_names=state_names) + resp = self.aerie_host.post_to_graphql(resource_profile_query, simulation_dataset_id=simulation_dataset_id, state_names=state_names) else: resource_profile_query = """ @@ -418,7 +418,7 @@ def get_resource_samples(self, simulation_dataset_id: int, state_names: List=Non } } """ - resp = self.host_session.post_to_graphql(resource_profile_query, simulation_dataset_id=simulation_dataset_id) + resp = self.aerie_host.post_to_graphql(resource_profile_query, simulation_dataset_id=simulation_dataset_id) profiles = resp["dataset"]["profiles"] @@ -430,7 +430,7 @@ def get_resource_samples(self, simulation_dataset_id: int, state_names: List=Non } } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( plan_duration_query, plan_id=self.get_plan_id_by_sim_id(simulation_dataset_id), ) @@ -540,7 +540,7 @@ def get_simulation_results(self, sim_dataset_id: int) -> str: } } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( sim_result_query, sim_dataset_id=sim_dataset_id) return resp @@ -554,7 +554,7 @@ def delete_plan(self, plan_id: int) -> str: } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( delete_plan_mutation, plan_id=plan_id) return resp["name"] @@ -569,7 +569,7 @@ def upload_mission_model( Path(mission_model_path).stem + "--" + upload_timestamp + ".jar" ) with open(mission_model_path, "rb") as jar_file: - resp = self.host_session.post_to_gateway_files( + resp = self.aerie_host.post_to_gateway_files( server_side_jar_name, jar_file) jar_id = resp["id"] @@ -586,7 +586,7 @@ def upload_mission_model( name=project_name, mission=mission, version=version, jar_id=jar_id ) - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( create_model_mutation, model=api_mission_model.to_dict() ) @@ -609,7 +609,7 @@ def upload_sim_template(self, model_id: int, args: str, name: str): } }""" - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( sim_template_mutation, model_id=model_id, args=args, name=name ) @@ -626,7 +626,7 @@ def delete_mission_model(self, model_id: int) -> str: } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( delete_model_mutation, model_id=model_id) return resp["name"] @@ -645,7 +645,7 @@ def get_mission_models(self) -> List[ApiMissionModelRead]: } """ - resp = self.host_session.post_to_graphql(get_mission_model_query) + resp = self.aerie_host.post_to_graphql(get_mission_model_query) api_mission_models = [ ApiMissionModelRead.from_dict(model) for model in resp] @@ -675,7 +675,7 @@ def create_config_args(self, plan_id: int, args: dict): plan = self.get_activity_plan_by_id(plan_id) sim_id = plan.sim_id - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( update_config_arg_query, sim_id=sim_id, args=args) return resp["arguments"] @@ -720,7 +720,7 @@ def update_config_args(self, plan_id: int, args: dict): for arg in args: final_args[arg] = args[arg] - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( update_config_arg_query, sim_id=sim_id, args=final_args) return resp["arguments"] @@ -738,7 +738,7 @@ def get_config(self, plan_id: int): } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( get_config_query, sim_id=sim_id) return resp["arguments"] @@ -771,7 +771,7 @@ def get_activity_interface(self, activity_name: str, model_id: int) -> str: } } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( get_activity_interface_query, activity_type_name=activity_name, mission_model_id=model_id, @@ -814,7 +814,7 @@ def create_expansion_rule( } } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( create_expansion_logic_query, activity_type_name=activity_name, expansion_logic=expansion_logic, @@ -853,7 +853,7 @@ def create_expansion_set( } } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( create_expansion_set_query, command_dictionary_id=command_dictionary_id, mission_model_id=model_id, @@ -874,7 +874,7 @@ def list_expansion_sets(self) -> List[ExpansionSet]: } } """ - resp = self.host_session.post_to_graphql(list_sets_query) + resp = self.aerie_host.post_to_graphql(list_sets_query) return [ExpansionSet.from_dict(i) for i in resp] def create_sequence(self, seq_id: str, simulation_dataset_id: int) -> None: @@ -900,7 +900,7 @@ def create_sequence(self, seq_id: str, simulation_dataset_id: int) -> None: } } """ - self.host_session.post_to_graphql( + self.aerie_host.post_to_graphql( create_sequence_query, simulation_dataset_id=simulation_dataset_id, seq_id=seq_id, @@ -931,7 +931,7 @@ def get_rule_ids_by_activity_type(self, activity_type: str) -> List[int]: } } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( get_expansion_ids_query, activity_type=activity_type) rule_ids = [int(v["id"]) for v in data] rule_ids.sort() @@ -953,7 +953,7 @@ def list_expansion_rules(self) -> List[ExpansionRule]: } } """ - resp = self.host_session.post_to_graphql(list_rules_query) + resp = self.aerie_host.post_to_graphql(list_rules_query) return [ExpansionRule.from_dict(r) for r in resp] def get_rules_by_type(self) -> Dict[str, List[ExpansionRule]]: @@ -993,7 +993,7 @@ def get_simulation_dataset_ids_by_plan_id(self, plan_id: int) -> List[int]: } } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( get_simulation_dataset_query, plan_id=plan_id) return [d["id"] for d in data[0]["simulation_datasets"]] @@ -1023,7 +1023,7 @@ def expand_simulation( } } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( expand_simulation_query, expansion_set_id=expansion_set_id, simulation_dataset_id=simulation_dataset_id, @@ -1045,7 +1045,7 @@ def list_expansion_runs(self, simulation_dataset_id: int) -> List[ExpansionRun]: } } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( get_runs_query, simulation_dataset_id=simulation_dataset_id ) @@ -1073,7 +1073,7 @@ def get_expansion_run( } } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( get_run_query, expansion_run_id=expansion_run_id, include_commands=include_commands @@ -1115,7 +1115,7 @@ def link_activities_to_sequence( } } """ - self.host_session.post_to_graphql( + self.aerie_host.post_to_graphql( link_activity_to_sequence_query, seq_id=seq_id, simulated_activity_id=simulated_activity_id, @@ -1145,7 +1145,7 @@ def get_simulated_activity_ids(self, simulation_dataset_id: int) -> List[int]: } } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( get_simulated_activity_ids_query, simulation_dataset_id=simulation_dataset_id, ) @@ -1176,7 +1176,7 @@ def get_expanded_sequence(self, seq_id: str, simulation_dataset_id: int) -> Dict } } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( get_expanded_sequence_query, seq_id=seq_id, simulation_dataset_id=simulation_dataset_id, @@ -1200,7 +1200,7 @@ def list_sequences(self, simulation_dataset_id: int) -> List[str]: } } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( list_sequences_query, simulation_dataset_id=simulation_dataset_id ) @@ -1220,7 +1220,7 @@ def delete_sequence(self, seq_id: str, simulation_dataset_id: int) -> None: } } """ - self.host_session.post_to_graphql( + self.aerie_host.post_to_graphql( delete_sequence_query, seq_id=seq_id, simulation_dataset_id=simulation_dataset_id @@ -1255,7 +1255,7 @@ def get_all_expansion_run_commands(self, expansion_run_id: int) -> List: } } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( expansion_run_commands_query, expansion_run_id=expansion_run_id ) @@ -1285,7 +1285,7 @@ def get_all_activity_types(self, model_id: int) -> List[str]: } } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( get_types_query, model_id=model_id) activity_types = [o["name"] for o in data] return activity_types @@ -1306,7 +1306,7 @@ def list_command_dictionaries(self) -> List[CommandDictionaryInfo]: } } """ - resp = self.host_session.post_to_graphql(list_dictionaries_query) + resp = self.aerie_host.post_to_graphql(list_dictionaries_query) return [CommandDictionaryInfo.from_dict(i) for i in resp] def upload_command_dictionary(self, command_dictionary_string: str) -> int: @@ -1333,7 +1333,7 @@ def upload_command_dictionary(self, command_dictionary_string: str) -> int: } } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( upload_command_dictionary_query, command_dictionary_string=command_dictionary_string, ) @@ -1375,7 +1375,7 @@ def get_typescript_dictionary(self, command_dictionary_id: int) -> str: } """ - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( get_command_dictionary_metadata_query, command_dictionary_id=command_dictionary_id, )[0] @@ -1383,7 +1383,7 @@ def get_typescript_dictionary(self, command_dictionary_id: int) -> str: command_dictionary_mission = data["mission"] command_dictionary_version = data["version"] - data = self.host_session.post_to_graphql( + data = self.aerie_host.post_to_graphql( get_typescript_dictionary_query, command_dictionary_id=command_dictionary_id ) @@ -1428,7 +1428,7 @@ def get_scheduling_goals_by_specification(self, spec_id): } } """ - resp = self.host_session.post_to_graphql(list_all_goals_by_spec_query, spec=spec_id) + resp = self.aerie_host.post_to_graphql(list_all_goals_by_spec_query, spec=spec_id) return resp @@ -1461,7 +1461,7 @@ def upload_scheduling_goals(self, upload_object): } }""" - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( upload_scheduling_goals_query, input=upload_object ) @@ -1477,7 +1477,7 @@ def get_specification_for_plan(self, plan_id): } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( get_specification_for_plan_query, plan_id=plan_id ) @@ -1509,7 +1509,7 @@ def add_goals_to_specifications(self, upload_object): } } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( add_goal_to_specification_query, object = upload_object ) @@ -1528,7 +1528,7 @@ def delete_scheduling_goals(self, goal_id_list): } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( delete_scheduling_goals_query, id_list=goal_id_list ) @@ -1544,7 +1544,7 @@ def get_plan_revision(self, planId): } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( get_plan_revision_query, plan_id=planId ) @@ -1572,7 +1572,7 @@ def __expand_activity_arguments(self, plan: ActivityPlanRead, full_args: str = N } } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( query, args=activity.parameters, act_type=activity.type, @@ -1591,7 +1591,7 @@ def upload_constraint(self, constraint): } """ - resp = self.host_session.post_to_graphql(upload_constraint_query, constraint=constraint) + resp = self.aerie_host.post_to_graphql(upload_constraint_query, constraint=constraint) return resp["id"] def delete_constraint(self, id): @@ -1603,7 +1603,7 @@ def delete_constraint(self, id): } """ - resp = self.host_session.post_to_graphql(delete_constraint_query, id=id) + resp = self.aerie_host.post_to_graphql(delete_constraint_query, id=id) return resp["id"] def update_constraint(self, id, constraint): @@ -1617,7 +1617,7 @@ def update_constraint(self, id, constraint): } """ - resp = self.host_session.post_to_graphql(update_constraint_query, id=id, constraint=constraint) + resp = self.aerie_host.post_to_graphql(update_constraint_query, id=id, constraint=constraint) return resp["id"] def get_constraint_by_id(self, id): @@ -1633,7 +1633,7 @@ def get_constraint_by_id(self, id): } """ - resp = self.host_session.post_to_graphql(get_constraint_by_id_query, id=id) + resp = self.aerie_host.post_to_graphql(get_constraint_by_id_query, id=id) return resp def get_constraint_violations(self, plan_id): @@ -1645,7 +1645,7 @@ def get_constraint_violations(self, plan_id): } """ - resp = self.host_session.post_to_graphql(get_violations_query, plan_id=plan_id) + resp = self.aerie_host.post_to_graphql(get_violations_query, plan_id=plan_id) return resp["constraintViolations"] def get_resource_types(self, model_id: int) -> List[ResourceType]: @@ -1671,7 +1671,7 @@ def get_resource_types(self, model_id: int) -> List[ResourceType]: } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( get_resource_types_query, missionModelId=model_id ) return [ResourceType.from_dict(r) for r in resp] @@ -1697,7 +1697,7 @@ def get_sequence_json(self, command_dictionary_id: int, edsl_body: str) -> dict: } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( get_sequence_json_query, id=command_dictionary_id, body=edsl_body @@ -1719,7 +1719,7 @@ def get_directive_metadata(self) -> list: } """ - resp = self.host_session.post_to_graphql(get_metadata_query) + resp = self.aerie_host.post_to_graphql(get_metadata_query) return resp def add_directive_metadata_schemas(self, schemas: list) -> list: @@ -1744,7 +1744,7 @@ def add_directive_metadata_schemas(self, schemas: list) -> list: } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( add_schemas_query, schemas=schemas ) @@ -1764,7 +1764,7 @@ def delete_directive_metadata_schema(self, key) -> list: } """ - resp = self.host_session.post_to_graphql( + resp = self.aerie_host.post_to_graphql( delete_schema_query, key=key ) diff --git a/src/aerie_cli/aerie_host.py b/src/aerie_cli/aerie_host.py index af3dd54b..b0234e5e 100644 --- a/src/aerie_cli/aerie_host.py +++ b/src/aerie_cli/aerie_host.py @@ -54,9 +54,9 @@ def __init__(self, encoded_jwt: str) -> None: self.encoded_jwt = encoded_jwt -class AerieHostSession: +class AerieHost: """ - Encapsulate an authenticated session with an Aerie host. + Abstracted interface for the Hasura and Aerie Gateway APIs of an Aerie instance. An instance stores the necessary URLs and authenticates using header or cookie information stored in the `requests.Session` object, if necessary. diff --git a/src/aerie_cli/app.py b/src/aerie_cli/app.py index 3b75cfed..4727501c 100644 --- a/src/aerie_cli/app.py +++ b/src/aerie_cli/app.py @@ -134,14 +134,14 @@ def change_role( client = get_active_session_client() if role is None: - typer.echo(f"Active Role: {client.host_session.aerie_jwt.active_role}") - role = select_from_list(client.host_session.aerie_jwt.allowed_roles) + typer.echo(f"Active Role: {client.aerie_host.aerie_jwt.active_role}") + role = select_from_list(client.aerie_host.aerie_jwt.allowed_roles) - client.host_session.change_role(role) + client.aerie_host.change_role(role) - PersistentSessionManager.set_active_session(client.host_session) + PersistentSessionManager.set_active_session(client.aerie_host) - typer.echo(f"Changed role to: {client.host_session.aerie_jwt.active_role}") + typer.echo(f"Changed role to: {client.aerie_host.aerie_jwt.active_role}") @app.command("status") @@ -152,7 +152,7 @@ def print_status(): client = CommandContext.get_client() - if client.host_session.configuration_name: - typer.echo(f"Active configuration: {client.host_session.configuration_name}") + if client.aerie_host.configuration_name: + typer.echo(f"Active configuration: {client.aerie_host.configuration_name}") - typer.echo(f"Active role: {client.host_session.aerie_jwt.active_role}") + typer.echo(f"Active role: {client.aerie_host.aerie_jwt.active_role}") diff --git a/src/aerie_cli/commands/command_context.py b/src/aerie_cli/commands/command_context.py index 8f505663..e2b71a50 100644 --- a/src/aerie_cli/commands/command_context.py +++ b/src/aerie_cli/commands/command_context.py @@ -31,7 +31,7 @@ def get_client(cls) -> AerieClient: client = get_active_session_client() if cls.hasura_admin_secret: - client.host_session.session.headers["x-hasura-admin-secret"] = cls.hasura_admin_secret - client.host_session.session.headers["x-hasura-role"] = "aerie_admin" + client.aerie_host.session.headers["x-hasura-admin-secret"] = cls.hasura_admin_secret + client.aerie_host.session.headers["x-hasura-role"] = "aerie_admin" return client diff --git a/src/aerie_cli/persistent.py b/src/aerie_cli/persistent.py index d1a73d0a..ed47fc9c 100644 --- a/src/aerie_cli/persistent.py +++ b/src/aerie_cli/persistent.py @@ -13,7 +13,7 @@ from appdirs import AppDirs -from aerie_cli.aerie_host import AerieHostSession, AerieHostConfiguration +from aerie_cli.aerie_host import AerieHost, AerieHostConfiguration # TODO add app version s.t. changes to configuration formats can be managed APP_DIRS = AppDirs('aerie_cli') @@ -149,7 +149,7 @@ def _load_active_session(cls) -> None: # Un-pickle the session try: with open(fn, 'rb') as fid: - session: AerieHostSession = pickle.load(fid) + session: AerieHost = pickle.load(fid) except Exception: fn.unlink() raise NoActiveSessionError @@ -160,12 +160,12 @@ def _load_active_session(cls) -> None: raise NoActiveSessionError @classmethod - def get_active_session(cls) -> AerieHostSession: + def get_active_session(cls) -> AerieHost: cls._load_active_session() return cls._active_session @classmethod - def set_active_session(cls, session: AerieHostSession) -> bool: + def set_active_session(cls, session: AerieHost) -> bool: if not session.check_auth(): return False diff --git a/src/aerie_cli/utils/sessions.py b/src/aerie_cli/utils/sessions.py index e700fdb7..e67deaf4 100644 --- a/src/aerie_cli/utils/sessions.py +++ b/src/aerie_cli/utils/sessions.py @@ -3,7 +3,7 @@ import typer from copy import deepcopy -from aerie_cli.aerie_host import AerieHostSession, AerieHostConfiguration, ExternalAuthConfiguration, AerieJWT +from aerie_cli.aerie_host import AerieHost, AerieHostConfiguration, ExternalAuthConfiguration, AerieJWT from aerie_cli.aerie_client import AerieClient from aerie_cli.persistent import PersistentSessionManager @@ -21,7 +21,7 @@ def get_active_session_client(): def get_localhost_client() -> AerieClient: - aerie_session = AerieHostSession("http://localhost:8080/v1/graphql", "http://localhost:9000") + aerie_session = AerieHost("http://localhost:8080/v1/graphql", "http://localhost:9000") if not aerie_session.ping_gateway(): raise RuntimeError(f"Failed to connect to host") return AerieClient(aerie_session) @@ -41,7 +41,7 @@ def get_preauthenticated_client_native(encoded_jwt: str, graphql_url: str, gatew Returns: AerieClient """ - aerie_session = AerieHostSession(graphql_url, gateway_url) + aerie_session = AerieHost(graphql_url, gateway_url) aerie_session.aerie_jwt = AerieJWT(encoded_jwt) if not aerie_session.check_auth(): raise RuntimeError(f"Failed to connect to host") @@ -67,7 +67,7 @@ def get_preauthenticated_client_cookie(cookie_name: str, cookie_value: str, enco session = requests.Session() session.cookies = requests.cookies.cookiejar_from_dict( {cookie_name: cookie_value}) - aerie_session = AerieHostSession(graphql_url, gateway_url, session=session) + aerie_session = AerieHost(graphql_url, gateway_url, session=session) aerie_session.aerie_jwt = AerieJWT(encoded_jwt) if not aerie_session.check_auth(): raise RuntimeError(f"Failed to connect to host") @@ -140,7 +140,7 @@ def start_session_from_configuration( secret_post_vars (Dict[str, str], optional): Optionally provide values for some or all secret post request variable values. Defaults to None. Returns: - AerieHostSession: + AerieHost: """ if configuration.external_auth is None: @@ -148,7 +148,7 @@ def start_session_from_configuration( else: session = authenticate_with_external(configuration.external_auth, secret_post_vars) - hs = AerieHostSession( + hs = AerieHost( configuration.graphql_url, configuration.gateway_url, session, diff --git a/tests/unit_tests/test_aerie_client.py b/tests/unit_tests/test_aerie_client.py index 67401971..73051b37 100644 --- a/tests/unit_tests/test_aerie_client.py +++ b/tests/unit_tests/test_aerie_client.py @@ -6,7 +6,7 @@ import pytest from aerie_cli.aerie_client import AerieClient -from aerie_cli.aerie_host import AerieHostSession +from aerie_cli.aerie_host import AerieHost from aerie_cli.schemas.client import Activity from aerie_cli.schemas.api import ApiActivityPlanRead from aerie_cli.schemas.client import ActivityPlanRead @@ -24,7 +24,7 @@ def _preprocess_query(q) -> str: return ' '.join(lines) -class MockAerieHostSession(AerieHostSession): +class MockAerieHost(AerieHost): """ Mock Aerie host listens for test queries and returns a mocked response. @@ -32,7 +32,7 @@ class MockAerieHostSession(AerieHostSession): contain a list of entries, each with two objects called "request" and "response". The former should be the JSON data for a GraphQL query. The response should be the JSON expected to be returned by - `AerieHostSession.post_to_graphql()`. + `AerieHost.post_to_graphql()`. [ { @@ -73,8 +73,8 @@ def post_to_graphql(self, query: str, **kwargs) -> Dict: def test_list_all_activity_plans(): - host_session = MockAerieHostSession('list_all_activity_plans') - client = AerieClient(host_session) + aerie_host = MockAerieHost('list_all_activity_plans') + client = AerieClient(aerie_host) expected = json.loads(""" [ @@ -110,8 +110,8 @@ def test_list_all_activity_plans(): def test_create_activity(): - host_session = MockAerieHostSession('create_activity') - client = AerieClient(host_session) + aerie_host = MockAerieHost('create_activity') + client = AerieClient(aerie_host) activity = Activity.from_dict( { @@ -132,8 +132,8 @@ def test_create_activity(): def test_update_activity(): - host_session = MockAerieHostSession("update_activity") - client = AerieClient(host_session) + aerie_host = MockAerieHost("update_activity") + client = AerieClient(aerie_host) activity = Activity.from_dict( { @@ -152,8 +152,8 @@ def test_update_activity(): def test_get_resource_samples(): # CASE 1: Get all states - host_session = MockAerieHostSession('get_resource_samples_1') - client = AerieClient(host_session) + aerie_host = MockAerieHost('get_resource_samples_1') + client = AerieClient(aerie_host) with open(EXPECTED_RESULTS_DIRECTORY.joinpath('get_resource_samples_1.json'), 'r') as fid: expected = json.load(fid) @@ -162,8 +162,8 @@ def test_get_resource_samples(): assert res == expected # CASE 2: Get only speicifc states - host_session = MockAerieHostSession('get_resource_samples_2') - client = AerieClient(host_session) + aerie_host = MockAerieHost('get_resource_samples_2') + client = AerieClient(aerie_host) with open(EXPECTED_RESULTS_DIRECTORY.joinpath('get_resource_samples_2.json'), 'r') as fid: expected = json.load(fid) @@ -173,8 +173,8 @@ def test_get_resource_samples(): def test_get_activity_plan_by_id(): - host_session = MockAerieHostSession("get_activity_plan_by_id") - client = AerieClient(host_session) + aerie_host = MockAerieHost("get_activity_plan_by_id") + client = AerieClient(aerie_host) with open( EXPECTED_RESULTS_DIRECTORY.joinpath("get_activity_plan_by_id.json"), "r" @@ -187,8 +187,8 @@ def test_get_activity_plan_by_id(): @pytest.mark.parametrize(["case_name"], [("create_activity_plan_1",), ("create_activity_plan_2",)]) def test_create_activity_plan(case_name: str): - host_session = MockAerieHostSession(case_name) - client = AerieClient(host_session) + aerie_host = MockAerieHost(case_name) + client = AerieClient(aerie_host) with open(INPUTS_DIRECTORY.joinpath(f"{case_name}.json"), "r") as fid: input_plan = ActivityPlanCreate.from_plan_read(ActivityPlanRead.from_json(fid.read())) @@ -200,8 +200,8 @@ def test_create_activity_plan(case_name: str): def test_get_resource_types(): - host_session = MockAerieHostSession("get_resource_types") - client = AerieClient(host_session) + aerie_host = MockAerieHost("get_resource_types") + client = AerieClient(aerie_host) expected = [ ResourceType("/imager/dataRate", {"type": "real"}), @@ -249,8 +249,8 @@ def test_get_resource_types(): assert res == expected def test_get_sequence_json(): - host_session = MockAerieHostSession("get_sequence_json") - client = AerieClient(host_session) + aerie_host = MockAerieHost("get_sequence_json") + client = AerieClient(aerie_host) expected = json.loads(""" { @@ -268,8 +268,8 @@ def test_get_sequence_json(): assert res == expected def test_upload_directive_metadata(): - host_session = MockAerieHostSession("upload_directive_metadata_schemas") - client = AerieClient(host_session) + aerie_host = MockAerieHost("upload_directive_metadata_schemas") + client = AerieClient(aerie_host) with open(EXPECTED_RESULTS_DIRECTORY.joinpath('upload_directive_metadata_schemas.json'), 'r') as fid: expected = json.load(fid) diff --git a/tests/unit_tests/test_persistent_session.py b/tests/unit_tests/test_persistent_session.py index 0990ce65..02f1011a 100644 --- a/tests/unit_tests/test_persistent_session.py +++ b/tests/unit_tests/test_persistent_session.py @@ -5,11 +5,11 @@ from aerie_cli import persistent -from aerie_cli.aerie_host import AerieHostSession +from aerie_cli.aerie_host import AerieHost from aerie_cli.persistent import PersistentSessionManager -class MockAerieHostSession(AerieHostSession): +class MockAerieHost(AerieHost): """ Mock Aerie Host Session for testing session persistence. """ @@ -50,7 +50,7 @@ def test_get_session_expired(persistent_path: Path): """ # Create a mock old session with an "expired" session - old_session = MockAerieHostSession() + old_session = MockAerieHost() old_time = datetime.datetime.utcnow() - persistent.SESSION_TIMEOUT - \ datetime.timedelta(seconds=1) old_fn = old_time.strftime( @@ -69,7 +69,7 @@ def test_get_session_broken(persistent_path: Path): """ # Create a mock old session which fails the ping test - old_session = MockAerieHostSession(False) + old_session = MockAerieHost(False) old_time = datetime.datetime.utcnow() old_fn = old_time.strftime( persistent.SESSION_TIMESTAMP_FSTRING) + '.aerie_cli.session' @@ -88,7 +88,7 @@ def test_get_session(persistent_path: Path): """ # Create a mock good session - old_session = MockAerieHostSession() + old_session = MockAerieHost() old_time = datetime.datetime.utcnow() old_fn = old_time.strftime( persistent.SESSION_TIMESTAMP_FSTRING) + '.aerie_cli.session' @@ -97,7 +97,7 @@ def test_get_session(persistent_path: Path): # Expect this to pass s = PersistentSessionManager.get_active_session() - assert isinstance(s, AerieHostSession) + assert isinstance(s, AerieHost) def test_get_session_multiple(persistent_path: Path): @@ -108,7 +108,7 @@ def test_get_session_multiple(persistent_path: Path): # Create a mock good session for i in range(2): - old_session = MockAerieHostSession() + old_session = MockAerieHost() old_time = datetime.datetime.utcnow() - datetime.timedelta(minutes=i) old_fn = old_time.strftime( persistent.SESSION_TIMESTAMP_FSTRING) + '.aerie_cli.session' @@ -117,7 +117,7 @@ def test_get_session_multiple(persistent_path: Path): # Expect this to pass s = PersistentSessionManager.get_active_session() - assert isinstance(s, AerieHostSession) + assert isinstance(s, AerieHost) # Check that the directory has been cleaned up assert len(list(persistent_path.iterdir())) == 1 @@ -127,7 +127,7 @@ def test_set_session_broken(persistent_path: Path): """ Test setting a single session that fails ping test """ - session = MockAerieHostSession(False) + session = MockAerieHost(False) # Method should return false because it doesn't set the session assert PersistentSessionManager.set_active_session(session) == False @@ -141,7 +141,7 @@ def test_set_session(persistent_path: Path): Test setting a single session that passes the ping test. There isn't an active session. """ - session = MockAerieHostSession() + session = MockAerieHost() # Method should return true assert PersistentSessionManager.set_active_session(session) == True @@ -155,8 +155,8 @@ def test_set_session(persistent_path: Path): Test setting a single session that passes the ping test while another active session is set. """ - session_1 = MockAerieHostSession() - session_2 = MockAerieHostSession() + session_1 = MockAerieHost() + session_2 = MockAerieHost() PersistentSessionManager.set_active_session(session_1) @@ -181,7 +181,7 @@ def test_unset_session_startup_persistent(persistent_path: Path): """ # Create a mock good session - old_session = MockAerieHostSession(name="Old Session") + old_session = MockAerieHost(name="Old Session") old_time = datetime.datetime.utcnow() old_fn = old_time.strftime( persistent.SESSION_TIMESTAMP_FSTRING) + '.aerie_cli.session' @@ -195,7 +195,7 @@ def test_unset_session_active(persistent_path: Path): """ Test unsetting a session that was set during this runtime. """ - old_session = MockAerieHostSession(name="Old Session") + old_session = MockAerieHost(name="Old Session") PersistentSessionManager.set_active_session(old_session) assert PersistentSessionManager.unset_active_session() == "Old Session" From b8f234d211b390c7819e92642b9ad60fea67bd95 Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Fri, 1 Sep 2023 15:53:38 -0700 Subject: [PATCH 50/55] Fix/revise queries from Aerie changes --- src/aerie_cli/aerie_client.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/aerie_cli/aerie_client.py b/src/aerie_cli/aerie_client.py index 6989bf5c..d766115c 100644 --- a/src/aerie_cli/aerie_client.py +++ b/src/aerie_cli/aerie_client.py @@ -1325,11 +1325,6 @@ def upload_command_dictionary(self, command_dictionary_string: str) -> int: ) { uploadDictionary(dictionary: $command_dictionary_string) { id - command_types_typescript_path - mission - version - created_at - updated_at } } """ @@ -1640,13 +1635,13 @@ def get_constraint_violations(self, plan_id): get_violations_query = """ query ($plan_id: Int!){ constraintViolations(planId: $plan_id) { - constraintViolations + violations } } """ resp = self.aerie_host.post_to_graphql(get_violations_query, plan_id=plan_id) - return resp["constraintViolations"] + return resp["violations"] def get_resource_types(self, model_id: int) -> List[ResourceType]: """Get resource types (value schema) From 195246c8034ede2ec1a16b2ecda79f3990e8deed Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Fri, 1 Sep 2023 15:59:40 -0700 Subject: [PATCH 51/55] Update integration test environment for Aerie 1.12.0 --- .github/workflows/test.yml | 2 + docker-compose-test.yml | 217 +++++++++++------- test.env | 12 + tests/integration_tests/README.md | 10 + ...tion-1.6.2.jar => banananation-1.12.0.jar} | Bin 10110312 -> 10165606 bytes 5 files changed, 160 insertions(+), 81 deletions(-) create mode 100644 test.env rename tests/integration_tests/files/models/{banananation-1.6.2.jar => banananation-1.12.0.jar} (93%) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 90633a36..3e250f0d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,6 +16,8 @@ env: HASURA_GRAPHQL_JWT_SECRET: "${{secrets.HASURA_GRAPHQL_JWT_SECRET}}" POSTGRES_USER: "${{secrets.POSTGRES_USER}}" POSTGRES_PASSWORD: "${{secrets.POSTGRES_PASSWORD}}" + DOCKER_TAG: "v1.12.0" + REPOSITORY_DOCKER_URL: "ghcr.io/nasa-ammos" jobs: unit-test: diff --git a/docker-compose-test.yml b/docker-compose-test.yml index ccb53989..ee2fd124 100644 --- a/docker-compose-test.yml +++ b/docker-compose-test.yml @@ -1,169 +1,224 @@ -# Pulled from https://github.com/NASA-AMMOS/aerie-ui/blob/fa404631caee079275a8e86d529bb428f6243871/docker-compose-test.yml -version: '3.7' +version: "3.7" services: aerie_gateway: container_name: aerie_gateway - depends_on: ['postgres'] + depends_on: ["postgres"] environment: AUTH_TYPE: none GQL_API_URL: http://localhost:8080/v1/graphql - HASURA_GRAPHQL_JWT_SECRET: '${HASURA_GRAPHQL_JWT_SECRET}' + HASURA_GRAPHQL_JWT_SECRET: "${HASURA_GRAPHQL_JWT_SECRET}" LOG_FILE: console LOG_LEVEL: debug - NODE_TLS_REJECT_UNAUTHORIZED: '0' + NODE_TLS_REJECT_UNAUTHORIZED: "0" PORT: 9000 POSTGRES_AERIE_MERLIN_DB: aerie_merlin - POSTGRES_AERIE_SCHEDULER_DB: aerie_scheduler POSTGRES_HOST: postgres - POSTGRES_PASSWORD: '${AERIE_PASSWORD}' + POSTGRES_PASSWORD: "${AERIE_PASSWORD}" POSTGRES_PORT: 5432 - POSTGRES_USER: '${AERIE_USERNAME}' - image: 'ghcr.io/nasa-ammos/aerie-gateway:v1.7.0' - ports: ['9000:9000'] + POSTGRES_USER: "${AERIE_USERNAME}" + image: "${REPOSITORY_DOCKER_URL}/aerie-gateway:${DOCKER_TAG}" + ports: ["9000:9000"] restart: always volumes: - aerie_file_store:/app/files aerie_merlin: container_name: aerie_merlin - depends_on: ['postgres'] + depends_on: ["postgres"] environment: - MERLIN_DB: 'aerie_merlin' - MERLIN_DB_PASSWORD: '${AERIE_PASSWORD}' + HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" + HASURA_GRAPHQL_URL: http://hasura:8080/v1/graphql + MERLIN_DB: "aerie_merlin" + MERLIN_DB_PASSWORD: "${AERIE_PASSWORD}" MERLIN_DB_PORT: 5432 MERLIN_DB_SERVER: postgres - MERLIN_DB_USER: '${AERIE_USERNAME}' + MERLIN_DB_USER: "${AERIE_USERNAME}" MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store MERLIN_PORT: 27183 - MERLIN_USE_NEW_CONSTRAINT_PIPELINE: 'true' JAVA_OPTS: > - -Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG - -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO + -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN -Dorg.slf4j.simpleLogger.logFile=System.err - UNTRUE_PLAN_START: '2000-01-01T11:58:55.816Z' - image: 'ghcr.io/nasa-ammos/aerie-merlin:v1.7.0' - ports: ['27183:27183'] + UNTRUE_PLAN_START: "2000-01-01T11:58:55.816Z" + image: "${REPOSITORY_DOCKER_URL}/aerie-merlin:${DOCKER_TAG}" + ports: ["27183:27183"] restart: always volumes: - aerie_file_store:/usr/src/app/merlin_file_store - aerie_merlin_worker: - container_name: aerie_merlin_worker - depends_on: ['postgres'] + aerie_merlin_worker_1: + container_name: aerie_merlin_worker_1 + depends_on: ["postgres"] environment: - MERLIN_WORKER_DB: 'aerie_merlin' - MERLIN_WORKER_DB_PASSWORD: '${AERIE_PASSWORD}' + MERLIN_WORKER_DB: "aerie_merlin" + MERLIN_WORKER_DB_PASSWORD: "${AERIE_PASSWORD}" MERLIN_WORKER_DB_PORT: 5432 MERLIN_WORKER_DB_SERVER: postgres - MERLIN_WORKER_DB_USER: '${AERIE_USERNAME}' + MERLIN_WORKER_DB_USER: "${AERIE_USERNAME}" MERLIN_WORKER_LOCAL_STORE: /usr/src/app/merlin_file_store + SIMULATION_PROGRESS_POLL_PERIOD_MILLIS: 2000 JAVA_OPTS: > - -Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG - -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO + -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO + -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=WARN + -Dorg.slf4j.simpleLogger.logFile=System.err + UNTRUE_PLAN_START: "2000-01-01T11:58:55.816Z" + image: "${REPOSITORY_DOCKER_URL}/aerie-merlin-worker:${DOCKER_TAG}" + ports: ["27187:8080"] + restart: always + volumes: + - aerie_file_store:/usr/src/app/merlin_file_store:ro + aerie_merlin_worker_2: + container_name: aerie_merlin_worker_2 + depends_on: ["postgres"] + environment: + MERLIN_WORKER_DB: "aerie_merlin" + MERLIN_WORKER_DB_PASSWORD: "${AERIE_PASSWORD}" + MERLIN_WORKER_DB_PORT: 5432 + MERLIN_WORKER_DB_SERVER: postgres + MERLIN_WORKER_DB_USER: "${AERIE_USERNAME}" + MERLIN_WORKER_LOCAL_STORE: /usr/src/app/merlin_file_store + SIMULATION_PROGRESS_POLL_PERIOD_MILLIS: 2000 + JAVA_OPTS: > + -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO + -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=WARN -Dorg.slf4j.simpleLogger.logFile=System.err - UNTRUE_PLAN_START: '2000-01-01T11:58:55.816Z' - image: 'ghcr.io/nasa-ammos/aerie-merlin-worker:v1.7.0' - ports: ['27187:8080'] + UNTRUE_PLAN_START: "2000-01-01T11:58:55.816Z" + image: "${REPOSITORY_DOCKER_URL}/aerie-merlin-worker:${DOCKER_TAG}" + ports: ["27188:8080"] restart: always volumes: - aerie_file_store:/usr/src/app/merlin_file_store:ro aerie_scheduler: container_name: aerie_scheduler - depends_on: ['aerie_merlin', 'postgres'] + depends_on: ["aerie_merlin", "postgres"] environment: - HASURA_GRAPHQL_ADMIN_SECRET: '${HASURA_GRAPHQL_ADMIN_SECRET}' + HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql - SCHEDULER_DB: 'aerie_scheduler' - SCHEDULER_DB_PASSWORD: '${AERIE_PASSWORD}' + SCHEDULER_DB: "aerie_scheduler" + SCHEDULER_DB_PASSWORD: "${AERIE_PASSWORD}" SCHEDULER_DB_PORT: 5432 SCHEDULER_DB_SERVER: postgres - SCHEDULER_DB_USER: '${AERIE_USERNAME}' + SCHEDULER_DB_USER: "${AERIE_USERNAME}" SCHEDULER_PORT: 27185 JAVA_OPTS: > - -Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG - -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO + -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN -Dorg.slf4j.simpleLogger.logFile=System.err - image: 'ghcr.io/nasa-ammos/aerie-scheduler:v1.7.0' - ports: ['27185:27185'] + image: "${REPOSITORY_DOCKER_URL}/aerie-scheduler:${DOCKER_TAG}" + ports: ["27185:27185"] restart: always volumes: - aerie_file_store:/usr/src/app/merlin_file_store - aerie_scheduler_worker: - container_name: aerie_scheduler_worker - depends_on: ['postgres'] + aerie_scheduler_worker_1: + container_name: aerie_scheduler_worker_1 + depends_on: ["postgres"] environment: - HASURA_GRAPHQL_ADMIN_SECRET: '${HASURA_GRAPHQL_ADMIN_SECRET}' + HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql - MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store + SCHEDULER_WORKER_DB: "aerie_scheduler" + SCHEDULER_WORKER_DB_PASSWORD: "${AERIE_PASSWORD}" + SCHEDULER_WORKER_DB_PORT: 5432 + SCHEDULER_WORKER_DB_SERVER: postgres + SCHEDULER_WORKER_DB_USER: "${AERIE_USERNAME}" SCHEDULER_OUTPUT_MODE: UpdateInputPlanWithNewActivities + MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store SCHEDULER_RULES_JAR: /usr/src/app/merlin_file_store/scheduler_rules.jar - SCHEDULER_WORKER_DB: 'aerie_scheduler' - SCHEDULER_WORKER_DB_PASSWORD: '${AERIE_PASSWORD}' + JAVA_OPTS: > + -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO + -Dorg.slf4j.simpleLogger.logFile=System.err + image: "${REPOSITORY_DOCKER_URL}/aerie-scheduler-worker:${DOCKER_TAG}" + ports: ["27189:8080"] + restart: always + volumes: + - aerie_file_store:/usr/src/app/merlin_file_store:ro + aerie_scheduler_worker_2: + depends_on: ["postgres"] + environment: + HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" + MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql + SCHEDULER_WORKER_DB: "aerie_scheduler" + SCHEDULER_WORKER_DB_PASSWORD: "${AERIE_PASSWORD}" SCHEDULER_WORKER_DB_PORT: 5432 SCHEDULER_WORKER_DB_SERVER: postgres - SCHEDULER_WORKER_DB_USER: '${AERIE_USERNAME}' + SCHEDULER_WORKER_DB_USER: "${AERIE_USERNAME}" + SCHEDULER_OUTPUT_MODE: UpdateInputPlanWithNewActivities + MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store + SCHEDULER_RULES_JAR: /usr/src/app/merlin_file_store/scheduler_rules.jar JAVA_OPTS: > -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err - image: 'ghcr.io/nasa-ammos/aerie-scheduler-worker:v1.7.0' - ports: ['27189:8080'] + image: "${REPOSITORY_DOCKER_URL}/aerie-scheduler-worker:${DOCKER_TAG}" + ports: ["27190:8080"] restart: always volumes: - aerie_file_store:/usr/src/app/merlin_file_store:ro aerie_sequencing: container_name: aerie_sequencing - depends_on: ['postgres'] + depends_on: ["postgres"] environment: - HASURA_GRAPHQL_ADMIN_SECRET: '${HASURA_GRAPHQL_ADMIN_SECRET}' + HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" LOG_FILE: console - LOG_LEVEL: debug + LOG_LEVEL: warn MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql + SEQUENCING_SERVER_PORT: 27184 SEQUENCING_DB: aerie_sequencing - SEQUENCING_DB_PASSWORD: '${AERIE_PASSWORD}' + SEQUENCING_DB_PASSWORD: "${AERIE_PASSWORD}" SEQUENCING_DB_PORT: 5432 SEQUENCING_DB_SERVER: postgres - SEQUENCING_DB_USER: '${AERIE_USERNAME}' + SEQUENCING_DB_USER: "${AERIE_USERNAME}" SEQUENCING_LOCAL_STORE: /usr/src/app/sequencing_file_store - SEQUENCING_SERVER_PORT: 27184 - image: 'ghcr.io/nasa-ammos/aerie-sequencing:v1.7.0' - ports: ['27184:27184'] + image: "${REPOSITORY_DOCKER_URL}/aerie-sequencing:${DOCKER_TAG}" + ports: ["27184:27184"] restart: always volumes: - aerie_file_store:/usr/src/app/sequencing_file_store + aerie_ui: + container_name: aerie_ui + depends_on: ["postgres"] + environment: + ORIGIN: http://localhost + NODE_TLS_REJECT_UNAUTHORIZED: "0" + PUBLIC_LOGIN_PAGE: "enabled" + PUBLIC_GATEWAY_CLIENT_URL: http://localhost:9000 + PUBLIC_GATEWAY_SERVER_URL: http://aerie_gateway:9000 + PUBLIC_HASURA_CLIENT_URL: http://localhost:8080/v1/graphql + PUBLIC_HASURA_SERVER_URL: http://hasura:8080/v1/graphql + PUBLIC_HASURA_WEB_SOCKET_URL: ws://localhost:8080/v1/graphql + image: "${REPOSITORY_DOCKER_URL}/aerie-ui:${DOCKER_TAG}" + ports: ["80:80"] + restart: always hasura: container_name: aerie_hasura - depends_on: ['postgres'] + depends_on: ["postgres"] environment: - AERIE_MERLIN_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_merlin' - AERIE_MERLIN_URL: 'http://aerie_merlin:27183' - AERIE_SCHEDULER_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_scheduler' - AERIE_SCHEDULER_URL: 'http://aerie_scheduler:27185' - AERIE_SEQUENCING_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_sequencing' - AERIE_SEQUENCING_URL: 'http://aerie_sequencing:27184' - AERIE_UI_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_ui' - HASURA_GRAPHQL_ADMIN_SECRET: '${HASURA_GRAPHQL_ADMIN_SECRET}' - HASURA_GRAPHQL_DEV_MODE: 'true' - HASURA_GRAPHQL_ENABLE_CONSOLE: 'true' + AERIE_MERLIN_DATABASE_URL: "postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_merlin" + AERIE_MERLIN_URL: "http://aerie_merlin:27183" + AERIE_SCHEDULER_DATABASE_URL: "postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_scheduler" + AERIE_SCHEDULER_URL: "http://aerie_scheduler:27185" + AERIE_SEQUENCING_DATABASE_URL: "postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_sequencing" + AERIE_SEQUENCING_URL: "http://aerie_sequencing:27184" + AERIE_UI_DATABASE_URL: "postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_ui" + HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" + HASURA_GRAPHQL_DEV_MODE: "true" + HASURA_GRAPHQL_ENABLE_CONSOLE: "true" HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log - HASURA_GRAPHQL_JWT_SECRET: '${HASURA_GRAPHQL_JWT_SECRET}' - HASURA_GRAPHQL_LOG_LEVEL: info - HASURA_GRAPHQL_METADATA_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_hasura' + HASURA_GRAPHQL_JWT_SECRET: "${HASURA_GRAPHQL_JWT_SECRET}" + HASURA_GRAPHQL_LOG_LEVEL: warn + HASURA_GRAPHQL_METADATA_DATABASE_URL: "postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_hasura" HASURA_GRAPHQL_METADATA_DIR: /hasura-metadata - image: 'ghcr.io/nasa-ammos/aerie-hasura:v1.7.0' - ports: ['8080:8080'] + image: "${REPOSITORY_DOCKER_URL}/aerie-hasura:${DOCKER_TAG}" + ports: ["8080:8080"] restart: always postgres: container_name: aerie_postgres environment: - AERIE_PASSWORD: '${AERIE_PASSWORD}' - AERIE_USERNAME: '${AERIE_USERNAME}' - POSTGRES_DB: postgres - POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}' - POSTGRES_USER: '${POSTGRES_USER}' - image: 'ghcr.io/nasa-ammos/aerie-postgres:v1.7.0' - ports: ['5432:5432'] + POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}" + POSTGRES_USER: "${POSTGRES_USER}" + AERIE_USERNAME: "${AERIE_USERNAME}" + AERIE_PASSWORD: "${AERIE_PASSWORD}" + image: "${REPOSITORY_DOCKER_URL}/aerie-postgres:${DOCKER_TAG}" + ports: ["5432:5432"] restart: always volumes: - postgres_data:/var/lib/postgresql/data volumes: aerie_file_store: + mission_file_store: postgres_data: diff --git a/test.env b/test.env new file mode 100644 index 00000000..1c873033 --- /dev/null +++ b/test.env @@ -0,0 +1,12 @@ +DOCKER_TAG=v1.12.0 +REPOSITORY_DOCKER_URL=ghcr.io/nasa-ammos + +AERIE_USERNAME=aerie +AERIE_PASSWORD=aerie + +POSTGRES_USER=postgres +POSTGRES_PASSWORD=postgres +COMPOSE_PROJECT_NAME=aerie + +HASURA_GRAPHQL_ADMIN_SECRET=admin +HASURA_GRAPHQL_JWT_SECRET='{ "type": "HS256", "key": "Thisisthedefaultsecretandneed32B" }' diff --git a/tests/integration_tests/README.md b/tests/integration_tests/README.md index 287882c4..5105ba84 100644 --- a/tests/integration_tests/README.md +++ b/tests/integration_tests/README.md @@ -5,6 +5,16 @@ These tests will delete and modify data permanently. Expect the localhost instan See: [localhost configuration](files/configuration/localhost_config.json) +## Running locally + +To set up a local test environment, use the test environment and docker-compose files in the root of the repo: + +``` +docker compose --env-file test.env -f docker-compose-test.yml up +``` + +Invoke the tests using `pytest` from the `tests/integration_tests` directory. + ## Tests ### [Configurations test](test_configurations.py) diff --git a/tests/integration_tests/files/models/banananation-1.6.2.jar b/tests/integration_tests/files/models/banananation-1.12.0.jar similarity index 93% rename from tests/integration_tests/files/models/banananation-1.6.2.jar rename to tests/integration_tests/files/models/banananation-1.12.0.jar index 079f4b04dd4cc30eb7474b0cfde13e5e62efed3f..9b552691af868cb1f9582fff5f849ab616d88453 100644 GIT binary patch delta 629584 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℘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%0Ar^CW@%&>PbioId9eSJB@4SolF=O8F{T^P)^h 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

bUIy~ZI~DJnn9Ix06nge<{K>}S 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Ν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

r#I%8H|2cQyf1U{ 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 IkFY23Kdpj$yZ`_I delta 578948 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%0AWPo~GM_FUJ@d0mv==xs7FxX5B`dQ{(r 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

ldBK&N2v*nBvB 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 T#`=wQ%r4#ktPFX$?*0D&ucnt7 From ff2b4dcb93b1f6d863fd4e7cd0eef2d3fceb8595 Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Fri, 1 Sep 2023 16:00:39 -0700 Subject: [PATCH 52/55] Fix integration tests Only integration test on two Python versions --- .github/workflows/test.yml | 2 +- tests/integration_tests/conftest.py | 30 +- .../files/configuration/localhost_config.json | 10 +- .../integration_tests/test_configurations.py | 56 ++-- tests/integration_tests/test_constraints.py | 12 +- tests/integration_tests/test_expansion.py | 24 +- tests/integration_tests/test_metadata.py | 10 +- tests/integration_tests/test_models.py | 12 +- tests/integration_tests/test_plans.py | 28 +- tests/integration_tests/test_scheduling.py | 10 +- .../test_persistent_configuration.py | 284 ++++++++---------- 11 files changed, 215 insertions(+), 263 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3e250f0d..afd34c2c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -47,7 +47,7 @@ jobs: environment: integration-test-workflow strategy: matrix: - python-version: [ "3.6.15", "3.7", "3.8", "3.9", "3.10", "3.11" ] + python-version: [ "3.6.15", "3.11" ] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} diff --git a/tests/integration_tests/conftest.py b/tests/integration_tests/conftest.py index 2dd577fc..8ee0cf99 100644 --- a/tests/integration_tests/conftest.py +++ b/tests/integration_tests/conftest.py @@ -5,8 +5,12 @@ import sys from aerie_cli.aerie_client import AerieClient -from aerie_cli.aerie_host import AerieHostSession, AuthMethod -from aerie_cli.commands.configurations import delete_all_persistent_files, upload_configurations, deactivate_session, activate_session +from aerie_cli.aerie_host import AerieHost +from aerie_cli.commands.configurations import ( + delete_all_persistent_files, + upload_configurations, +) +from aerie_cli.app import deactivate_session, activate_session from aerie_cli.utils.sessions import get_active_session_client # in case src_path is not from aeri-cli src and from site-packages @@ -15,23 +19,16 @@ GRAPHQL_URL = "http://localhost:8080/v1/graphql" GATEWAY_URL = "http://localhost:9000" -AUTH_URL = "http://localhost:9000/auth/login" -AUTH_METHOD = AuthMethod.AERIE_NATIVE USERNAME = "a" PASSWORD = "a" # This should only ever be set to the admin secret for a local instance of aerie HASURA_ADMIN_SECRET = os.environ.get("HASURA_GRAPHQL_ADMIN_SECRET") -session = AerieHostSession.session_helper( - AUTH_METHOD, - GRAPHQL_URL, - GATEWAY_URL, - AUTH_URL, - USERNAME, - PASSWORD -) -session.session.headers["x-hasura-admin-secret"] = HASURA_ADMIN_SECRET -client = AerieClient(session) +aerie_host = AerieHost(GRAPHQL_URL, GATEWAY_URL) +aerie_host.authenticate(USERNAME, PASSWORD) +aerie_host.change_role("aerie_admin") +# session.session.headers["x-hasura-admin-secret"] = HASURA_ADMIN_SECRET +client = AerieClient(aerie_host) DOWNLOADED_FILE_NAME = "downloaded_file.test" @@ -53,5 +50,6 @@ persisent_client = get_active_session_client() except: raise RuntimeError("Configuration is not active!") -assert persisent_client.host_session.gateway_url == GATEWAY_URL,\ - "Aerie instances are mismatched. Ensure test URLs are the same." \ No newline at end of file +assert ( + persisent_client.aerie_host.gateway_url == GATEWAY_URL +), "Aerie instances are mismatched. Ensure test URLs are the same." diff --git a/tests/integration_tests/files/configuration/localhost_config.json b/tests/integration_tests/files/configuration/localhost_config.json index f6e4f3ec..b6fd2889 100644 --- a/tests/integration_tests/files/configuration/localhost_config.json +++ b/tests/integration_tests/files/configuration/localhost_config.json @@ -1,6 +1,6 @@ { - "name": "localhost", - "graphql_url": "http://localhost:8080/v1/graphql", - "gateway_url": "http://localhost:9000", - "auth_method": "None" - } \ No newline at end of file + "name": "localhost", + "graphql_url": "http://localhost:8080/v1/graphql", + "gateway_url": "http://localhost:9000", + "username": "integrationtest" +} \ No newline at end of file diff --git a/tests/integration_tests/test_configurations.py b/tests/integration_tests/test_configurations.py index 94110dc0..e4e2430c 100644 --- a/tests/integration_tests/test_configurations.py +++ b/tests/integration_tests/test_configurations.py @@ -9,7 +9,6 @@ HASURA_ADMIN_SECRET,\ GRAPHQL_URL,\ GATEWAY_URL,\ - AUTH_URL,\ USERNAME from aerie_cli.persistent import PersistentConfigurationManager, PersistentSessionManager, NoActiveSessionError from aerie_cli.utils.sessions import start_session_from_configuration @@ -79,7 +78,6 @@ def test_configurations_create(): input=CONFIGURATION_NAME + "\n" + GRAPHQL_URL + "\n" + GATEWAY_URL + "\n" - + "None" + "\n" + "y" + "\n" + USERNAME + "\n", catch_exceptions=False, @@ -96,7 +94,7 @@ def test_configurations_create(): configuration_id = i assert configuration_id != -1, "CONFIGURATION NOT LOADED, is it's name localhost?" -def test_configurations_activate(): +def test_activate(): before_refresh = len(PersistentConfigurationManager.get_configurations()) assert before_refresh > 0 PersistentConfigurationManager.read_configurations() @@ -104,7 +102,7 @@ def test_configurations_activate(): result = runner.invoke( app, - ["configurations", "activate"], + ["activate"], input=str(configuration_id) + "\n", catch_exceptions=False, ) @@ -114,7 +112,7 @@ def test_configurations_activate(): f"{result.stderr}" assert PersistentSessionManager.get_active_session().configuration_name == "localhost" -def test_configurations_deactivate(): +def test_deactivate(): before_refresh = len(PersistentConfigurationManager.get_configurations()) assert before_refresh > 0 PersistentConfigurationManager.read_configurations() @@ -124,7 +122,7 @@ def test_configurations_deactivate(): result = runner.invoke( app, - ["configurations", "deactivate"], + ["deactivate"], input=str(configuration_id) + "\n", catch_exceptions=False, ) @@ -198,26 +196,26 @@ def test_configurations_load(): in result.stdout ) -def test_configurations_update(): - before_refresh = len(PersistentConfigurationManager.get_configurations()) - assert before_refresh > 0 - PersistentConfigurationManager.read_configurations() - assert len(PersistentConfigurationManager.get_configurations()) == before_refresh - assert PersistentConfigurationManager.get_configurations()[configuration_id].name == ("localhost") - - result = runner.invoke( - app, - ["configurations", "update"], - input=str(configuration_id) + "\n" - + GRAPHQL_URL + "\n" - + GATEWAY_URL + "\n" - + "1" + "\n", - catch_exceptions=False, - ) - - assert result.exit_code == 0,\ - f"{result.stdout}"\ - f"{result.stderr}" +# def test_configurations_update(): +# before_refresh = len(PersistentConfigurationManager.get_configurations()) +# assert before_refresh > 0 +# PersistentConfigurationManager.read_configurations() +# assert len(PersistentConfigurationManager.get_configurations()) == before_refresh +# assert PersistentConfigurationManager.get_configurations()[configuration_id].name == ("localhost") + +# result = runner.invoke( +# app, +# ["configurations", "update"], +# input=str(configuration_id) + "\n" +# + GRAPHQL_URL + "\n" +# + GATEWAY_URL + "\n" +# + "1" + "\n", +# catch_exceptions=False, +# ) + +# assert result.exit_code == 0,\ +# f"{result.stdout}"\ +# f"{result.stderr}" def test_configurations_list(): result = runner.invoke( @@ -235,7 +233,7 @@ def test_configurations_list(): ) # We're activating at the end to ensure that localhost is still active # for other integration tests. -def test_configurations_last_activate(): +def test_last_activate(): before_refresh = len(PersistentConfigurationManager.get_configurations()) assert before_refresh > 0 PersistentConfigurationManager.read_configurations() @@ -245,7 +243,7 @@ def test_configurations_last_activate(): result = runner.invoke( app, - ["configurations", "activate"], + ["activate"], input=str(configuration_id) + "\n", catch_exceptions=False, ) @@ -253,4 +251,4 @@ def test_configurations_last_activate(): assert result.exit_code == 0,\ f"{result.stdout}"\ f"{result.stderr}" - assert PersistentSessionManager.get_active_session().configuration_name == "localhost" \ No newline at end of file + assert PersistentSessionManager.get_active_session().configuration_name == "localhost" diff --git a/tests/integration_tests/test_constraints.py b/tests/integration_tests/test_constraints.py index 28d8cee3..af2a8574 100644 --- a/tests/integration_tests/test_constraints.py +++ b/tests/integration_tests/test_constraints.py @@ -17,7 +17,7 @@ # Model Variables MODELS_PATH = os.path.join(FILES_PATH, "models") -MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.6.2.jar") +MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.12.0.jar") MODEL_NAME = "banananation" MODEL_VERSION = "0.0.1" model_id = -1 @@ -54,7 +54,7 @@ def set_up_environment(request): plan_id = client.create_activity_plan(model_id, plan_to_create) def test_constraint_upload(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "constraints", "upload"], + result = runner.invoke(app, ["constraints", "upload"], input="Test" + "\n" + CONSTRAINT_PATH + "\n" + str(model_id) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ @@ -72,7 +72,7 @@ def test_constraint_upload(): f"{result.stderr}" def test_constraint_update(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "constraints", "update"], + result = runner.invoke(app, ["constraints", "update"], input=str(constraint_id) + "\n" + CONSTRAINT_PATH + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ @@ -81,7 +81,7 @@ def test_constraint_update(): assert "Updated constraint" in result.stdout def test_constraint_delete(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "constraints", "delete"], + result = runner.invoke(app, ["constraints", "delete"], input=str(constraint_id) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ @@ -90,10 +90,10 @@ def test_constraint_delete(): assert f"Successfully deleted constraint {str(constraint_id)}" in result.stdout def test_constraint_violations(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "constraints", "violations"], + result = runner.invoke(app, ["constraints", "violations"], input=str(plan_id) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ f"{result.stderr}" - assert "Constraint violations: " in result.stdout \ No newline at end of file + assert "Constraint violations: " in result.stdout diff --git a/tests/integration_tests/test_expansion.py b/tests/integration_tests/test_expansion.py index 64807933..c7ec4e8f 100644 --- a/tests/integration_tests/test_expansion.py +++ b/tests/integration_tests/test_expansion.py @@ -20,7 +20,7 @@ # Model Variables MODELS_PATH = os.path.join(FILES_PATH, "models") -MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.6.2.jar") +MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.12.0.jar") MODEL_NAME = "banananation" MODEL_VERSION = "0.0.1" model_id = -1 @@ -83,7 +83,7 @@ def set_up_environment(request): def test_expansion_sequence_create(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "create"], + ["expansion", "sequences", "create"], input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n" + str(2) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ @@ -94,7 +94,7 @@ def test_expansion_sequence_create(): def test_expansion_sequence_list(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "list"], + ["expansion", "sequences", "list"], input="2" + "\n" + str(sim_id) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ @@ -105,7 +105,7 @@ def test_expansion_sequence_list(): def test_expansion_sequence_download(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "download"], + ["expansion", "sequences", "download"], input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ @@ -118,7 +118,7 @@ def test_expansion_sequence_download(): def test_expansion_sequence_delete(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sequences", "delete"], + ["expansion", "sequences", "delete"], input=str(sim_id) + "\n" + str(expansion_sequence_id) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ @@ -147,7 +147,7 @@ def test_expansion_set_create(): ) result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "create"], + ["expansion", "sets", "create"], input=str(model_id) + "\n" + str(command_dictionary_id) + "\n" + "BakeBananaBread" + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ @@ -166,7 +166,7 @@ def test_expansion_set_create(): def test_expansion_set_get(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "get"], + ["expansion", "sets", "get"], input=str(expansion_set_id) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ @@ -177,7 +177,7 @@ def test_expansion_set_get(): def test_expansion_set_list(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "sets", "list"], + ["expansion", "sets", "list"], catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ @@ -191,7 +191,7 @@ def test_expansion_set_list(): def test_expansion_run_create(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "runs", "create"], + ["expansion", "runs", "create"], input=str(sim_id) + "\n" + str(expansion_set_id) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ @@ -202,7 +202,7 @@ def test_expansion_run_create(): def test_expansion_runs_list(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "expansion", "runs", "list"], + ["expansion", "runs", "list"], input="2" + "\n" + str(sim_id) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ @@ -217,10 +217,10 @@ def test_expansion_runs_list(): def test_model_delete(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "delete"], + ["models", "delete"], input=str(model_id), catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ f"{result.stderr}" - assert f"ID: {model_id} has been removed" in result.stdout \ No newline at end of file + assert f"ID: {model_id} has been removed" in result.stdout diff --git a/tests/integration_tests/test_metadata.py b/tests/integration_tests/test_metadata.py index 46b9bb06..802c81c9 100644 --- a/tests/integration_tests/test_metadata.py +++ b/tests/integration_tests/test_metadata.py @@ -15,7 +15,7 @@ METADATA_SCHEMA_PATH = os.path.join(METADATA_SCHEMAS_PATH, "metadata_schema.json") def test_metadata_list(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "list"], + result = runner.invoke(app, ["metadata", "list"], catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ @@ -23,7 +23,7 @@ def test_metadata_list(): assert "Metadata Schemas" in result.stdout def test_metadata_clean(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "clean"], + result = runner.invoke(app, ["metadata", "clean"], catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ @@ -31,7 +31,7 @@ def test_metadata_clean(): assert "All metadata schemas have been deleted" in result.stdout def test_metadata_upload(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "upload"], + result = runner.invoke(app, ["metadata", "upload"], input=METADATA_SCHEMA_PATH, catch_exceptions=False,) assert result.exit_code == 0,\ @@ -40,10 +40,10 @@ def test_metadata_upload(): assert "2 new schema have been added" in result.stdout def test_metadata_delete(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "metadata", "delete"], + result = runner.invoke(app, ["metadata", "delete"], input="STRING_EXAMPLE", catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ f"{result.stderr}" - assert "Schema `STRING_EXAMPLE` has been removed" in result.stdout \ No newline at end of file + assert "Schema `STRING_EXAMPLE` has been removed" in result.stdout diff --git a/tests/integration_tests/test_models.py b/tests/integration_tests/test_models.py index cfd934b5..3b0f533a 100644 --- a/tests/integration_tests/test_models.py +++ b/tests/integration_tests/test_models.py @@ -14,7 +14,7 @@ # Model Variables MODELS_PATH = os.path.join(FILES_PATH, "models") -MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.6.2.jar") +MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.12.0.jar") MODEL_NAME = "banananation" MODEL_VERSION = "0.0.1" model_id = -1 @@ -22,7 +22,7 @@ def test_model_clean(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "clean"], + ["models", "clean"], catch_exceptions=False, ) assert result.exit_code == 0,\ @@ -36,7 +36,7 @@ def test_model_clean(): def test_model_upload(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "upload", "--time-tag-version"], + ["models", "upload", "--time-tag-version"], input=MODEL_JAR + "\n" + MODEL_NAME @@ -63,7 +63,7 @@ def test_model_upload(): def test_model_list(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "list"], + ["models", "list"], catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ @@ -73,10 +73,10 @@ def test_model_list(): def test_model_delete(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "delete"], + ["models", "delete"], input=str(model_id), catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ f"{result.stderr}" - assert f"ID: {model_id} has been removed" in result.stdout \ No newline at end of file + assert f"ID: {model_id} has been removed" in result.stdout diff --git a/tests/integration_tests/test_plans.py b/tests/integration_tests/test_plans.py index f45bdb80..623b829e 100644 --- a/tests/integration_tests/test_plans.py +++ b/tests/integration_tests/test_plans.py @@ -19,7 +19,7 @@ # Model Variables MODELS_PATH = os.path.join(FILES_PATH, "models") -MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.6.2.jar") +MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.12.0.jar") MODEL_NAME = "banananation" MODEL_VERSION = "0.0.1" model_id = -1 @@ -48,7 +48,7 @@ def set_up_environment(request): def cli_plan_simulate(): return runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "simulate", "--output", "temp.json"], + ["plans", "simulate", "--output", "temp.json"], input=str(plan_id) + "\n", catch_exceptions=False ) @@ -65,7 +65,7 @@ def test_plan_upload(): # Test plan upload result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "upload", "--time-tag"], + ["plans", "upload", "--time-tag"], input=PLAN_JSON + "\n" + str(model_id) + "\n", catch_exceptions=False, ) @@ -84,7 +84,7 @@ def test_plan_upload(): def test_plan_duplicate(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "duplicate"], + ["plans", "duplicate"], input=str(plan_id) + "\n" + DUP_PLAN_NAME + "\n", catch_exceptions=False, ) @@ -101,7 +101,7 @@ def test_plan_duplicate(): def test_plan_list(): - result = runner.invoke(app, ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "list"], + result = runner.invoke(app, ["plans", "list"], catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ @@ -127,7 +127,7 @@ def test_plan_simulate(): def test_plan_download(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download"], + ["plans", "download"], input=str(plan_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", catch_exceptions=False, ) @@ -142,7 +142,7 @@ def test_plan_download(): def test_plan_download_resources(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download-resources"], + ["plans", "download-resources"], input=str(sim_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", catch_exceptions=False, ) @@ -157,7 +157,7 @@ def test_plan_download_resources(): def test_plan_download_simulation(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "download-simulation"], + ["plans", "download-simulation"], input=str(sim_id) + "\n" + DOWNLOADED_FILE_NAME + "\n", catch_exceptions=False, ) @@ -172,7 +172,7 @@ def test_plan_download_simulation(): def test_plan_create_config(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "create-config"], + ["plans", "create-config"], input=str(plan_id) + "\n" + PLAN_ARGS_INIT + "\n", catch_exceptions=False, ) @@ -193,7 +193,7 @@ def test_simulate_after_create_config(): def test_plan_update_config(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "update-config"], + ["plans", "update-config"], input=str(plan_id) + "\n" + PLAN_ARGS_UPDATE + "\n", catch_exceptions=False, ) @@ -218,7 +218,7 @@ def test_simulate_after_update_config(): def test_plan_delete(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "delete"], + ["plans", "delete"], input=str(plan_id) + "\n", catch_exceptions=False,) assert result.exit_code == 0,\ @@ -230,7 +230,7 @@ def test_plan_delete(): def test_plan_clean(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "plans", "clean"], + ["plans", "clean"], catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ @@ -247,10 +247,10 @@ def test_plan_clean(): def test_model_delete(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "models", "delete"], + ["models", "delete"], input=str(model_id), catch_exceptions=False,) assert result.exit_code == 0,\ f"{result.stdout}"\ f"{result.stderr}" - assert f"ID: {model_id} has been removed" in result.stdout \ No newline at end of file + assert f"ID: {model_id} has been removed" in result.stdout diff --git a/tests/integration_tests/test_scheduling.py b/tests/integration_tests/test_scheduling.py index 769d9961..1a0765f9 100644 --- a/tests/integration_tests/test_scheduling.py +++ b/tests/integration_tests/test_scheduling.py @@ -20,7 +20,7 @@ # Model Variables MODELS_PATH = os.path.join(FILES_PATH, "models") -MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.6.2.jar") +MODEL_JAR = os.path.join(MODELS_PATH, "banananation-1.12.0.jar") MODEL_NAME = "banananation" MODEL_VERSION = "0.0.1" model_id = 0 @@ -74,7 +74,7 @@ def cli_schedule_upload(): fid.write(GOAL_PATH) result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "upload"], + ["scheduling", "upload"], input=str(model_id) + "\n" + str(plan_id) + "\n" + schedule_file_path + "\n", catch_exceptions=False, ) @@ -101,7 +101,7 @@ def test_schedule_delete(): result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "delete"], + ["scheduling", "delete"], input=str(goal_id) + "\n", catch_exceptions=False, ) @@ -117,11 +117,11 @@ def test_schedule_delete_all(): # Delete all goals result = runner.invoke( app, - ["-c", "localhost", "--hasura-admin-secret", HASURA_ADMIN_SECRET, "scheduling", "delete-all-goals-for-plan"], + ["scheduling", "delete-all-goals-for-plan"], input=str(plan_id) + "\n", catch_exceptions=False, ) assert result.exit_code == 0,\ f"{result.stdout}"\ f"{result.stderr}" - assert f"Deleting goals for Plan ID {plan_id}" in result.stdout \ No newline at end of file + assert f"Deleting goals for Plan ID {plan_id}" in result.stdout diff --git a/tests/unit_tests/test_persistent_configuration.py b/tests/unit_tests/test_persistent_configuration.py index c508280d..ec1c781d 100644 --- a/tests/unit_tests/test_persistent_configuration.py +++ b/tests/unit_tests/test_persistent_configuration.py @@ -2,7 +2,7 @@ import json from pathlib import Path -from aerie_cli.aerie_host import AerieHostConfiguration, AuthMethod +from aerie_cli.aerie_host import AerieHostConfiguration from aerie_cli import persistent from aerie_cli.persistent import PersistentConfigurationManager @@ -10,13 +10,13 @@ @pytest.fixture(autouse=True) def persistent_path(tmp_path: Path): """ - Fixture sets up by reverting the PersistentConfigurationManager state and + Fixture sets up by reverting the PersistentConfigurationManager state and setting a new temporary path for the configuration file directory """ # Set the paths the configuration manager uses - persistent.CONFIGURATION_FILE_DIRECTORY = tmp_path.joinpath('tmp') - persistent.CONFIGURATION_FILE_PATH = tmp_path.joinpath('tmp', 'config.json') + persistent.CONFIGURATION_FILE_DIRECTORY = tmp_path.joinpath("tmp") + persistent.CONFIGURATION_FILE_PATH = tmp_path.joinpath("tmp", "config.json") # Set configuration manager to initial state PersistentConfigurationManager._configurations = None @@ -36,8 +36,8 @@ def test_read_configurations_empty(): Read configurations when the configurations file is empty """ persistent.CONFIGURATION_FILE_DIRECTORY.mkdir() - with open(persistent.CONFIGURATION_FILE_PATH, 'w') as fid: - fid.write('[]') + with open(persistent.CONFIGURATION_FILE_PATH, "w") as fid: + fid.write("[]") PersistentConfigurationManager.read_configurations() assert PersistentConfigurationManager._configurations == [] @@ -48,23 +48,15 @@ def test_read_configurations_multiple(): Read configurations when there are several defined """ stored_configurations = [ - AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE), - AerieHostConfiguration( - 'b', 'http://b.com', 'http://b.com', AuthMethod.NONE), - AerieHostConfiguration( - 'c', 'http://c.com', 'http://c.com', - AuthMethod.AERIE_NATIVE, 'http://c.com/auth', 'abcd'), - AerieHostConfiguration( - 'd', 'http://d.com', 'http://d.com', - AuthMethod.COOKIE, 'http://d.com/auth', 'abcd'), - AerieHostConfiguration( - 'e', 'http://e.com', 'http://e.com', - AuthMethod.COOKIE, 'http://e.com/auth', None) + AerieHostConfiguration("a", "http://a.com", "http://a.com"), + AerieHostConfiguration("b", "http://b.com", "http://b.com"), + AerieHostConfiguration("c", "http://c.com", "http://c.com", "abcd"), + AerieHostConfiguration("d", "http://d.com", "http://d.com", "abcd"), + AerieHostConfiguration("e", "http://e.com", "http://e.com", None), ] persistent.CONFIGURATION_FILE_DIRECTORY.mkdir() - with open(persistent.CONFIGURATION_FILE_PATH, 'w') as fid: + with open(persistent.CONFIGURATION_FILE_PATH, "w") as fid: json.dump([s.to_dict() for s in stored_configurations], fid) PersistentConfigurationManager.read_configurations() @@ -78,36 +70,22 @@ def test_empty_username(): """ configurations_to_write = [ - AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE), - AerieHostConfiguration( - 'b', 'http://b.com', 'http://b.com', - AuthMethod.AERIE_NATIVE, 'http://b.com/auth', 'abcd'), - AerieHostConfiguration( - 'c', 'http://c.com', 'http://c.com', - AuthMethod.AERIE_NATIVE, 'http://c.com/auth'), - AerieHostConfiguration( - 'd', 'http://d.com', 'http://d.com', - AuthMethod.COOKIE, 'http://d.com/auth', None) + AerieHostConfiguration("a", "http://a.com", "http://a.com"), + AerieHostConfiguration("b", "http://b.com", "http://b.com", "abcd"), + AerieHostConfiguration("c", "http://c.com", "http://c.com", None), + AerieHostConfiguration("d", "http://d.com", "http://d.com"), ] - + # Expect the same as if a None type was passed expected = [ - AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE), - AerieHostConfiguration( - 'b', 'http://b.com', 'http://b.com', - AuthMethod.AERIE_NATIVE, 'http://b.com/auth', 'abcd'), - AerieHostConfiguration( - 'c', 'http://c.com', 'http://c.com', - AuthMethod.AERIE_NATIVE, 'http://c.com/auth', None), - AerieHostConfiguration( - 'd', 'http://d.com', 'http://d.com', - AuthMethod.COOKIE, 'http://d.com/auth', None) + AerieHostConfiguration("a", "http://a.com", "http://a.com"), + AerieHostConfiguration("b", "http://b.com", "http://b.com", "abcd"), + AerieHostConfiguration("c", "http://c.com", "http://c.com", None), + AerieHostConfiguration("d", "http://d.com", "http://d.com"), ] persistent.CONFIGURATION_FILE_DIRECTORY.mkdir() - with open(persistent.CONFIGURATION_FILE_PATH, 'w') as fid: + with open(persistent.CONFIGURATION_FILE_PATH, "w") as fid: json.dump([s.to_dict() for s in configurations_to_write], fid) PersistentConfigurationManager.read_configurations() @@ -115,17 +93,16 @@ def test_empty_username(): assert read_configurations == expected - def test_write_configurations_none(): """ Write configurations when the file doesn't yet exist """ - configuration_to_write = [AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE - )] + configuration_to_write = [ + AerieHostConfiguration("a", "http://a.com", "http://a.com") + ] PersistentConfigurationManager._configurations = configuration_to_write PersistentConfigurationManager.write_configurations() - with open(persistent.CONFIGURATION_FILE_PATH, 'r') as fid: + with open(persistent.CONFIGURATION_FILE_PATH, "r") as fid: assert [configuration_to_write[0].to_dict()] == json.load(fid) @@ -134,23 +111,19 @@ def test_write_configurations(): Write configurations by overwriting the existing file """ - old_configuration = [AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE - )] + old_configuration = [AerieHostConfiguration("a", "http://a.com", "http://a.com")] persistent.CONFIGURATION_FILE_DIRECTORY.mkdir() - with open(persistent.CONFIGURATION_FILE_PATH, 'w') as fid: + with open(persistent.CONFIGURATION_FILE_PATH, "w") as fid: json.dump([s.to_dict() for s in old_configuration], fid) configuration_to_write = [ - AerieHostConfiguration( - 'b', 'http://b.com', 'http://b.com', AuthMethod.NONE), - AerieHostConfiguration( - 'c', 'http://c.com', 'http://c.com', AuthMethod.NONE) + AerieHostConfiguration("b", "http://b.com", "http://b.com"), + AerieHostConfiguration("c", "http://c.com", "http://c.com"), ] PersistentConfigurationManager._configurations = configuration_to_write PersistentConfigurationManager.write_configurations() - with open(persistent.CONFIGURATION_FILE_PATH, 'r') as fid: + with open(persistent.CONFIGURATION_FILE_PATH, "r") as fid: assert [s.to_dict() for s in configuration_to_write] == json.load(fid) @@ -159,19 +132,23 @@ def test_delete_configuration_broken(): Try to delete a configuration that doesn't exist """ PersistentConfigurationManager._configurations = [ - AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE), - AerieHostConfiguration( - 'b', 'http://b.com', 'http://b.com', AuthMethod.NONE), - AerieHostConfiguration( - 'c', 'http://c.com', 'http://c.com', - AuthMethod.AERIE_NATIVE, 'http://c.com/auth', 'abcd'), - AerieHostConfiguration( - 'd', 'http://d.com', 'http://d.com', - AuthMethod.COOKIE, 'http://d.com/auth', 'abcd') + AerieHostConfiguration("a", "http://a.com", "http://a.com"), + AerieHostConfiguration("b", "http://b.com", "http://b.com"), + AerieHostConfiguration( + "c", + "http://c.com", + "abcd", + ), + AerieHostConfiguration( + "d", + "http://d.com", + "http://d.com", + "http://d.com/auth", + "abcd", + ), ] with pytest.raises(ValueError): - PersistentConfigurationManager.delete_configuration('BAD') + PersistentConfigurationManager.delete_configuration("BAD") def test_delete_configuration_valid(): @@ -181,37 +158,46 @@ def test_delete_configuration_valid(): # Define and store configuration before deleting 'b' configurations_before = [ - AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE), - AerieHostConfiguration( - 'b', 'http://b.com', 'http://b.com', AuthMethod.NONE), - AerieHostConfiguration( - 'c', 'http://c.com', 'http://c.com', - AuthMethod.AERIE_NATIVE, 'http://c.com/auth', 'abcd'), - AerieHostConfiguration( - 'd', 'http://d.com', 'http://d.com', - AuthMethod.COOKIE, 'http://d.com/auth', 'abcd') + AerieHostConfiguration("a", "http://a.com", "http://a.com"), + AerieHostConfiguration("b", "http://b.com", "http://b.com"), + AerieHostConfiguration( + "c", + "http://c.com", + "http://c.com", + "abcd", + ), + AerieHostConfiguration( + "d", + "http://d.com", + "http://d.com", + "abcd", + ), ] PersistentConfigurationManager._configurations = configurations_before persistent.CONFIGURATION_FILE_DIRECTORY.mkdir() - with open(persistent.CONFIGURATION_FILE_PATH, 'w') as fid: + with open(persistent.CONFIGURATION_FILE_PATH, "w") as fid: json.dump([s.to_dict() for s in configurations_before], fid) configurations_after = [ - AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE), - AerieHostConfiguration( - 'c', 'http://c.com', 'http://c.com', - AuthMethod.AERIE_NATIVE, 'http://c.com/auth', 'abcd'), - AerieHostConfiguration( - 'd', 'http://d.com', 'http://d.com', - AuthMethod.COOKIE, 'http://d.com/auth', 'abcd') + AerieHostConfiguration("a", "http://a.com", "http://a.com"), + AerieHostConfiguration( + "c", + "http://c.com", + "http://c.com", + "abcd", + ), + AerieHostConfiguration( + "d", + "http://d.com", + "http://d.com", + "abcd", + ), ] - PersistentConfigurationManager.delete_configuration('b') + PersistentConfigurationManager.delete_configuration("b") assert PersistentConfigurationManager._configurations == configurations_after - with open(persistent.CONFIGURATION_FILE_PATH, 'r') as fid: + with open(persistent.CONFIGURATION_FILE_PATH, "r") as fid: assert [s.to_dict() for s in configurations_after] == json.load(fid) @@ -220,20 +206,23 @@ def test_update_configuration_broken(): Try to update a configuration that doesn't exist """ PersistentConfigurationManager._configurations = [ - AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE), - AerieHostConfiguration( - 'b', 'http://b.com', 'http://b.com', AuthMethod.NONE), - AerieHostConfiguration( - 'c', 'http://c.com', 'http://c.com', - AuthMethod.AERIE_NATIVE, 'http://c.com/auth', 'abcd'), - AerieHostConfiguration( - 'd', 'http://d.com', 'http://d.com', - AuthMethod.COOKIE, 'http://d.com/auth', 'abcd') + AerieHostConfiguration("a", "http://a.com", "http://a.com"), + AerieHostConfiguration("b", "http://b.com", "http://b.com"), + AerieHostConfiguration( + "c", + "http://c.com", + "http://c.com", + "abcd", + ), + AerieHostConfiguration( + "d", + "http://d.com", + "http://d.com", + "abcd", + ), ] - bad_update_config = AerieHostConfiguration( - 'e', 'http://e.com', 'http://e.com', AuthMethod.NONE) + bad_update_config = AerieHostConfiguration("e", "http://e.com", "http://e.com") with pytest.raises(ValueError): PersistentConfigurationManager.update_configuration(bad_update_config) @@ -246,42 +235,30 @@ def test_update_configuration(): # Define and store configuration before updating 'c' configurations_before = [ - AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE), - AerieHostConfiguration( - 'b', 'http://b.com', 'http://b.com', AuthMethod.NONE), - AerieHostConfiguration( - 'c', 'http://c.com', 'http://c.com', - AuthMethod.AERIE_NATIVE, 'http://c.com/auth', 'abcd'), - AerieHostConfiguration( - 'd', 'http://d.com', 'http://d.com', - AuthMethod.COOKIE, 'http://d.com/auth', 'abcd') + AerieHostConfiguration("a", "http://a.com", "http://a.com"), + AerieHostConfiguration("b", "http://b.com", "http://b.com"), + AerieHostConfiguration("c", "http://c.com", "http://c.com", "abcd"), + AerieHostConfiguration("d", "http://d.com", "http://d.com", "abcd"), ] PersistentConfigurationManager._configurations = configurations_before persistent.CONFIGURATION_FILE_DIRECTORY.mkdir() - with open(persistent.CONFIGURATION_FILE_PATH, 'w') as fid: + with open(persistent.CONFIGURATION_FILE_PATH, "w") as fid: json.dump([s.to_dict() for s in configurations_before], fid) - config_to_update = AerieHostConfiguration( - 'c', 'https://c.co', 'https://c.co', AuthMethod.NONE) + config_to_update = AerieHostConfiguration("c", "https://c.co", "https://c.co") # Preserve order configurations_after = [ - AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE), - AerieHostConfiguration( - 'b', 'http://b.com', 'http://b.com', AuthMethod.NONE), - AerieHostConfiguration( - 'c', 'https://c.co', 'https://c.co', AuthMethod.NONE), - AerieHostConfiguration( - 'd', 'http://d.com', 'http://d.com', - AuthMethod.COOKIE, 'http://d.com/auth', 'abcd') + AerieHostConfiguration("a", "http://a.com", "http://a.com"), + AerieHostConfiguration("b", "http://b.com", "http://b.com"), + AerieHostConfiguration("c", "https://c.co", "https://c.co"), + AerieHostConfiguration("d", "http://d.com", "http://d.com", "abcd"), ] PersistentConfigurationManager.update_configuration(config_to_update) assert PersistentConfigurationManager._configurations == configurations_after - with open(persistent.CONFIGURATION_FILE_PATH, 'r') as fid: + with open(persistent.CONFIGURATION_FILE_PATH, "r") as fid: assert [s.to_dict() for s in configurations_after] == json.load(fid) @@ -292,24 +269,17 @@ def test_create_configuration_broken(): # Define and store configuration before trying to create a new configuration configurations_before = [ - AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE), - AerieHostConfiguration( - 'b', 'http://b.com', 'http://b.com', AuthMethod.NONE), - AerieHostConfiguration( - 'c', 'http://c.com', 'http://c.com', - AuthMethod.AERIE_NATIVE, 'http://c.com/auth', 'abcd'), - AerieHostConfiguration( - 'd', 'http://d.com', 'http://d.com', - AuthMethod.COOKIE, 'http://d.com/auth', 'abcd') + AerieHostConfiguration("a", "http://a.com", "http://a.com"), + AerieHostConfiguration("b", "http://b.com", "http://b.com"), + AerieHostConfiguration("c", "http://c.com", "http://c.com", "abcd"), + AerieHostConfiguration("d", "http://d.com", "http://d.com", "abcd"), ] PersistentConfigurationManager._configurations = configurations_before persistent.CONFIGURATION_FILE_DIRECTORY.mkdir() - with open(persistent.CONFIGURATION_FILE_PATH, 'w') as fid: + with open(persistent.CONFIGURATION_FILE_PATH, "w") as fid: json.dump([s.to_dict() for s in configurations_before], fid) - config_to_create = AerieHostConfiguration( - 'c', 'https://c.co', 'https://c.co', AuthMethod.NONE) + config_to_create = AerieHostConfiguration("c", "https://c.co", "https://c.co") with pytest.raises(ValueError): PersistentConfigurationManager.create_configuration(config_to_create) @@ -322,43 +292,29 @@ def test_create_configuration_valid(): # Define and store configuration before trying to create a new configuration configurations_before = [ - AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE), - AerieHostConfiguration( - 'b', 'http://b.com', 'http://b.com', AuthMethod.NONE), - AerieHostConfiguration( - 'c', 'http://c.com', 'http://c.com', - AuthMethod.AERIE_NATIVE, 'http://c.com/auth', 'abcd'), - AerieHostConfiguration( - 'd', 'http://d.com', 'http://d.com', - AuthMethod.COOKIE, 'http://d.com/auth', 'abcd') + AerieHostConfiguration("a", "http://a.com", "http://a.com"), + AerieHostConfiguration("b", "http://b.com", "http://b.com"), + AerieHostConfiguration("c", "http://c.com", "http://c.com", "abcd"), + AerieHostConfiguration("d", "http://d.com", "http://d.com", "abcd"), ] PersistentConfigurationManager._configurations = configurations_before persistent.CONFIGURATION_FILE_DIRECTORY.mkdir() - with open(persistent.CONFIGURATION_FILE_PATH, 'w') as fid: + with open(persistent.CONFIGURATION_FILE_PATH, "w") as fid: json.dump([s.to_dict() for s in configurations_before], fid) - config_to_create = AerieHostConfiguration( - 'e', 'https://e.co', 'https://e.co', AuthMethod.NONE) + config_to_create = AerieHostConfiguration("e", "https://e.co", "https://e.co") # Preserve order configurations_after = [ - AerieHostConfiguration( - 'a', 'http://a.com', 'http://a.com', AuthMethod.NONE), - AerieHostConfiguration( - 'b', 'http://b.com', 'http://b.com', AuthMethod.NONE), - AerieHostConfiguration( - 'c', 'http://c.com', 'http://c.com', - AuthMethod.AERIE_NATIVE, 'http://c.com/auth', 'abcd'), - AerieHostConfiguration( - 'd', 'http://d.com', 'http://d.com', - AuthMethod.COOKIE, 'http://d.com/auth', 'abcd'), - AerieHostConfiguration( - 'e', 'https://e.co', 'https://e.co', AuthMethod.NONE) + AerieHostConfiguration("a", "http://a.com", "http://a.com"), + AerieHostConfiguration("b", "http://b.com", "http://b.com"), + AerieHostConfiguration("c", "http://c.com", "http://c.com", "abcd"), + AerieHostConfiguration("d", "http://d.com", "http://d.com", "abcd"), + AerieHostConfiguration("e", "https://e.co", "https://e.co"), ] PersistentConfigurationManager.create_configuration(config_to_create) assert PersistentConfigurationManager._configurations == configurations_after - with open(persistent.CONFIGURATION_FILE_PATH, 'r') as fid: + with open(persistent.CONFIGURATION_FILE_PATH, "r") as fid: assert [s.to_dict() for s in configurations_after] == json.load(fid) From 059e95dec6037314aa6843f7bb85a145b53b108e Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Wed, 6 Sep 2023 08:49:57 -0700 Subject: [PATCH 53/55] Review comments --- test.env => .env | 0 src/aerie_cli/aerie_host.py | 1 + src/aerie_cli/commands/command_context.py | 1 + src/aerie_cli/commands/configurations.py | 31 ------------------- src/aerie_cli/persistent.py | 36 +++++++++++------------ src/aerie_cli/utils/sessions.py | 36 +++++++++++------------ tests/integration_tests/conftest.py | 1 - 7 files changed, 37 insertions(+), 69 deletions(-) rename test.env => .env (100%) diff --git a/test.env b/.env similarity index 100% rename from test.env rename to .env diff --git a/src/aerie_cli/aerie_host.py b/src/aerie_cli/aerie_host.py index b0234e5e..e2d43e34 100644 --- a/src/aerie_cli/aerie_host.py +++ b/src/aerie_cli/aerie_host.py @@ -44,6 +44,7 @@ def __init__(self, encoded_jwt: str) -> None: self.allowed_roles = payload["https://hasura.io/jwt/claims"][ "x-hasura-allowed-roles" ] + self.username = payload["username"] except KeyError: raise ValueError(f"Missing fields in JWT: {encoded_jwt}") diff --git a/src/aerie_cli/commands/command_context.py b/src/aerie_cli/commands/command_context.py index e2b71a50..32017a8e 100644 --- a/src/aerie_cli/commands/command_context.py +++ b/src/aerie_cli/commands/command_context.py @@ -33,5 +33,6 @@ def get_client(cls) -> AerieClient: if cls.hasura_admin_secret: client.aerie_host.session.headers["x-hasura-admin-secret"] = cls.hasura_admin_secret client.aerie_host.session.headers["x-hasura-role"] = "aerie_admin" + client.aerie_host.session.headers["x-hasura-user-id"] = client.aerie_host.aerie_jwt.username if client.aerie_host.aerie_jwt else "hasura_admin" return client diff --git a/src/aerie_cli/commands/configurations.py b/src/aerie_cli/commands/configurations.py index f106536e..b6410e08 100644 --- a/src/aerie_cli/commands/configurations.py +++ b/src/aerie_cli/commands/configurations.py @@ -41,37 +41,6 @@ def create_configuration( PersistentConfigurationManager.create_configuration(conf) -# TODO either pull this command if it doesn't see regular use, or update to support the latest config format -# @app.command('update') -# def update_configuration( -# name: str = typer.Option( -# None, '--name', '-n', help='Name of the configuration to update', metavar='NAME' -# ) -# ): -# """ -# Update an existing configuration for an Aerie host -# """ - -# # Give user prompt if no name is given -# if name is None: -# name = select_from_list( -# [c.name for c in PersistentConfigurationManager.get_configurations()]) - -# # Get corresponding configuration -# conf = PersistentConfigurationManager.get_configuration_by_name(name) - -# conf.graphql_url = typer.prompt( -# 'Url of GraphQL API endpoint', conf.graphql_url) -# conf.gateway_url = typer.prompt('Url of Aerie Gateway', conf.gateway_url) - -# if typer.confirm('Specify username', default=(conf.username is None)): -# conf.username = typer.prompt('Username') -# else: -# conf.username = None - -# PersistentConfigurationManager.update_configuration(conf) - - @app.command('load') def upload_configurations( filename: Path = typer.Option( diff --git a/src/aerie_cli/persistent.py b/src/aerie_cli/persistent.py index ed47fc9c..b60916b2 100644 --- a/src/aerie_cli/persistent.py +++ b/src/aerie_cli/persistent.py @@ -122,41 +122,41 @@ def _load_active_session(cls) -> None: return # Get any/all open sessions. List in chronological order, newest first - fs: List[Path] = [ + session_files: List[Path] = [ f for f in SESSION_FILE_DIRECTORY.glob('*.aerie_cli.session')] - fs.sort(reverse=True) + session_files.sort(reverse=True) - if not len(fs): + if not len(session_files): raise NoActiveSessionError # Delete any sessions older than the newest - for fn in fs[1:]: - fn.unlink() + for session_file in session_files[1:]: + session_file.unlink() # Get timestamp of newest session - fn = fs[0] + session_file = session_files[0] try: t = datetime.strptime( - fn.name[:-(len('.aerie_cli.session'))], SESSION_TIMESTAMP_FSTRING) + session_file.name[:-(len('.aerie_cli.session'))], SESSION_TIMESTAMP_FSTRING) except Exception: - raise RuntimeError(f"Cannot parse session timestamp: {fn.name}. Try deactivating your session.") + raise RuntimeError(f"Cannot parse session timestamp: {session_file.name}. Try deactivating your session.") # If session hasn't been used since timeout, mark as inactive if (datetime.utcnow() - t) > SESSION_TIMEOUT: - fn.unlink() + session_file.unlink() raise NoActiveSessionError # Un-pickle the session try: - with open(fn, 'rb') as fid: + with open(session_file, 'rb') as fid: session: AerieHost = pickle.load(fid) except Exception: - fn.unlink() + session_file.unlink() raise NoActiveSessionError # If gateway ping fails, mark session as inactive if not cls.set_active_session(session): - fn.unlink() + session_file.unlink() raise NoActiveSessionError @classmethod @@ -170,17 +170,17 @@ def set_active_session(cls, session: AerieHost) -> bool: if not session.check_auth(): return False - fs: List[Path] = [ + session_files: List[Path] = [ f for f in SESSION_FILE_DIRECTORY.glob('*.aerie_cli.session')] - for fn in fs: - fn.unlink() + for session_file in session_files: + session_file.unlink() cls._active_session = session - fn = datetime.utcnow().strftime(SESSION_TIMESTAMP_FSTRING) + '.aerie_cli.session' - fn = SESSION_FILE_DIRECTORY.joinpath(fn) + session_file = datetime.utcnow().strftime(SESSION_TIMESTAMP_FSTRING) + '.aerie_cli.session' + session_file = SESSION_FILE_DIRECTORY.joinpath(session_file) - with open(fn, 'wb') as fid: + with open(session_file, 'wb') as fid: pickle.dump(session, fid) return True diff --git a/src/aerie_cli/utils/sessions.py b/src/aerie_cli/utils/sessions.py index e67deaf4..a08b6016 100644 --- a/src/aerie_cli/utils/sessions.py +++ b/src/aerie_cli/utils/sessions.py @@ -21,17 +21,17 @@ def get_active_session_client(): def get_localhost_client() -> AerieClient: - aerie_session = AerieHost("http://localhost:8080/v1/graphql", "http://localhost:9000") - if not aerie_session.ping_gateway(): + aerie_host = AerieHost("http://localhost:8080/v1/graphql", "http://localhost:9000") + if not aerie_host.check_auth(): raise RuntimeError(f"Failed to connect to host") - return AerieClient(aerie_session) + return AerieClient(aerie_host) def get_preauthenticated_client_native(encoded_jwt: str, graphql_url: str, gateway_url: str) -> AerieClient: """Get AerieClient instance preauthenticated with native Aerie JWT auth Args: - encoded_jwt (str): base64-encoded JWT + encoded_jwt (str): base64-encoded Aerie JWT graphql_url (str) gateway_url (str) @@ -41,20 +41,19 @@ def get_preauthenticated_client_native(encoded_jwt: str, graphql_url: str, gatew Returns: AerieClient """ - aerie_session = AerieHost(graphql_url, gateway_url) - aerie_session.aerie_jwt = AerieJWT(encoded_jwt) - if not aerie_session.check_auth(): + aerie_host = AerieHost(graphql_url, gateway_url) + aerie_host.aerie_jwt = AerieJWT(encoded_jwt) + if not aerie_host.check_auth(): raise RuntimeError(f"Failed to connect to host") - return AerieClient(aerie_session) + return AerieClient(aerie_host) -def get_preauthenticated_client_cookie(cookie_name: str, cookie_value: str, encoded_jwt: str, graphql_url: str, gateway_url: str) -> AerieClient: - """Get AerieClient instance preauthenticated with an external cookie and JWT +def get_preauthenticated_client_cookie(cookies: dict, encoded_jwt: str, graphql_url: str, gateway_url: str) -> AerieClient: + """Get AerieClient instance preauthenticated with an external cookie(s) and JWT Args: - cookie_name (str): Name of cookie - cookie_value (str): Value of cookie - encoded_jwt (str): base64-encoded JWT + cookies (dict): Browser-style cookies for external authentication + encoded_jwt (str): base64-encoded Aerie JWT graphql_url (str) gateway_url (str) @@ -65,13 +64,12 @@ def get_preauthenticated_client_cookie(cookie_name: str, cookie_value: str, enco AerieClient """ session = requests.Session() - session.cookies = requests.cookies.cookiejar_from_dict( - {cookie_name: cookie_value}) - aerie_session = AerieHost(graphql_url, gateway_url, session=session) - aerie_session.aerie_jwt = AerieJWT(encoded_jwt) - if not aerie_session.check_auth(): + session.cookies = requests.cookies.cookiejar_from_dict(cookies) + aerie_host = AerieHost(graphql_url, gateway_url, session=session) + aerie_host.aerie_jwt = AerieJWT(encoded_jwt) + if not aerie_host.check_auth(): raise RuntimeError(f"Failed to connect to host") - return AerieClient(aerie_session) + return AerieClient(aerie_host) def authenticate_with_external( diff --git a/tests/integration_tests/conftest.py b/tests/integration_tests/conftest.py index 8ee0cf99..e20d96bf 100644 --- a/tests/integration_tests/conftest.py +++ b/tests/integration_tests/conftest.py @@ -27,7 +27,6 @@ aerie_host = AerieHost(GRAPHQL_URL, GATEWAY_URL) aerie_host.authenticate(USERNAME, PASSWORD) aerie_host.change_role("aerie_admin") -# session.session.headers["x-hasura-admin-secret"] = HASURA_ADMIN_SECRET client = AerieClient(aerie_host) DOWNLOADED_FILE_NAME = "downloaded_file.test" From 49b1d0016c4528b67ebf57bd0d345050f3736872 Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Wed, 6 Sep 2023 08:55:02 -0700 Subject: [PATCH 54/55] Bugfix external auth serialization --- src/aerie_cli/aerie_host.py | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/src/aerie_cli/aerie_host.py b/src/aerie_cli/aerie_host.py index e2d43e34..6d9102f8 100644 --- a/src/aerie_cli/aerie_host.py +++ b/src/aerie_cli/aerie_host.py @@ -284,12 +284,13 @@ def authenticate(self, username: str, password: str = None): class ExternalAuthConfiguration: """Configure additional external authentication necessary for connecting to an Aerie host. - Define configuration for a server which can provide additional authentication via cookies. + Define configuration for a server which can provide additional authentication via cookies. auth_url (str): URL to send request for authentication static_post_vars (dict[str, str]): key-value constants to include in the post request variables secret_post_vars (list[str]): keys for secret values to include in the post request variables """ + auth_url: str static_post_vars: dict secret_post_vars: list @@ -300,18 +301,31 @@ def from_dict(cls, config: Dict) -> "ExternalAuthConfiguration": auth_url = config["auth_url"] static_post_vars = config["static_post_vars"] secret_post_vars = config["secret_post_vars"] - + except KeyError as e: - raise ValueError(f"External auth configuration missing required field: {e.args[0]}") - + raise ValueError( + f"External auth configuration missing required field: {e.args[0]}" + ) + if not isinstance(static_post_vars, dict): - raise ValueError("Invalid value for 'static_post_vars' in external auth configuration") - + raise ValueError( + "Invalid value for 'static_post_vars' in external auth configuration" + ) + if not isinstance(secret_post_vars, list): - raise ValueError("Invalid value for 'secret_post_vars' in external auth configuration") + raise ValueError( + "Invalid value for 'secret_post_vars' in external auth configuration" + ) return cls(auth_url, static_post_vars, secret_post_vars) + def to_dict(self) -> Dict: + return { + "auth_url": self.auth_url, + "static_post_vars": self.static_post_vars, + "secret_post_vars": self.secret_post_vars, + } + @define class AerieHostConfiguration: @@ -346,6 +360,6 @@ def to_dict(self) -> Dict: retval["username"] = self.username if self.external_auth is not None: - retval["external_auth"] = self.external_auth + retval["external_auth"] = self.external_auth.to_dict() return retval From 4fb3d9eda1e281a9c424dc4e481a4816621af196 Mon Sep 17 00:00:00 2001 From: Carter Mak Date: Wed, 6 Sep 2023 09:23:15 -0700 Subject: [PATCH 55/55] Requre authenticated Aerie session to use admin secret --- src/aerie_cli/commands/command_context.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/aerie_cli/commands/command_context.py b/src/aerie_cli/commands/command_context.py index 32017a8e..69e6d830 100644 --- a/src/aerie_cli/commands/command_context.py +++ b/src/aerie_cli/commands/command_context.py @@ -31,8 +31,10 @@ def get_client(cls) -> AerieClient: client = get_active_session_client() if cls.hasura_admin_secret: + if client.aerie_host.aerie_jwt is None: + raise RuntimeError(f"Unauthenticated Aerie session") client.aerie_host.session.headers["x-hasura-admin-secret"] = cls.hasura_admin_secret client.aerie_host.session.headers["x-hasura-role"] = "aerie_admin" - client.aerie_host.session.headers["x-hasura-user-id"] = client.aerie_host.aerie_jwt.username if client.aerie_host.aerie_jwt else "hasura_admin" + client.aerie_host.session.headers["x-hasura-user-id"] = client.aerie_host.aerie_jwt.username return client