class TestConfigAccessor(unittest.TestCase): def setUp(self): self.config = ConfigParser.SafeConfigParser() self.accessor = ConfigAccessor(self.config) self.section = "section" self.option = "option" self.value = "value" self.config.add_section(self.section) self.config.set(self.section, self.option, self.value) def test_GIVEN_valid_value_and_section_WHEN_get_THEN_value_returned(self): result = self.accessor.get(self.option, self.section) assert_that(result, is_(self.value)) def test_GIVEN_valid_value_and_invalid_section_WHEN_get_THEN_exception(self): assert_that( calling(self.accessor.get).with_args(self.value, "blah"), raises(ConfigParser.NoSectionError)) def test_GIVEN_invalid_value_and_valid_section_WHEN_get_THEN_exception(self): assert_that( calling(self.accessor.get).with_args("blah", self.section), raises(ConfigParser.NoOptionError)) def test_GIVEN_invalid_section_WHEN_set_section_THEN_raise_error(self): assert_that( calling(self.accessor.set_section).with_args("blah"), raises(ConfigParser.NoSectionError)) def test_GIVEN_no_value_and_default_specified_WHEN_get_THEN_default(self): result = self.accessor.get("blah", self.section, default=self.value) assert_that(result, is_(self.value)) def test_GIVEN_no_section_specified_but_section_set_WHEN_get_THEN_value(self): self.accessor.set_section(self.section) result = self.accessor.get(self.option) assert_that(result, is_(self.value)) def test_GIVEN_no_section_specified_and_section_not_set_WHEN_get_THEN_error(self): assert_that( calling(self.accessor.get).with_args(self.option), raises(ConfigParser.NoSectionError)) def test_GIVEN_no_section_specified_and_section_not_set_but_has_default_WHEN_get_THEN_error(self): assert_that( calling(self.accessor.get).with_args(self.option, default=self.value), raises(ConfigParser.NoSectionError))
def setUp(self): self.config = ConfigParser.SafeConfigParser() self.accessor = ConfigAccessor(self.config) self.section = "section" self.option = "option" self.value = "value" self.config.add_section(self.section) self.config.set(self.section, self.option, self.value)