def test_invalid_mode(self, monkeypatch): """Invalid mode raises ValueError.""" monkeypatch.setenv('SOME_MODE', 'foo') with pytest.raises(ValueError) as cm: fern.Env('SOME_MODE') assert str(cm.value) == ( "Mode from SOME_MODE env var must be one of ['dev', 'prod'], not 'foo'." )
def test_mode(self, monkeypatch): """Instantiate with name of env var whose value contains the mode.""" monkeypatch.setenv('MY_MODE', 'dev') assert fern.Env('MY_MODE').mode == 'dev'
def env(self, monkeypatch): """Get an Env instance with default mode.""" monkeypatch.delenv('MODE', raising=False) return fern.Env('MODE')
def test_no_mode_env_var(self): assert fern.Env().mode == 'dev'
def test_specify_valid_modes_and_default(self, monkeypatch): monkeypatch.delenv('MODE', raising=False) assert fern.Env('MODE', ['good', 'bad'], 'bad').mode == 'bad'
def test_specify_valid_modes(self, monkeypatch): monkeypatch.setenv('A_MODE', 'good') assert fern.Env('A_MODE', ['good', 'bad']).mode == 'good'
def test_default_mode(self, monkeypatch): """Default mode is 'dev'.""" monkeypatch.delenv('MODE', raising=False) assert fern.Env('MODE').mode == 'dev'