Exemple #1
0
    def test_process_not_set(self):
        os.environ["NAME"] = "Makram"
        os.environ["AGE"] = "28"

        class Environment:
            name: str
            age: int = 25
            is_married: bool  # no default value and not overidden in env

        env = Environment()
        with self.assertRaises(EnvconfigException):
            envconfig.process(env)
Exemple #2
0
    def test_process_not_set_no_raise_on_absence(self):
        os.environ["NAME"] = "Makram"
        os.environ["AGE"] = "28"

        class Environment:
            name: str
            age: int = 25
            is_married: bool  # no default value and not overidden in env

        env = Environment()
        envconfig.process(env, raise_on_absence=False)

        self.assertIsNone(env.is_married)
        self.assertEqual("Makram", env.name)
        self.assertEqual(28, env.age)
Exemple #3
0
    def test_process_no_type_hint(self):
        os.environ["NAME"] = "Makram"
        os.environ["AGE"] = "28"
        os.environ["IS_MARRIED"] = "false"

        class Environment:
            name: str
            age = 25  # no type hint specified, but should still be processed as int
            is_married: bool = True

        env = Environment()
        envconfig.process(env)

        self.assertEqual("Makram", env.name)
        self.assertEqual(28, env.age)
        self.assertFalse(env.is_married)
Exemple #4
0
    def test_process_some_overrides(self):
        os.environ["NAME"] = "Makram"
        os.environ["AGE"] = "28"
        os.environ["IS_MARRIED"] = "false"

        class Environment:
            name: str
            age: int = 25
            is_married: bool = True

        env = Environment()
        envconfig.process(env)

        self.assertEqual("Makram", env.name)
        self.assertEqual(28, env.age)
        self.assertFalse(env.is_married)