예제 #1
0
 def test_load_prints_message_about_bad_configuration_when_file_has_invalid_configuration_option(
         self, mock_exit, mock_print):
     config = Settings()
     config.load(['2.0.0\n', '\n', 'unknownKey=true\n'])
     mock_print.assert_called_with(
         'Unknown configuration value \"unknownKey\" in configuration file.'
     )
예제 #2
0
 def test_converts_settings_to_lines_and_writes_to_config_file(
         self, mock_write_lines):
     settings = Settings()
     settings.load(['2.0.0\n', '\n', 'pairReset=False\n'])
     set_settings(settings)
     expected_result = ['2.0.0\n', '\n', 'pairReset=False\n']
     mock_write_lines.assert_called_with(
         Path(join(CONFIGURATION_DIRECTORY, constants.CONFIG)),
         expected_result)
예제 #3
0
 def test_load_parses_lines_and_builds_configuration_object(self):
     config = Settings()
     config.load(['2.0.0\n', '\n', 'pairReset=true\n'])
     self.assertEqual(True, config.read('pairReset'))
예제 #4
0
 def test_write_ignores_attributes_that_are_set_to_their_default_values(
         self):
     config = Settings()
     config.load(['2.0.0\n', '\n', 'pairReset=True\n'])
     result = config.write()
     self.assertEqual(['2.0.0\n', '\n'], result)
예제 #5
0
 def test_write_includes_version_number(self):
     config = Settings()
     config.load(['2.0.0\n', '\n', 'pairReset=False\n'])
     result = config.write()
     self.assertEqual(['2.0.0\n', '\n', 'pairReset=False\n'], result)
예제 #6
0
 def test_write_returns_configuration_as_lines(self):
     config = Settings()
     config.load(['2.0.0\n', '\n', 'pairReset=False\n'])
     result = config.write()
     self.assertEqual(['2.0.0\n', '\n', 'pairReset=False\n'], result)
예제 #7
0
 def test_load_writes_the_version_number(self):
     config = Settings()
     config.load(['2.0.0\n', '\n', 'pairReset=true\n'])
     self.assertEqual('2.0.0', config.version)
예제 #8
0
 def test_load_exits_when_given_invalid_key(self, mock_exit, mock_print):
     config = Settings()
     config.load(['2.0.0\n', '\n', 'unknownKey=true\n'])
     mock_exit.assert_called_with(1)
예제 #9
0
 def test_load_can_parse_a_config_file_that_only_had_the_version_number(
         self):
     config = Settings()
     config.load(['2.0.0\n', '\n'])
     self.assertEqual(False, config.read('debug'))
예제 #10
0
def get_settings() -> Settings:
    lines = read_lines(Path(join(CONFIGURATION_DIRECTORY, constants.CONFIG)))
    settings = Settings()
    settings.load(lines)
    return settings