def test_known_values_always_have_their_types_converted(self): defaults = [("apptest.foo", "APPTEST_FOO", int, "42")] self.assertEqual(restfulapi.parse_settings({}, defaults=defaults), {"apptest.foo": 42}) self.assertEqual( restfulapi.parse_settings({"apptest.foo": "17"}, defaults=defaults), {"apptest.foo": 17}, ) try: os.environ["APPTEST_FOO"] = "13" self.assertEqual(restfulapi.parse_settings({}, defaults=defaults), {"apptest.foo": 13}) finally: os.environ.pop("APPTEST_FOO", None)
def test_known_values_are_preserved_when_given(self): defaults = [("apptest.foo", "APPTEST_FOO", str, "modified foo")] self.assertEqual( restfulapi.parse_settings({"apptest.foo": "original foo"}, defaults=defaults), {"apptest.foo": "original foo"}, )
def test_env_vars_have_precedence_over_given_values(self): try: os.environ["APPTEST_FOO"] = "foo from env" defaults = [("apptest.foo", "APPTEST_FOO", str, "foo value")] self.assertEqual( restfulapi.parse_settings({}, defaults=defaults), {"apptest.foo": "foo from env"}, ) finally: os.environ.pop("APPTEST_FOO", None)
def test_use_default_when_value_is_missing(self): defaults = [("apptest.foo", "APPTEST_FOO", str, "foo value")] self.assertEqual( restfulapi.parse_settings({}, defaults=defaults), {"apptest.foo": "foo value"}, )