From 83586b112a340e2f875545e7c38e4f6190eeff9b Mon Sep 17 00:00:00 2001 From: Ryosuke Yabuki Date: Wed, 6 Nov 2024 11:37:32 +0900 Subject: [PATCH 1/2] add comments --- tests/commands/test_split_subset.py | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/tests/commands/test_split_subset.py b/tests/commands/test_split_subset.py index 71114126e..ea7bf49c9 100644 --- a/tests/commands/test_split_subset.py +++ b/tests/commands/test_split_subset.py @@ -166,20 +166,18 @@ def test_split_by_group_names(self): with open("{}/subset-e2e.txt".format(tmpdir)) as f: self.assertEqual(f.read(), "e2e-aaa.py\ne2e-bbb.py") - self.assertFalse(os.path.exists("{}/rest-e2e.txt".format(tmpdir))) - - self.assertFalse(os.path.exists("{}/subset-unit-test.txt".format(tmpdir))) - - self.assertFalse(os.path.exists("{}/rest-unit-test.txt".format(tmpdir))) - with open("{}/subset-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME)) as f: self.assertEqual(f.read(), "aaa.py\nbbb.py") - self.assertFalse(os.path.exists("{}/rest-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME))) - with open("{}/{}".format(tmpdir, SPLIT_BY_GROUP_SUBSET_GROUPS_FILE_NAME)) as f: self.assertEqual(f.read(), "e2e") + # server doesn't return subset of unit-test + self.assertFalse(os.path.exists("{}/subset-unit-test.txt".format(tmpdir))) + # doesn't set the --rest option + self.assertFalse(os.path.exists("{}/rest-e2e.txt".format(tmpdir))) + self.assertFalse(os.path.exists("{}/rest-unit-test.txt".format(tmpdir))) + self.assertFalse(os.path.exists("{}/rest-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME))) self.assertFalse(os.path.exists("{}/{}".format(tmpdir, SPLIT_BY_GROUP_REST_GROUPS_FILE_NAME))) # with rest option @@ -198,7 +196,7 @@ def test_split_by_group_names(self): with open(os.path.join(tmpdir, "rest-e2e.txt")) as f: self.assertEqual(f.read(), "e2e-ccc.py\ne2e-ddd.py") - + # server doesn't return subset of unit-test self.assertFalse(os.path.exists("{}/subset-unit-test.txt".format(tmpdir))) with open(os.path.join(tmpdir, "rest-unit-test.txt")) as f: @@ -213,6 +211,7 @@ def test_split_by_group_names(self): with open(os.path.join(tmpdir, SPLIT_BY_GROUP_SUBSET_GROUPS_FILE_NAME)) as f: self.assertEqual(f.read(), "e2e") + # TODO(Konboi): Why wasn't e2e included in the rest file? with open(os.path.join(tmpdir, SPLIT_BY_GROUP_REST_GROUPS_FILE_NAME)) as f: self.assertEqual(f.read(), "unit-test") @@ -273,19 +272,22 @@ def test_split_by_group_names_output_exclusion_rules(self): "--split-by-groups", "--split-by-groups-output-dir", tmpdir, '--output-exclusion-rules', "file") self.assert_success(result) + + # --output-exclusion-rules is enabled, thus switched subset and rest with open("{}/subset-e2e.txt".format(tmpdir)) as f: self.assertCountEqual(f.read().splitlines(), ["e2e-ccc.py", "e2e-ddd.py", ]) - self.assertFalse(os.path.exists("{}/rest-e2e.txt".format(tmpdir))) - with open("{}/subset-unit-test.txt".format(tmpdir)) as f: self.assertCountEqual(f.read().splitlines(), ["unit-test-111.py", "unit-test-222.py"]) - self.assertFalse(os.path.exists("{}/rest-unit-test.txt".format(tmpdir))) with open("{}/subset-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME)) as f: self.assertCountEqual(f.read().splitlines(), ["111.py", "222.py"]) - self.assertFalse(os.path.exists("{}/rest-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME))) with open("{}/{}".format(tmpdir, SPLIT_BY_GROUP_SUBSET_GROUPS_FILE_NAME)) as f: self.assertEqual(f.read(), "unit-test") + + # doesn't set the --rest option + self.assertFalse(os.path.exists("{}/rest-e2e.txt".format(tmpdir))) + self.assertFalse(os.path.exists("{}/rest-unit-test.txt".format(tmpdir))) + self.assertFalse(os.path.exists("{}/rest-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME))) self.assertFalse(os.path.exists("{}/{}".format(tmpdir, SPLIT_BY_GROUP_REST_GROUPS_FILE_NAME))) From 903662f4992a0d73bc1a9c64ff41bf37709c7e8e Mon Sep 17 00:00:00 2001 From: Ryosuke Yabuki Date: Wed, 6 Nov 2024 11:51:31 +0900 Subject: [PATCH 2/2] refactor tests --- tests/cli_test_case.py | 7 +++ tests/commands/test_split_subset.py | 74 +++++++++++------------------ 2 files changed, 34 insertions(+), 47 deletions(-) diff --git a/tests/cli_test_case.py b/tests/cli_test_case.py index e3e2561d6..9fe24536a 100644 --- a/tests/cli_test_case.py +++ b/tests/cli_test_case.py @@ -216,6 +216,13 @@ def assert_success(self, result: click.testing.Result): def assert_exit_code(self, result: click.testing.Result, expected: int): self.assertEqual(result.exit_code, expected, result.stdout) + def assert_contents(self, file_path: str, content: str): + with open(file_path) as f: + self.assertEqual(f.read(), content) + + def assert_file_exists(self, file_path: str, exists: bool = True): + self.assertEqual(Path(file_path).exists(), exists) + def find_request(self, url_suffix: str, n: int = 0): '''Find the first (or n-th, if specified) request that matches the given suffix''' for call in responses.calls: diff --git a/tests/commands/test_split_subset.py b/tests/commands/test_split_subset.py index ea7bf49c9..5424f5b82 100644 --- a/tests/commands/test_split_subset.py +++ b/tests/commands/test_split_subset.py @@ -163,22 +163,19 @@ def test_split_by_group_names(self): "--split-by-groups", "--split-by-groups-output-dir", tmpdir, "file") self.assert_success(result) - with open("{}/subset-e2e.txt".format(tmpdir)) as f: - self.assertEqual(f.read(), "e2e-aaa.py\ne2e-bbb.py") - - with open("{}/subset-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME)) as f: - self.assertEqual(f.read(), "aaa.py\nbbb.py") - - with open("{}/{}".format(tmpdir, SPLIT_BY_GROUP_SUBSET_GROUPS_FILE_NAME)) as f: - self.assertEqual(f.read(), "e2e") + self.assert_contents("{}/subset-e2e.txt".format(tmpdir), "e2e-aaa.py\ne2e-bbb.py") + self.assert_contents("{}/subset-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME), "aaa.py\nbbb.py") + # check the group file + self.assert_contents("{}/{}".format(tmpdir, SPLIT_BY_GROUP_SUBSET_GROUPS_FILE_NAME), "e2e") # server doesn't return subset of unit-test - self.assertFalse(os.path.exists("{}/subset-unit-test.txt".format(tmpdir))) + self.assert_file_exists("{}/subset-unit-test.txt".format(tmpdir), False) + # doesn't set the --rest option - self.assertFalse(os.path.exists("{}/rest-e2e.txt".format(tmpdir))) - self.assertFalse(os.path.exists("{}/rest-unit-test.txt".format(tmpdir))) - self.assertFalse(os.path.exists("{}/rest-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME))) - self.assertFalse(os.path.exists("{}/{}".format(tmpdir, SPLIT_BY_GROUP_REST_GROUPS_FILE_NAME))) + self.assert_file_exists("{}/rest-e2e.txt".format(tmpdir), False) + self.assert_file_exists("{}/rest-unit-test.txt".format(tmpdir), False) + self.assert_file_exists("{}/rest-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME), False) + self.assert_file_exists("{}/{}".format(tmpdir, SPLIT_BY_GROUP_REST_GROUPS_FILE_NAME), False) # with rest option with tempfile.TemporaryDirectory() as tmpdir: @@ -191,29 +188,19 @@ def test_split_by_group_names(self): for item in os.listdir(tmpdir): print(item) - with open(os.path.join(tmpdir, "subset-e2e.txt")) as f: - self.assertEqual(f.read(), "e2e-aaa.py\ne2e-bbb.py") + self.assert_contents("{}/subset-e2e.txt".format(tmpdir), "e2e-aaa.py\ne2e-bbb.py") + self.assert_contents("{}/rest-e2e.txt".format(tmpdir), "e2e-ccc.py\ne2e-ddd.py") - with open(os.path.join(tmpdir, "rest-e2e.txt")) as f: - self.assertEqual(f.read(), "e2e-ccc.py\ne2e-ddd.py") # server doesn't return subset of unit-test - self.assertFalse(os.path.exists("{}/subset-unit-test.txt".format(tmpdir))) - - with open(os.path.join(tmpdir, "rest-unit-test.txt")) as f: - self.assertEqual(f.read(), "unit-test-111.py\nunit-test-222.py") - - with open(os.path.join(tmpdir, "subset-{}.txt".format(SPLIT_BY_GROUPS_NO_GROUP_NAME))) as f: - self.assertEqual(f.read(), "aaa.py\nbbb.py") + self.assert_file_exists("{}/subset-unit-test.txt".format(tmpdir), False) + self.assert_contents("{}/rest-unit-test.txt".format(tmpdir), "unit-test-111.py\nunit-test-222.py") - with open(os.path.join(tmpdir, "rest-{}.txt".format(SPLIT_BY_GROUPS_NO_GROUP_NAME))) as f: - self.assertEqual(f.read(), "111.py\n222.py") + self.assert_contents("{}/subset-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME), "aaa.py\nbbb.py") + self.assert_contents("{}/rest-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME), "111.py\n222.py") - with open(os.path.join(tmpdir, SPLIT_BY_GROUP_SUBSET_GROUPS_FILE_NAME)) as f: - self.assertEqual(f.read(), "e2e") - - # TODO(Konboi): Why wasn't e2e included in the rest file? - with open(os.path.join(tmpdir, SPLIT_BY_GROUP_REST_GROUPS_FILE_NAME)) as f: - self.assertEqual(f.read(), "unit-test") + # check the group file + self.assert_contents("{}/{}".format(tmpdir, SPLIT_BY_GROUP_SUBSET_GROUPS_FILE_NAME), "e2e") + self.assert_contents("{}/{}".format(tmpdir, SPLIT_BY_GROUP_REST_GROUPS_FILE_NAME), "unit-test") @responses.activate @mock.patch.dict(os.environ, {"LAUNCHABLE_TOKEN": CliTestCase.launchable_token}) @@ -274,20 +261,13 @@ def test_split_by_group_names_output_exclusion_rules(self): self.assert_success(result) # --output-exclusion-rules is enabled, thus switched subset and rest - with open("{}/subset-e2e.txt".format(tmpdir)) as f: - self.assertCountEqual(f.read().splitlines(), ["e2e-ccc.py", "e2e-ddd.py", ]) - - with open("{}/subset-unit-test.txt".format(tmpdir)) as f: - self.assertCountEqual(f.read().splitlines(), ["unit-test-111.py", "unit-test-222.py"]) - - with open("{}/subset-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME)) as f: - self.assertCountEqual(f.read().splitlines(), ["111.py", "222.py"]) - - with open("{}/{}".format(tmpdir, SPLIT_BY_GROUP_SUBSET_GROUPS_FILE_NAME)) as f: - self.assertEqual(f.read(), "unit-test") + self.assert_contents("{}/subset-e2e.txt".format(tmpdir), "e2e-ccc.py\ne2e-ddd.py") + self.assert_contents("{}/subset-unit-test.txt".format(tmpdir), "unit-test-111.py\nunit-test-222.py") + self.assert_contents("{}/subset-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME), "111.py\n222.py") + self.assert_contents("{}/{}".format(tmpdir, SPLIT_BY_GROUP_SUBSET_GROUPS_FILE_NAME), "unit-test") # doesn't set the --rest option - self.assertFalse(os.path.exists("{}/rest-e2e.txt".format(tmpdir))) - self.assertFalse(os.path.exists("{}/rest-unit-test.txt".format(tmpdir))) - self.assertFalse(os.path.exists("{}/rest-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME))) - self.assertFalse(os.path.exists("{}/{}".format(tmpdir, SPLIT_BY_GROUP_REST_GROUPS_FILE_NAME))) + self.assert_file_exists("{}/rest-e2e.txt".format(tmpdir), False) + self.assert_file_exists("{}/rest-unit-test.txt".format(tmpdir), False) + self.assert_file_exists("{}/rest-{}.txt".format(tmpdir, SPLIT_BY_GROUPS_NO_GROUP_NAME), False) + self.assert_file_exists("{}/{}".format(tmpdir, SPLIT_BY_GROUP_REST_GROUPS_FILE_NAME), False)