Skip to content

Commit 103c647

Browse files
committed
test(core): ✅ test behaviour of disable_inherited_profiles_issue_reporting flag
1 parent 471745b commit 103c647

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

tests/unit/test_services.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,37 @@ def test_valid_local_workflow_testing_ro_crate():
106106
"Expected the 'workflow-testing-ro-crate-0.1' profile"
107107

108108

109+
def test_disable_inherited_profiles_issue_reporting():
110+
# Set the rocrate_uri to the workflow testing RO-Crate
111+
crate_path = ValidROC().workflow_testing_ro_crate
112+
logger.debug("Validating a local RO-Crate: %s", crate_path)
113+
114+
# First, validate with inherited profiles issue reporting enabled
115+
settings = ValidationSettings(
116+
rocrate_uri=crate_path,
117+
disable_inherited_profiles_issue_reporting=False
118+
)
119+
result = validate(settings)
120+
total_issues_with_inheritance = len(result.get_issues())
121+
logger.debug("Total issues with inherited profiles issue reporting enabled: %d", total_issues_with_inheritance)
122+
123+
# Now, validate with inherited profiles issue reporting disabled
124+
settings.disable_inherited_profiles_issue_reporting = True
125+
result = validate(settings)
126+
total_issues_without_inheritance = len(result.get_issues())
127+
logger.debug("Total issues with inherited profiles issue reporting disabled: %d", total_issues_without_inheritance)
128+
129+
# Check that disabling inherited profiles issue reporting reduces the number of reported issues
130+
assert total_issues_without_inheritance <= total_issues_with_inheritance, \
131+
"Disabling inherited profiles issue reporting should not increase the number of reported issues"
132+
133+
# Check that all reported issues are from the main profile
134+
main_profile_identifier = "workflow-testing-ro-crate-0.1"
135+
for issue in result.get_issues():
136+
assert issue.check.profile.identifier == main_profile_identifier, \
137+
"All reported issues should belong to the main profile when inherited profiles issue reporting is disabled"
138+
139+
109140
def test_valid_local_multi_profile_crate():
110141
# Set the rocrate_uri to the multi-profile RO-Crate
111142
crate_path = InvalidMultiProfileROC().invalid_multi_profile_crate

tests/unit/test_validation_settings.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,26 +23,30 @@ def test_validation_settings_parse_dict():
2323
"profiles_path": "/path/to/profiles",
2424
"requirement_severity": "RECOMMENDED",
2525
"enable_profile_inheritance": False,
26+
"disable_inherited_profiles_issue_reporting": True,
2627
}
2728
settings = ValidationSettings.parse(settings_dict)
2829
assert str(settings.rocrate_uri) == "/path/to/data"
2930
assert settings.profiles_path == "/path/to/profiles"
3031
assert settings.requirement_severity == Severity.RECOMMENDED
3132
assert settings.enable_profile_inheritance is False
33+
assert settings.disable_inherited_profiles_issue_reporting is True
3234

3335

3436
def test_validation_settings_parse_object():
3537
existing_settings = ValidationSettings(
3638
rocrate_uri="/path/to/data",
3739
profiles_path="/path/to/profiles",
3840
requirement_severity=Severity.RECOMMENDED,
39-
enable_profile_inheritance=False
41+
enable_profile_inheritance=False,
42+
disable_inherited_profiles_issue_reporting=True,
4043
)
4144
settings = ValidationSettings.parse(existing_settings)
4245
assert str(settings.rocrate_uri) == "/path/to/data"
4346
assert settings.profiles_path == "/path/to/profiles"
4447
assert settings.requirement_severity == Severity.RECOMMENDED
4548
assert settings.enable_profile_inheritance is False
49+
assert settings.disable_inherited_profiles_issue_reporting is True
4650

4751

4852
def test_validation_settings_parse_invalid_type():
@@ -72,6 +76,17 @@ def test_validation_settings_enable_profile_inheritance():
7276
assert settings.enable_profile_inheritance is False
7377

7478

79+
def test_validation_settings_disable_inherited_profiles_issue_reporting():
80+
settings = ValidationSettings()
81+
assert settings.disable_inherited_profiles_issue_reporting is False
82+
83+
settings = ValidationSettings(disable_inherited_profiles_issue_reporting=True)
84+
assert settings.disable_inherited_profiles_issue_reporting is True
85+
86+
settings = ValidationSettings(disable_inherited_profiles_issue_reporting=False)
87+
assert settings.disable_inherited_profiles_issue_reporting is False
88+
89+
7590
def test_validation_settings_data_path():
7691
settings = ValidationSettings(rocrate_uri="/path/to/data")
7792
assert str(settings.rocrate_uri) == "/path/to/data"

0 commit comments

Comments
 (0)