Skip to content

Commit 3d59e30

Browse files
committed
formatting
1 parent 4ab9ea0 commit 3d59e30

4 files changed

Lines changed: 57 additions & 22 deletions

File tree

rocrate_validator/profiles/five-safes-crate/must/15_metadata_file.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,11 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
from typing import Any
1615
import re
1716

1817
import rocrate_validator.log as logging
1918
from rocrate_validator.models import Severity, ValidationContext
20-
from rocrate_validator.requirements.python import (PyFunctionCheck, check,
21-
requirement)
22-
from rocrate_validator.utils import HttpRequester
19+
from rocrate_validator.requirements.python import PyFunctionCheck, check, requirement
2320

2421
# set up logging
2522
logger = logging.getLogger(__name__)
@@ -32,23 +29,32 @@ class FileDescriptorExistence(PyFunctionCheck):
3229
@check(name="RO-Crate context version", severity=Severity.REQUIRED)
3330
def test_existence(self, context: ValidationContext) -> bool:
3431
"""
35-
The RO-Crate metadata file MUST include the RO-Crate context version 1.2 (or later minor version) in `@context`
32+
The RO-Crate metadata file MUST include the RO-Crate context version 1.2
33+
(or later minor version) in `@context`
3634
"""
3735
try:
3836
json_dict = context.ro_crate.metadata.as_dict()
3937
context_value = json_dict["@context"]
40-
pattern = re.compile(r"https://w3id\.org/ro/crate/1\.[2-9](-DRAFT)?/context")
38+
pattern = re.compile(
39+
r"https://w3id\.org/ro/crate/1\.[2-9](-DRAFT)?/context"
40+
)
4141
passed = True
4242
if isinstance(context_value, list):
43-
if not any(pattern.match(item) for item in context_value if isinstance(item, str)):
43+
if not any(
44+
pattern.match(item)
45+
for item in context_value
46+
if isinstance(item, str)
47+
):
4448
passed = False
4549
else:
4650
if not pattern.match(context_value):
4751
passed = False
4852
if not passed:
4953
context.result.add_issue(
50-
f"The RO-Crate metadata file MUST include the RO-Crate context "
51-
"version 1.2 (or later minor version) in `@context`", self)
54+
"The RO-Crate metadata file MUST include the RO-Crate context "
55+
"version 1.2 (or later minor version) in `@context`",
56+
self,
57+
)
5258
return passed
5359

5460
except Exception as e:

tests/integration/profiles/five-safes-crate/test_5src_15_metadata_file.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@
2626

2727

2828
def test_5src_conforms_to_old_version():
29-
sparql = SPARQL_PREFIXES + """
29+
sparql = (
30+
SPARQL_PREFIXES
31+
+ """
3032
DELETE {
3133
?this dct:conformsTo ?version .
3234
}
@@ -38,33 +40,47 @@ def test_5src_conforms_to_old_version():
3840
schema:about <./> .
3941
}
4042
"""
43+
)
4144

4245
do_entity_test(
4346
rocrate_path=ValidROC().five_safes_crate_request,
4447
requirement_severity=Severity.REQUIRED,
4548
expected_validation_result=False,
46-
expected_triggered_requirements=["RO-Crate conforms to 1.2 or later minor version"],
47-
expected_triggered_issues=["The RO-Crate metadata file descriptor MUST have a `conformsTo` property with RO-Crate specification version 1.2 or later minor version"],
49+
expected_triggered_requirements=[
50+
"RO-Crate conforms to 1.2 or later minor version"
51+
],
52+
expected_triggered_issues=[
53+
"The RO-Crate metadata file descriptor MUST have a `conformsTo` property with "
54+
"RO-Crate specification version 1.2 or later minor version"
55+
],
4856
profile_identifier="five-safes-crate",
4957
rocrate_entity_mod_sparql=sparql,
5058
)
5159

60+
5261
def test_5src_context_single_wrong_version():
5362
do_entity_test(
5463
rocrate_path=Invalid5sROC().context_single_wrong_version,
5564
requirement_severity=Severity.REQUIRED,
5665
expected_validation_result=False,
5766
expected_triggered_requirements=["RO-Crate context version"],
58-
expected_triggered_issues=["The RO-Crate metadata file MUST include the RO-Crate context version 1.2 (or later minor version) in `@context`"],
67+
expected_triggered_issues=[
68+
"The RO-Crate metadata file MUST include the RO-Crate context version 1.2 "
69+
"(or later minor version) in `@context`"
70+
],
5971
profile_identifier="five-safes-crate",
6072
)
6173

74+
6275
def test_5src_context_multiple_wrong_version():
6376
do_entity_test(
6477
rocrate_path=Invalid5sROC().context_multiple_wrong_version,
6578
requirement_severity=Severity.REQUIRED,
6679
expected_validation_result=False,
6780
expected_triggered_requirements=["RO-Crate context version"],
68-
expected_triggered_issues=["The RO-Crate metadata file MUST include the RO-Crate context version 1.2 (or later minor version) in `@context`"],
81+
expected_triggered_issues=[
82+
"The RO-Crate metadata file MUST include the RO-Crate context version 1.2 "
83+
"(or later minor version) in `@context`"
84+
],
6985
profile_identifier="five-safes-crate",
7086
)

tests/integration/profiles/five-safes-crate/test_valid_5src.py

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,12 @@ def skip_spec_version_identifier():
3434
rocrate_profile = services.get_profile("ro-crate")
3535
if not rocrate_profile:
3636
raise RuntimeError("Unable to load the RO-Crate profile")
37-
check_conformsTo_version = \
38-
rocrate_profile.get_requirement_check("Metadata File Descriptor entity: `conformsTo` property")
39-
assert check_conformsTo_version, \
40-
'Unable to find the requirement "Metadata File Descriptor entity: `conformsTo` property"'
37+
check_conformsTo_version = rocrate_profile.get_requirement_check(
38+
"Metadata File Descriptor entity: `conformsTo` property"
39+
)
40+
assert (
41+
check_conformsTo_version
42+
), 'Unable to find the requirement "Metadata File Descriptor entity: `conformsTo` property"'
4143
SKIP_CONFORMSTO_VERSION_CHECK_IDENTIFIER = check_conformsTo_version.identifier
4244
return SKIP_CONFORMSTO_VERSION_CHECK_IDENTIFIER
4345

@@ -49,7 +51,10 @@ def test_valid_five_safes_crate_request_required(skip_spec_version_identifier):
4951
Severity.REQUIRED,
5052
True,
5153
profile_identifier="five-safes-crate",
52-
skip_checks=[ SKIP_LOCAL_DATA_ENTITY_EXISTENCE_CHECK_IDENTIFIER, skip_spec_version_identifier],
54+
skip_checks=[
55+
SKIP_LOCAL_DATA_ENTITY_EXISTENCE_CHECK_IDENTIFIER,
56+
skip_spec_version_identifier,
57+
],
5358
)
5459

5560

@@ -60,15 +65,22 @@ def test_valid_five_safes_crate_result_required(skip_spec_version_identifier):
6065
Severity.REQUIRED,
6166
True,
6267
profile_identifier="five-safes-crate",
63-
skip_checks=[SKIP_LOCAL_DATA_ENTITY_EXISTENCE_CHECK_IDENTIFIER, skip_spec_version_identifier],
68+
skip_checks=[
69+
SKIP_LOCAL_DATA_ENTITY_EXISTENCE_CHECK_IDENTIFIER,
70+
skip_spec_version_identifier,
71+
],
6472
)
6573

74+
6675
def test_valid_five_safes_crate_multiple_context(skip_spec_version_identifier):
6776
"""Test a valid Five Safes Crate representing a result."""
6877
do_entity_test(
6978
ValidROC().five_safes_crate_multiple_context,
7079
Severity.REQUIRED,
7180
True,
7281
profile_identifier="five-safes-crate",
73-
skip_checks=[SKIP_LOCAL_DATA_ENTITY_EXISTENCE_CHECK_IDENTIFIER, skip_spec_version_identifier],
82+
skip_checks=[
83+
SKIP_LOCAL_DATA_ENTITY_EXISTENCE_CHECK_IDENTIFIER,
84+
skip_spec_version_identifier,
85+
],
7486
)

tests/ro_crates.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def five_safes_crate_request(self) -> Path:
9898
@property
9999
def five_safes_crate_result(self) -> Path:
100100
return VALID_CRATES_DATA_PATH / "five-safes-crate-result"
101-
101+
102102
@property
103103
def five_safes_crate_multiple_context(self) -> Path:
104104
return VALID_CRATES_DATA_PATH / "five-safes-crate-multiple-context"
@@ -994,6 +994,7 @@ def context_multiple_wrong_version(self) -> Path:
994994
def context_single_wrong_version(self) -> Path:
995995
return self.base_path / "context_single_wrong_version"
996996

997+
997998
class InvalidMultiProfileROC:
998999

9991000
@property

0 commit comments

Comments
 (0)