mirror of https://github.com/pypa/hatch.git
35 lines
1.0 KiB
Python
35 lines
1.0 KiB
Python
import pytest
|
|
|
|
from hatch.utils.structures import EnvVars
|
|
from hatchling.version.source.env import EnvSource
|
|
|
|
|
|
def test_no_variable(isolation):
|
|
source = EnvSource(str(isolation), {})
|
|
|
|
with pytest.raises(ValueError, match='option `variable` must be specified'):
|
|
source.get_version_data()
|
|
|
|
|
|
def test_variable_not_string(isolation):
|
|
source = EnvSource(str(isolation), {'variable': 1})
|
|
|
|
with pytest.raises(TypeError, match='option `variable` must be a string'):
|
|
source.get_version_data()
|
|
|
|
|
|
def test_variable_not_available(isolation):
|
|
source = EnvSource(str(isolation), {'variable': 'ENV_VERSION'})
|
|
|
|
with EnvVars(exclude=['ENV_VERSION']), pytest.raises(
|
|
RuntimeError, match='environment variable `ENV_VERSION` is not set'
|
|
):
|
|
source.get_version_data()
|
|
|
|
|
|
def test_variable_contains_version(isolation):
|
|
source = EnvSource(str(isolation), {'variable': 'ENV_VERSION'})
|
|
|
|
with EnvVars({'ENV_VERSION': '0.0.1'}):
|
|
assert source.get_version_data()['version'] == '0.0.1'
|