예제 #1
0
    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'."
        )
예제 #2
0
    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'
예제 #3
0
    def env(self, monkeypatch):
        """Get an Env instance with default mode."""
        monkeypatch.delenv('MODE', raising=False)

        return fern.Env('MODE')
예제 #4
0
 def test_no_mode_env_var(self):
     assert fern.Env().mode == 'dev'
예제 #5
0
    def test_specify_valid_modes_and_default(self, monkeypatch):
        monkeypatch.delenv('MODE', raising=False)

        assert fern.Env('MODE', ['good', 'bad'], 'bad').mode == 'bad'
예제 #6
0
    def test_specify_valid_modes(self, monkeypatch):
        monkeypatch.setenv('A_MODE', 'good')

        assert fern.Env('A_MODE', ['good', 'bad']).mode == 'good'
예제 #7
0
    def test_default_mode(self, monkeypatch):
        """Default mode is 'dev'."""
        monkeypatch.delenv('MODE', raising=False)

        assert fern.Env('MODE').mode == 'dev'