From 78d4da53a7f8490507171bbc1365019092b882fa Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Thu, 8 Dec 2022 02:06:34 +0100 Subject: [PATCH] Tests: verify and fix host.yaml/Utils.py match (#1302) --- Utils.py | 8 +++++--- test/general/TestHostYAML.py | 25 +++++++++++++++++++++++++ test/webhost/TestDocs.py | 5 +++-- test/webhost/TestFileGeneration.py | 7 ++++--- 4 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 test/general/TestHostYAML.py diff --git a/Utils.py b/Utils.py index fdb86e63..46948641 100644 --- a/Utils.py +++ b/Utils.py @@ -268,7 +268,6 @@ def get_default_options() -> OptionsType: "log_network": 0 }, "generator": { - "teams": 1, "enemizer_path": os.path.join("EnemizerCLI", "EnemizerCLI.Core"), "player_files_path": "Players", "players": 0, @@ -286,6 +285,7 @@ def get_default_options() -> OptionsType: }, "oot_options": { "rom_file": "The Legend of Zelda - Ocarina of Time.z64", + "rom_start": True }, "dkc3_options": { "rom_file": "Donkey Kong Country 3 - Dixie Kong's Double Trouble! (USA) (En,Fr).sfc", @@ -303,9 +303,11 @@ def get_default_options() -> OptionsType: "red_rom_file": "Pokemon Red (UE) [S][!].gb", "blue_rom_file": "Pokemon Blue (UE) [S][!].gb", "rom_start": True - } + }, + "ffr_options": { + "display_msgs": True, + }, } - return options diff --git a/test/general/TestHostYAML.py b/test/general/TestHostYAML.py new file mode 100644 index 00000000..81ae9f8a --- /dev/null +++ b/test/general/TestHostYAML.py @@ -0,0 +1,25 @@ +import unittest + +import Utils + + +class TestIDs(unittest.TestCase): + @classmethod + def setUpClass(cls) -> None: + with open(Utils.local_path("host.yaml")) as f: + cls.yaml_options = Utils.parse_yaml(f.read()) + + def testUtilsHasHost(self): + for option_key, option_set in Utils.get_default_options().items(): + with self.subTest(option_key): + self.assertIn(option_key, self.yaml_options) + for sub_option_key in option_set: + self.assertIn(sub_option_key, self.yaml_options[option_key]) + + def testHostHasUtils(self): + utils_options = Utils.get_default_options() + for option_key, option_set in self.yaml_options.items(): + with self.subTest(option_key): + self.assertIn(option_key, utils_options) + for sub_option_key in option_set: + self.assertIn(sub_option_key, utils_options[option_key]) diff --git a/test/webhost/TestDocs.py b/test/webhost/TestDocs.py index 6922deb1..f6ede154 100644 --- a/test/webhost/TestDocs.py +++ b/test/webhost/TestDocs.py @@ -7,8 +7,9 @@ from worlds.AutoWorld import AutoWorldRegister class TestDocs(unittest.TestCase): - def setUp(self) -> None: - self.tutorials_data = WebHost.create_ordered_tutorials_file() + @classmethod + def setUpClass(cls) -> None: + cls.tutorials_data = WebHost.create_ordered_tutorials_file() def testHasTutorial(self): games_with_tutorial = set(entry["gameTitle"] for entry in self.tutorials_data) diff --git a/test/webhost/TestFileGeneration.py b/test/webhost/TestFileGeneration.py index 656206cd..2954946d 100644 --- a/test/webhost/TestFileGeneration.py +++ b/test/webhost/TestFileGeneration.py @@ -7,10 +7,11 @@ import WebHost class TestFileGeneration(unittest.TestCase): - def setUp(self) -> None: - self.correct_path = os.path.join(os.path.dirname(WebHost.__file__), "WebHostLib") + @classmethod + def setUpClass(cls) -> None: + cls.correct_path = os.path.join(os.path.dirname(WebHost.__file__), "WebHostLib") # should not create the folder *here* - self.incorrect_path = os.path.join(os.path.split(os.path.dirname(__file__))[0], "WebHostLib") + cls.incorrect_path = os.path.join(os.path.split(os.path.dirname(__file__))[0], "WebHostLib") def testOptions(self): WebHost.create_options_files()