From 69bf7647d02ab4dcf376da1ecb5045b86887e18e Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Tue, 21 Jun 2022 17:54:09 -0500 Subject: [PATCH 01/11] populate st2tests python_distribution --- st2tests/BUILD | 18 ++++++++++++++++++ .../st2tests/fixtures/localrunner_pack/BUILD | 5 ++++- .../st2tests/fixtures/packs/dummy_pack_1/BUILD | 2 ++ .../st2tests/fixtures/packs/dummy_pack_2/BUILD | 6 +++++- .../st2tests/fixtures/packs/dummy_pack_3/BUILD | 6 +++++- .../st2tests/fixtures/packs/dummy_pack_7/BUILD | 1 + .../st2tests/fixtures/packs/dummy_pack_9/BUILD | 5 ++++- .../fixtures/packs/orquesta_tests/BUILD | 5 ++++- .../packs/test_library_dependencies/BUILD | 5 ++++- st2tests/st2tests/fixtures/specs/BUILD | 6 ++++++ st2tests/st2tests/fixtures/ssl_certs/BUILD | 1 + 11 files changed, 54 insertions(+), 6 deletions(-) diff --git a/st2tests/BUILD b/st2tests/BUILD index a6188b03a9..7403a291d0 100644 --- a/st2tests/BUILD +++ b/st2tests/BUILD @@ -1,3 +1,21 @@ st2_component_python_distribution( component_name="st2tests", + dependencies=[ + "./st2tests/policies", + "./st2tests/policies/meta", + "./st2tests/mocks", + "./st2tests/mocks/runners", + # fixture packs + "./st2tests/fixtures:rbac_fixtures", + # fixtures in packs that are not (directly) packs + "./st2tests/fixtures/packs/executions", + "./st2tests/fixtures/packs/runners", + "./st2tests/fixtures/packs/test_content_version_fixture", # provides fixture const + # fixture etc + "./st2tests/fixtures/conf", + "./st2tests/fixtures/history_views", + "./st2tests/fixtures/keyczar_keys", + "./st2tests/fixtures/specs", + "./st2tests/fixtures/ssl_certs", + ], ) diff --git a/st2tests/st2tests/fixtures/localrunner_pack/BUILD b/st2tests/st2tests/fixtures/localrunner_pack/BUILD index 99d651ce3c..55bc03c748 100644 --- a/st2tests/st2tests/fixtures/localrunner_pack/BUILD +++ b/st2tests/st2tests/fixtures/localrunner_pack/BUILD @@ -3,5 +3,8 @@ pack_metadata( ) python_sources( - dependencies=[":metadata"], + dependencies=[ + ":metadata", + "./actions", + ], ) diff --git a/st2tests/st2tests/fixtures/packs/dummy_pack_1/BUILD b/st2tests/st2tests/fixtures/packs/dummy_pack_1/BUILD index c10f509354..bee4ec7fac 100644 --- a/st2tests/st2tests/fixtures/packs/dummy_pack_1/BUILD +++ b/st2tests/st2tests/fixtures/packs/dummy_pack_1/BUILD @@ -5,6 +5,8 @@ pack_metadata( python_sources( dependencies=[ ":metadata", + "./actions", + "./sensors", "st2tests/st2tests/fixtures/packs/configs/dummy_pack_1.yaml", ], ) diff --git a/st2tests/st2tests/fixtures/packs/dummy_pack_2/BUILD b/st2tests/st2tests/fixtures/packs/dummy_pack_2/BUILD index 410ec9f74b..4ccc030cf7 100644 --- a/st2tests/st2tests/fixtures/packs/dummy_pack_2/BUILD +++ b/st2tests/st2tests/fixtures/packs/dummy_pack_2/BUILD @@ -8,5 +8,9 @@ resource( ) python_sources( - dependencies=[":metadata"], + dependencies=[ + ":metadata", + "./actions", + "./sensors", + ], ) diff --git a/st2tests/st2tests/fixtures/packs/dummy_pack_3/BUILD b/st2tests/st2tests/fixtures/packs/dummy_pack_3/BUILD index 99d651ce3c..0e8f7dfc0b 100644 --- a/st2tests/st2tests/fixtures/packs/dummy_pack_3/BUILD +++ b/st2tests/st2tests/fixtures/packs/dummy_pack_3/BUILD @@ -3,5 +3,9 @@ pack_metadata( ) python_sources( - dependencies=[":metadata"], + dependencies=[ + ":metadata", + "./actions", + "./sensors", + ], ) diff --git a/st2tests/st2tests/fixtures/packs/dummy_pack_7/BUILD b/st2tests/st2tests/fixtures/packs/dummy_pack_7/BUILD index 9549df1e2a..766c524981 100644 --- a/st2tests/st2tests/fixtures/packs/dummy_pack_7/BUILD +++ b/st2tests/st2tests/fixtures/packs/dummy_pack_7/BUILD @@ -5,6 +5,7 @@ pack_metadata( python_sources( dependencies=[ ":metadata", + "./actions", "st2tests/st2tests/fixtures/packs/configs/dummy_pack_7.yaml", ], ) diff --git a/st2tests/st2tests/fixtures/packs/dummy_pack_9/BUILD b/st2tests/st2tests/fixtures/packs/dummy_pack_9/BUILD index 99d651ce3c..55bc03c748 100644 --- a/st2tests/st2tests/fixtures/packs/dummy_pack_9/BUILD +++ b/st2tests/st2tests/fixtures/packs/dummy_pack_9/BUILD @@ -3,5 +3,8 @@ pack_metadata( ) python_sources( - dependencies=[":metadata"], + dependencies=[ + ":metadata", + "./actions", + ], ) diff --git a/st2tests/st2tests/fixtures/packs/orquesta_tests/BUILD b/st2tests/st2tests/fixtures/packs/orquesta_tests/BUILD index 99d651ce3c..55bc03c748 100644 --- a/st2tests/st2tests/fixtures/packs/orquesta_tests/BUILD +++ b/st2tests/st2tests/fixtures/packs/orquesta_tests/BUILD @@ -3,5 +3,8 @@ pack_metadata( ) python_sources( - dependencies=[":metadata"], + dependencies=[ + ":metadata", + "./actions", + ], ) diff --git a/st2tests/st2tests/fixtures/packs/test_library_dependencies/BUILD b/st2tests/st2tests/fixtures/packs/test_library_dependencies/BUILD index 410ec9f74b..872d93e1fb 100644 --- a/st2tests/st2tests/fixtures/packs/test_library_dependencies/BUILD +++ b/st2tests/st2tests/fixtures/packs/test_library_dependencies/BUILD @@ -8,5 +8,8 @@ resource( ) python_sources( - dependencies=[":metadata"], + dependencies=[ + ":metadata", + "./actions", + ], ) diff --git a/st2tests/st2tests/fixtures/specs/BUILD b/st2tests/st2tests/fixtures/specs/BUILD index 090f612588..bf3087a465 100644 --- a/st2tests/st2tests/fixtures/specs/BUILD +++ b/st2tests/st2tests/fixtures/specs/BUILD @@ -2,3 +2,9 @@ resource( name="openapi_specs", source="openapi.yaml.j2", ) + +# This is for an empty __init__.py file. +# Tests will import __package__ from it to tell dep inference it is needed. +python_sources( + dependencies=[":openapi_specs"], +) diff --git a/st2tests/st2tests/fixtures/ssl_certs/BUILD b/st2tests/st2tests/fixtures/ssl_certs/BUILD index d5c05d1ede..8ad3f13509 100644 --- a/st2tests/st2tests/fixtures/ssl_certs/BUILD +++ b/st2tests/st2tests/fixtures/ssl_certs/BUILD @@ -7,6 +7,7 @@ resources( "**/*.pem", "ca/index.txt*", "ca/serial*", + "README.md", ], ) From 33c3b13e94bd3fa5fd79051b7219e38d5602582f Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Mon, 17 May 2021 19:38:07 -0500 Subject: [PATCH 02/11] pants: adjust dependencies for test_util_file_system --- st2common/tests/unit/BUILD | 8 ++++++++ st2tests/BUILD | 3 +++ 2 files changed, 11 insertions(+) diff --git a/st2common/tests/unit/BUILD b/st2common/tests/unit/BUILD index 53db304442..02f49b33cb 100644 --- a/st2common/tests/unit/BUILD +++ b/st2common/tests/unit/BUILD @@ -10,6 +10,14 @@ python_tests( "st2common/tests/unit/base.py", ], uses=["mongo", "rabbitmq"], + overrides={ + "test_util_file_system.py": dict( + dependencies=[ + "st2tests/st2tests/policies", + "st2tests/st2tests/policies/meta:policies_meta", + ], + ), + }, ) python_test_utils( diff --git a/st2tests/BUILD b/st2tests/BUILD index 7403a291d0..d6d325f608 100644 --- a/st2tests/BUILD +++ b/st2tests/BUILD @@ -7,6 +7,9 @@ st2_component_python_distribution( "./st2tests/mocks/runners", # fixture packs "./st2tests/fixtures:rbac_fixtures", + "./st2tests/fixtures/packs:all_packs", + "./st2tests/fixtures/packs_1:all_packs", + "./st2tests/fixtures/packs_invalid:all_packs", # fixtures in packs that are not (directly) packs "./st2tests/fixtures/packs/executions", "./st2tests/fixtures/packs/runners", From 52c4e7826be078a03f32d04e2d5c061fdae21a3b Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 9 Mar 2023 20:51:45 -0600 Subject: [PATCH 03/11] add note about st2tests deps --- st2tests/st2tests/BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/st2tests/st2tests/BUILD b/st2tests/st2tests/BUILD index bdd44d7ac9..48ce6bcf8d 100644 --- a/st2tests/st2tests/BUILD +++ b/st2tests/st2tests/BUILD @@ -3,6 +3,7 @@ python_sources( "st2tests/conf:st2.conf", "st2tests/conf:st2_kvstore_tests.crypto.key.json", "st2tests/conf:logging.conf", + # These are for base.py, but do not use overrides because __init__ import base. "./resources:ssh", "./resources:packs", ], From ef28e77153b9a6f1efd7121df09310cf3369ad93 Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 9 Mar 2023 21:03:10 -0600 Subject: [PATCH 04/11] pants: add more st2tests packs fixtures dependencies --- st2tests/st2tests/fixtures/packs/dummy_pack_2/BUILD | 1 + .../fixtures/packs/pack_invalid_requirements/BUILD | 1 + st2tests/st2tests/fixtures/packs/runners/BUILD | 7 ++++++- .../fixtures/packs/test_library_dependencies/BUILD | 1 + 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/st2tests/st2tests/fixtures/packs/dummy_pack_2/BUILD b/st2tests/st2tests/fixtures/packs/dummy_pack_2/BUILD index 4ccc030cf7..186ad11df7 100644 --- a/st2tests/st2tests/fixtures/packs/dummy_pack_2/BUILD +++ b/st2tests/st2tests/fixtures/packs/dummy_pack_2/BUILD @@ -1,5 +1,6 @@ pack_metadata( name="metadata", + dependencies=[":pack_requirements"], ) resource( diff --git a/st2tests/st2tests/fixtures/packs/pack_invalid_requirements/BUILD b/st2tests/st2tests/fixtures/packs/pack_invalid_requirements/BUILD index 410ec9f74b..665adf5413 100644 --- a/st2tests/st2tests/fixtures/packs/pack_invalid_requirements/BUILD +++ b/st2tests/st2tests/fixtures/packs/pack_invalid_requirements/BUILD @@ -1,5 +1,6 @@ pack_metadata( name="metadata", + dependencies=[":pack_requirements"], ) resource( diff --git a/st2tests/st2tests/fixtures/packs/runners/BUILD b/st2tests/st2tests/fixtures/packs/runners/BUILD index db46e8d6c9..2dde3b88eb 100644 --- a/st2tests/st2tests/fixtures/packs/runners/BUILD +++ b/st2tests/st2tests/fixtures/packs/runners/BUILD @@ -1 +1,6 @@ -python_sources() +python_sources( + dependencies=[ + "./test_async_runner", + "./test_polling_async_runner", + ], +) diff --git a/st2tests/st2tests/fixtures/packs/test_library_dependencies/BUILD b/st2tests/st2tests/fixtures/packs/test_library_dependencies/BUILD index 872d93e1fb..0c82bded50 100644 --- a/st2tests/st2tests/fixtures/packs/test_library_dependencies/BUILD +++ b/st2tests/st2tests/fixtures/packs/test_library_dependencies/BUILD @@ -1,5 +1,6 @@ pack_metadata( name="metadata", + dependencies=[":pack_requirements"], ) resource( From 04fa9a5cfecdeac0544df303e00ff447ccdf8fb1 Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Wed, 2 Jun 2021 00:05:59 -0500 Subject: [PATCH 05/11] files in st2tests/fixtures/runners are sources not tests --- .../st2tests/fixtures/packs/runners/test_async_runner/BUILD | 4 ++-- .../fixtures/packs/runners/test_polling_async_runner/BUILD | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/st2tests/st2tests/fixtures/packs/runners/test_async_runner/BUILD b/st2tests/st2tests/fixtures/packs/runners/test_async_runner/BUILD index 57341b1358..9f2acdfa08 100644 --- a/st2tests/st2tests/fixtures/packs/runners/test_async_runner/BUILD +++ b/st2tests/st2tests/fixtures/packs/runners/test_async_runner/BUILD @@ -1,3 +1,3 @@ -python_tests( - name="tests", +python_sources( + sources=["*.py"], ) diff --git a/st2tests/st2tests/fixtures/packs/runners/test_polling_async_runner/BUILD b/st2tests/st2tests/fixtures/packs/runners/test_polling_async_runner/BUILD index 57341b1358..9f2acdfa08 100644 --- a/st2tests/st2tests/fixtures/packs/runners/test_polling_async_runner/BUILD +++ b/st2tests/st2tests/fixtures/packs/runners/test_polling_async_runner/BUILD @@ -1,3 +1,3 @@ -python_tests( - name="tests", +python_sources( + sources=["*.py"], ) From 7559aac88445b4b1234ccf6ae56de8f58d3eda6c Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 3 Nov 2022 22:31:41 -0500 Subject: [PATCH 06/11] silence pants infer warning --- .../fixtures/packs/dummy_pack_9/actions/invalid_syntax.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/st2tests/st2tests/fixtures/packs/dummy_pack_9/actions/invalid_syntax.py b/st2tests/st2tests/fixtures/packs/dummy_pack_9/actions/invalid_syntax.py index acd2832627..b10f7922ca 100644 --- a/st2tests/st2tests/fixtures/packs/dummy_pack_9/actions/invalid_syntax.py +++ b/st2tests/st2tests/fixtures/packs/dummy_pack_9/actions/invalid_syntax.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -from invalid import Invalid # noqa +from invalid import Invalid # noqa # pants: no-infer-dep class Foo: From decaaa1ffba4bf7e372e482c369c45c69ce8b6cb Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 9 Mar 2023 21:54:52 -0600 Subject: [PATCH 07/11] tests: clarify that test_actions_registrar only uses generic fixture pack The mock enforces that only the generic pack path gets returned for all of the tests in st2actions/tests/unit/test_actions_registrar.py even though it called fixtures_loader.get_fixtures_base_path(). Make that even clearer by importing the base path from st2tests.fixtures.generic.fixture I tried a variety of ugly hacks to depend on many of the packs in that directory. It is a relief to not use those hacks now that I understand that only the generic pack matters. --- st2actions/tests/unit/test_actions_registrar.py | 4 ++-- st2tests/st2tests/fixtures/generic/fixture.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/st2actions/tests/unit/test_actions_registrar.py b/st2actions/tests/unit/test_actions_registrar.py index 0f3fe76e32..8afe963908 100644 --- a/st2actions/tests/unit/test_actions_registrar.py +++ b/st2actions/tests/unit/test_actions_registrar.py @@ -29,6 +29,7 @@ from st2tests.fixtures.generic.fixture import ( PACK_NAME as GENERIC_PACK, PACK_PATH as GENERIC_PACK_PATH, + PACK_BASE_PATH as PACKS_BASE_PATH, ) import st2tests.fixturesloader as fixtures_loader @@ -52,9 +53,8 @@ class ActionsRegistrarTest(tests_base.DbTestCase): ) def test_register_all_actions(self): try: - packs_base_path = fixtures_loader.get_fixtures_base_path() all_actions_in_db = Action.get_all() - actions_registrar.register_actions(packs_base_paths=[packs_base_path]) + actions_registrar.register_actions(packs_base_paths=[PACKS_BASE_PATH]) except Exception as e: print(six.text_type(e)) self.fail("All actions must be registered without exceptions.") diff --git a/st2tests/st2tests/fixtures/generic/fixture.py b/st2tests/st2tests/fixtures/generic/fixture.py index 50c698989e..b5b68ddc3b 100644 --- a/st2tests/st2tests/fixtures/generic/fixture.py +++ b/st2tests/st2tests/fixtures/generic/fixture.py @@ -14,3 +14,4 @@ from st2tests import fixturesloader PACK_NAME, PACK_PATH = fixturesloader.get_fixture_name_and_path(__file__) +PACK_BASE_PATH = fixturesloader.get_fixtures_base_path() From c8a44f5fef6eeb1ae4782ed38d1eb761dad8d3e1 Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 9 Mar 2023 22:15:33 -0600 Subject: [PATCH 08/11] pants: fix/simplify name of st2tests/policies/meta target --- st2common/tests/unit/BUILD | 2 +- st2tests/st2tests/policies/meta/BUILD | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/st2common/tests/unit/BUILD b/st2common/tests/unit/BUILD index 02f49b33cb..097775214f 100644 --- a/st2common/tests/unit/BUILD +++ b/st2common/tests/unit/BUILD @@ -14,7 +14,7 @@ python_tests( "test_util_file_system.py": dict( dependencies=[ "st2tests/st2tests/policies", - "st2tests/st2tests/policies/meta:policies_meta", + "st2tests/st2tests/policies/meta", ], ), }, diff --git a/st2tests/st2tests/policies/meta/BUILD b/st2tests/st2tests/policies/meta/BUILD index 20f3688a97..0700f34cd5 100644 --- a/st2tests/st2tests/policies/meta/BUILD +++ b/st2tests/st2tests/policies/meta/BUILD @@ -1,4 +1,3 @@ resources( - name="policies_meta", sources=["*.yaml"], ) From 8c7510c15911696fb9440e28bd0fd336513432aa Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 9 Mar 2023 22:16:17 -0600 Subject: [PATCH 09/11] pants: add more fixtures to st2tests wheel --- st2tests/BUILD | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/st2tests/BUILD b/st2tests/BUILD index d6d325f608..11532f1cec 100644 --- a/st2tests/BUILD +++ b/st2tests/BUILD @@ -6,7 +6,8 @@ st2_component_python_distribution( "./st2tests/mocks", "./st2tests/mocks/runners", # fixture packs - "./st2tests/fixtures:rbac_fixtures", + "./st2tests/fixtures/generic", + "./st2tests/fixtures/localrunner_pack", "./st2tests/fixtures/packs:all_packs", "./st2tests/fixtures/packs_1:all_packs", "./st2tests/fixtures/packs_invalid:all_packs", @@ -14,6 +15,14 @@ st2_component_python_distribution( "./st2tests/fixtures/packs/executions", "./st2tests/fixtures/packs/runners", "./st2tests/fixtures/packs/test_content_version_fixture", # provides fixture const + # fixture db resources (eg yaml dump of db resources) + "./st2tests/fixtures/aliases", + "./st2tests/fixtures/backstop", + "./st2tests/fixtures/descendants", + "./st2tests/fixtures:rbac_fixtures", + "./st2tests/fixtures/rule_enforcements", + "./st2tests/fixtures/timers", + "./st2tests/fixtures/traces", # fixture etc "./st2tests/fixtures/conf", "./st2tests/fixtures/history_views", From 1b1cc298987776f6faa27ac3cf9ae9ed67203ede Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 9 Mar 2023 22:22:36 -0600 Subject: [PATCH 10/11] pants: add missing fixture resources --- st2tests/st2tests/fixtures/packs/dummy_pack_1/BUILD | 1 + st2tests/st2tests/fixtures/packs/dummy_pack_1/etc/BUILD | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 st2tests/st2tests/fixtures/packs/dummy_pack_1/etc/BUILD diff --git a/st2tests/st2tests/fixtures/packs/dummy_pack_1/BUILD b/st2tests/st2tests/fixtures/packs/dummy_pack_1/BUILD index bee4ec7fac..21dc137562 100644 --- a/st2tests/st2tests/fixtures/packs/dummy_pack_1/BUILD +++ b/st2tests/st2tests/fixtures/packs/dummy_pack_1/BUILD @@ -7,6 +7,7 @@ python_sources( ":metadata", "./actions", "./sensors", + "./etc", # extra binary files for st2api/tests/unit/controllers/v1/test_packs_views.py "st2tests/st2tests/fixtures/packs/configs/dummy_pack_1.yaml", ], ) diff --git a/st2tests/st2tests/fixtures/packs/dummy_pack_1/etc/BUILD b/st2tests/st2tests/fixtures/packs/dummy_pack_1/etc/BUILD new file mode 100644 index 0000000000..d7a6049c15 --- /dev/null +++ b/st2tests/st2tests/fixtures/packs/dummy_pack_1/etc/BUILD @@ -0,0 +1,3 @@ +resources( + sources=["*.png"], +) From 1fd08cdbfb87889bee49c208ee85894e96cbfabd Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 9 Mar 2023 21:15:38 -0600 Subject: [PATCH 11/11] update changelog entry --- CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 151a9fcbcf..0ce7f48010 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -16,7 +16,7 @@ Added to pants' use of PEX lockfiles. This is not a user-facing addition. #5778 #5789 #5817 #5795 #5830 #5833 #5834 #5841 #5840 #5838 #5842 #5837 #5849 #5850 #5846 #5853 #5848 #5847 #5858 #5857 #5860 #5868 #5871 #5864 #5874 #5884 #5893 #5891 - #5890 #5898 #5901 #5906 #5899 #5907 #5909 #5922 #5926 #5927 #5925 #5928 + #5890 #5898 #5901 #5906 #5899 #5907 #5909 #5922 #5926 #5927 #5925 #5928 #5929 Contributed by @cognifloyd * Added a joint index to solve the problem of slow mongo queries for scheduled executions. #5805