@@ -38,21 +38,24 @@ def first(c: Collection[T]) -> T:
3838
3939
4040def do_entity_test (
41- rocrate_path : Union [Path , str ],
42- requirement_severity : models .Severity ,
43- expected_validation_result : bool ,
44- expected_triggered_requirements : Optional [list [str ]] = None ,
45- expected_triggered_issues : Optional [list [str ]] = None ,
46- abort_on_first : bool = False ,
47- profile_identifier : str = DEFAULT_PROFILE_IDENTIFIER ,
48- rocrate_entity_patch : Optional [dict ] = None ,
49- skip_checks : Optional [list [str ]] = (),
50- rocrate_relative_root_path : Optional [str ] = None ,
51- metadata_only : bool = False ,
52- metadata_dict : Optional [dict ] = None
41+ rocrate_path : Union [Path , str ],
42+ requirement_severity : models .Severity ,
43+ expected_validation_result : bool ,
44+ expected_triggered_requirements : Optional [list [str ]] = None ,
45+ expected_triggered_issues : Optional [list [str ]] = None ,
46+ abort_on_first : bool = False ,
47+ profile_identifier : str = DEFAULT_PROFILE_IDENTIFIER ,
48+ rocrate_entity_patch : Optional [dict ] = None ,
49+ skip_checks : Optional [list [str ]] = (),
50+ rocrate_relative_root_path : Optional [str ] = None ,
51+ metadata_only : bool = False ,
52+ metadata_dict : Optional [dict ] = None ,
53+ ** kwargs ,
5354):
5455 """
55- Shared function to test a RO-Crate entity
56+ Shared function to test a RO-Crate entity.
57+
58+ Additional keyword arguments (kwargs) are passed along to initialise ValidationSettings.
5659 """
5760 # declare variables
5861 failed_requirements = None
@@ -95,23 +98,28 @@ def do_entity_test(
9598 abort_on_first = abort_on_first
9699
97100 # validate RO-Crate
98- result : models .ValidationResult = \
99- services .validate (models .ValidationSettings (** {
100- "rocrate_uri" : rocrate_path ,
101- "requirement_severity" : requirement_severity ,
102- "abort_on_first" : abort_on_first ,
103- "profile_identifier" : profile_identifier ,
104- "skip_checks" : skip_checks ,
105- "rocrate_relative_root_path" : rocrate_relative_root_path ,
106- "metadata_only" : metadata_only ,
107- "metadata_dict" : metadata_dict
108- }))
101+ result : models .ValidationResult = services .validate (
102+ models .ValidationSettings (
103+ ** {
104+ "rocrate_uri" : rocrate_path ,
105+ "requirement_severity" : requirement_severity ,
106+ "abort_on_first" : abort_on_first ,
107+ "profile_identifier" : profile_identifier ,
108+ "skip_checks" : skip_checks ,
109+ "rocrate_relative_root_path" : rocrate_relative_root_path ,
110+ "metadata_only" : metadata_only ,
111+ "metadata_dict" : metadata_dict ,
112+ },
113+ ** kwargs ,
114+ )
115+ )
109116 logger .debug ("Expected validation result: %s" , expected_validation_result )
110117
111118 assert result .context is not None , "Validation context should not be None"
112119 f"Expected requirement severity to be { requirement_severity } , but got { result .context .requirement_severity } "
113- assert result .passed () == expected_validation_result , \
114- f"RO-Crate should be { 'valid' if expected_validation_result else 'invalid' } "
120+ assert (
121+ result .passed () == expected_validation_result
122+ ), f"RO-Crate should be { 'valid' if expected_validation_result else 'invalid' } "
115123
116124 # check requirement
117125 failed_requirements = [_ .name for _ in result .failed_requirements ]
@@ -122,24 +130,35 @@ def do_entity_test(
122130 # check that the expected requirements are triggered
123131 for expected_triggered_requirement in expected_triggered_requirements :
124132 if expected_triggered_requirement not in failed_requirements :
125- assert False , f"The expected requirement " \
126- f"\" { expected_triggered_requirement } \" was not found in the failed requirements"
133+ assert False , (
134+ f"The expected requirement "
135+ f'"{ expected_triggered_requirement } " was not found in the failed requirements'
136+ )
127137
128138 # check requirement issues
129- detected_issues = [issue .message for issue in result .get_issues (requirement_severity )
130- if issue .message is not None ]
139+ detected_issues = [
140+ issue .message
141+ for issue in result .get_issues (requirement_severity )
142+ if issue .message is not None
143+ ]
131144 logger .debug ("Detected issues: %s" , detected_issues )
132145 logger .debug ("Expected issues: %s" , expected_triggered_issues )
133146 for expected_issue in expected_triggered_issues :
134- if not any (expected_issue in issue for issue in detected_issues ): # support partial match
135- assert False , f"The expected issue \" { expected_issue } \" was not found in the detected issues"
147+ if not any (
148+ expected_issue in issue for issue in detected_issues
149+ ): # support partial match
150+ assert (
151+ False
152+ ), f'The expected issue "{ expected_issue } " was not found in the detected issues'
136153 except Exception as e :
137154 if logger .isEnabledFor (logging .DEBUG ):
138155 logger .exception (e )
139156 logger .debug ("Failed to validate RO-Crate @ path: %s" , rocrate_path )
140157 logger .debug ("Requirement severity: %s" , requirement_severity )
141158 logger .debug ("Expected validation result: %s" , expected_validation_result )
142- logger .debug ("Expected triggered requirements: %s" , expected_triggered_requirements )
159+ logger .debug (
160+ "Expected triggered requirements: %s" , expected_triggered_requirements
161+ )
143162 logger .debug ("Expected triggered issues: %s" , expected_triggered_issues )
144163 logger .debug ("Failed requirements: %s" , failed_requirements )
145164 logger .debug ("Detected issues: %s" , detected_issues )
0 commit comments