Skip to content

Commit 2b8191a

Browse files
structurizr-inspection: Fixes a bug preventing inspection severity to be specified via linked relationships.
1 parent 6201c03 commit 2b8191a

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
- structurizr-inspection: Adds a way to disable inspections via a workspace property named `structurizr.inspection` (`false` to disable).
3030
- structurizr-inspection: Default inspector adds a summary of error/warning/info/ignore counts as workspace properties.
3131
- structurizr-inspection: Fixes `model.deploymentnode.technology` (it was checking the description property rather than technology).
32+
- structurizr-inspection: Fixes a bug preventing inspection severity to be specified via linked relationships.
3233

3334
## v4.1.0 (28th May 2025)
3435

structurizr-inspection/src/main/java/com/structurizr/inspection/PropertyBasedSeverityStrategy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public Severity getSeverity(Inspection inspection, Relationship relationship) {
6969
Element source = relationship.getSource();
7070
Relationship linkedRelationship = null;
7171
if (!StringUtils.isNullOrEmpty(relationship.getLinkedRelationshipId())) {
72-
inspection.getWorkspace().getModel().getRelationship(relationship.getLinkedRelationshipId());
72+
linkedRelationship = inspection.getWorkspace().getModel().getRelationship(relationship.getLinkedRelationshipId());
7373
}
7474

7575
String allRelationshipsType = inspection.getType();

structurizr-inspection/src/test/java/com/structurizr/inspection/PropertyBasedSeverityStrategyTests.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@
55
import com.structurizr.inspection.model.RelationshipDescriptionInspection;
66
import com.structurizr.inspection.model.RelationshipTechnologyInspection;
77
import com.structurizr.inspection.workspace.WorkspaceScopeInspection;
8-
import com.structurizr.model.Component;
9-
import com.structurizr.model.Container;
10-
import com.structurizr.model.Relationship;
11-
import com.structurizr.model.SoftwareSystem;
8+
import com.structurizr.model.*;
129
import org.junit.jupiter.api.BeforeEach;
1310
import org.junit.jupiter.api.Test;
1411

@@ -254,4 +251,21 @@ void getSeverityForRelationship_BetweenComponents_WhenSpecifiedByRelationshipTyp
254251
assertEquals(Severity.INFO, severityStrategy.getSeverity(inspection, relationship));
255252
}
256253

254+
@Test
255+
void getSeverityForRelationship_WhenSpecifiedInLinkedRelationship() {
256+
inspection = new RelationshipTechnologyInspection(inspector);
257+
SoftwareSystem softwareSystem = workspace.getModel().addSoftwareSystem("Software System");
258+
workspace.getModel().setImpliedRelationshipsStrategy(new CreateImpliedRelationshipsUnlessAnyRelationshipExistsStrategy());
259+
Container container1 = softwareSystem.addContainer("Container 1");
260+
Component component1 = container1.addComponent("Component 1");
261+
Container container2 = softwareSystem.addContainer("Container 2");
262+
Component component2 = container2.addComponent("Component 2");
263+
Relationship relationship = component1.uses(component2, "");
264+
Relationship impliedRelationship = container1.getEfferentRelationshipWith(container2);
265+
266+
// specify in original relationship
267+
relationship.addProperty("structurizr.inspection.model.relationship.technology", "info");
268+
assertEquals(Severity.INFO, severityStrategy.getSeverity(inspection, impliedRelationship));
269+
}
270+
257271
}

0 commit comments

Comments
 (0)