class TestConfigurationReset(MAASTestCase): scenarios = tuple((option, { "option": option.lstrip("-").replace("-", "_") }) for option, args in config.gen_configuration_options_for_resetting()) def test__options_are_reset(self): self.useFixture(RegionConfigurationFixture()) with RegionConfiguration.open_for_update() as configuration: # Give the option a random value. if isinstance(getattr(configuration, self.option), str): value = factory.make_name("foobar") else: value = factory.pick_port() setattr(configuration, self.option, value) stdio = call_reset(**{self.option: True}) # Nothing is echoed back to the user. self.assertThat(stdio.getOutput(), Equals("")) self.assertThat(stdio.getError(), Equals("")) # There is no custom value in the configuration file. with open(RegionConfiguration.DEFAULT_FILENAME, "rb") as fd: settings = yaml.safe_load(fd) self.assertThat(settings, Equals({}))
def test_gen_configuration_options_for_resetting(self): self.assertThat( config.gen_configuration_options_for_resetting(), AllMatch(MatchesListwise([Not(Contains("_")), IsInstance(dict)]), ))