Skip to content

Commit 3fb84e8

Browse files
committed
Add basic env var provider
Signed-off-by: christian.lutnik <[email protected]>
1 parent abec4f6 commit 3fb84e8

File tree

2 files changed

+53
-7
lines changed

2 files changed

+53
-7
lines changed

providers/openfeature-provider-env-var/pyproject.toml

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,6 @@ dev = [
2626
[tool.hatch.build.targets.wheel]
2727
packages = ["src/openfeature"]
2828

29-
[tool.pytest.ini_options]
30-
testpaths = ["tests"]
31-
python_files = "test_*.py"
32-
python_functions = "test_*"
33-
3429
[tool.hatch]
3530

3631
pre-install-commands = [
@@ -45,4 +40,22 @@ dependencies = ["mypy"]
4540

4641
[tool.mypy]
4742
mypy_path = "src"
48-
files = "src"
43+
files = "src"
44+
45+
[tool.hatch.envs.hatch-test]
46+
dependencies = [
47+
"pytest>=8.3.5",
48+
"pytest-cov>=6.1.1",
49+
"pytest",
50+
]
51+
52+
[tool.coverage.run]
53+
omit = [
54+
"tests/**",
55+
]
56+
57+
[tool.pytest.ini_options]
58+
testpaths = ["tests"]
59+
python_files = "test_*.py"
60+
python_functions = "test_*"
61+
addopts = "--cov --cov-report xml --cov-report html --junit-xml=tests-results.xml"

providers/openfeature-provider-env-var/tests/test_provider.py

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def test_unknown_flag_key_throws_flag_not_found_error():
1212
provider.resolve_boolean_details("unknown_flag_key", True, None)
1313

1414

15-
def test_known_flag_key_evaluates_the_flag():
15+
def test_string_flag_key_evaluates_the_flag():
1616
key = "test-flag-key"
1717
value = "test-value"
1818
os.environ[key] = value
@@ -21,3 +21,36 @@ def test_known_flag_key_evaluates_the_flag():
2121
result = provider.resolve_string_details(key, True, None)
2222

2323
assert result.value == value
24+
25+
26+
def test_int_flag_key_evaluates_the_flag():
27+
key = "test-flag-key"
28+
value = 324
29+
os.environ[key] = str(value)
30+
31+
provider = EnvVarProvider()
32+
result = provider.resolve_integer_details(key, True, None)
33+
34+
assert result.value == value
35+
36+
37+
def test_float_flag_key_evaluates_the_flag():
38+
key = "test-flag-key"
39+
value = 324.34
40+
os.environ[key] = str(value)
41+
42+
provider = EnvVarProvider()
43+
result = provider.resolve_float_details(key, True, None)
44+
45+
assert result.value == value
46+
47+
48+
def test_boolean_flag_key_evaluates_the_flag():
49+
key = "test-flag-key"
50+
value = True
51+
os.environ[key] = str(value)
52+
53+
provider = EnvVarProvider()
54+
result = provider.resolve_boolean_details(key, True, None)
55+
56+
assert result.value == value

0 commit comments

Comments
 (0)