Skip to content

Commit 0ceeb11

Browse files
committed
test: update tests for dandischema.conf.py
So that aliases of fields are used instead of names of the fields
1 parent 7a79803 commit 0ceeb11

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

dandischema/tests/test_conf.py

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,17 @@ def test_get_instance_config() -> None:
1818
), "`get_instance_config` should return a copy of the instance config"
1919

2020

21-
FOO_CONFIG_DICT = {
21+
_FOO_CONFIG_DICT_BY_FIELD_NAME = {
2222
"instance_name": "FOO",
2323
"doi_prefix": "10.1234",
2424
"licenses": ["spdx:AdaCore-doc", "spdx:AGPL-3.0-or-later", "spdx:NBPL-1.0"],
2525
}
2626

27+
FOO_CONFIG_DICT = {f"dandi_{k}": v for k, v in _FOO_CONFIG_DICT_BY_FIELD_NAME.items()}
28+
2729
FOO_CONFIG_ENV_VARS = {
28-
k: v if k != "licenses" else json.dumps(v) for k, v in FOO_CONFIG_DICT.items()
30+
k: v if k != "licenses" else json.dumps(v)
31+
for k, v in _FOO_CONFIG_DICT_BY_FIELD_NAME.items()
2932
}
3033

3134

@@ -40,7 +43,7 @@ def test_valid_instance_name(self, instance_name: str) -> None:
4043
"""
4144
from dandischema.conf import Config
4245

43-
Config(instance_name=instance_name)
46+
Config(dandi_instance_name=instance_name)
4447

4548
@pytest.mark.parametrize("instance_name", ["-DANDI", "dandi", "DANDI0", "DANDI*"])
4649
def test_invalid_instance_name(self, instance_name: str) -> None:
@@ -50,10 +53,10 @@ def test_invalid_instance_name(self, instance_name: str) -> None:
5053
from dandischema.conf import Config
5154

5255
with pytest.raises(ValidationError) as exc_info:
53-
Config(instance_name=instance_name)
56+
Config(dandi_instance_name=instance_name)
5457

5558
assert len(exc_info.value.errors()) == 1
56-
assert exc_info.value.errors()[0]["loc"] == ("instance_name",)
59+
assert exc_info.value.errors()[0]["loc"] == ("dandi_instance_name",)
5760

5861
@pytest.mark.parametrize(
5962
"doi_prefix", ["10.1234", "10.5678", "10.12345678", "10.987654321"]
@@ -64,7 +67,7 @@ def test_valid_doi_prefix(self, doi_prefix: str) -> None:
6467
"""
6568
from dandischema.conf import Config
6669

67-
Config(doi_prefix=doi_prefix)
70+
Config(dandi_doi_prefix=doi_prefix)
6871

6972
@pytest.mark.parametrize("doi_prefix", ["1234", ".1234", "1.1234", "10.123"])
7073
def test_invalid_doi_prefix(self, doi_prefix: str) -> None:
@@ -74,10 +77,10 @@ def test_invalid_doi_prefix(self, doi_prefix: str) -> None:
7477
from dandischema.conf import Config
7578

7679
with pytest.raises(ValidationError) as exc_info:
77-
Config(doi_prefix=doi_prefix)
80+
Config(dandi_doi_prefix=doi_prefix)
7881

7982
assert len(exc_info.value.errors()) == 1
80-
assert exc_info.value.errors()[0]["loc"] == ("doi_prefix",)
83+
assert exc_info.value.errors()[0]["loc"] == ("dandi_doi_prefix",)
8184

8285
@pytest.mark.parametrize(
8386
"licenses",
@@ -98,7 +101,7 @@ def test_valid_licenses_by_args(self, licenses: Union[list[str], set[str]]) -> N
98101
from dandischema.conf import Config, License
99102

100103
# noinspection PyTypeChecker
101-
config = Config(licenses=licenses)
104+
config = Config(dandi_licenses=licenses)
102105

103106
assert config.licenses == {License(license_) for license_ in set(licenses)}
104107

@@ -149,20 +152,20 @@ def test_invalid_licenses_by_args(self, licenses: set[str]) -> None:
149152

150153
with pytest.raises(ValidationError) as exc_info:
151154
# noinspection PyTypeChecker
152-
Config(licenses=licenses)
155+
Config(dandi_licenses=licenses)
153156

154157
assert len(exc_info.value.errors()) == 1
155-
assert exc_info.value.errors()[0]["loc"] == ("licenses", ANY)
158+
assert exc_info.value.errors()[0]["loc"] == ("dandi_licenses", ANY)
156159

157160

158161
class TestSetInstanceConfig:
159162
@pytest.mark.parametrize(
160163
("arg", "kwargs"),
161164
[
162-
(FOO_CONFIG_DICT, {"instance_name": "BAR"}),
165+
(FOO_CONFIG_DICT, {"dandi_instance_name": "BAR"}),
163166
(
164167
FOO_CONFIG_DICT,
165-
{"instance_name": "Baz", "key": "value"},
168+
{"dandi_instance_name": "Baz", "key": "value"},
166169
),
167170
],
168171
)
@@ -271,8 +274,8 @@ def test_after_models_import_different_config(
271274
import dandischema.models # noqa: F401
272275

273276
new_config_dict = {
274-
"instance_name": "BAR",
275-
"doi_prefix": "10.5678",
277+
"dandi_instance_name": "BAR",
278+
"dandi_doi_prefix": "10.5678",
276279
}
277280

278281
# noinspection DuplicatedCode

0 commit comments

Comments
 (0)