Skip to content

Commit 4fcfe90

Browse files
committed
add JUnit testing
1 parent 1c56c60 commit 4fcfe90

1 file changed

Lines changed: 101 additions & 0 deletions

File tree

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
package com.cyberrisk.cyber_risk_platform;
2+
3+
import com.cyberrisk.cyber_risk_platform.model.Company;
4+
import com.cyberrisk.cyber_risk_platform.service.RiskScoringService;
5+
import org.junit.jupiter.api.BeforeEach;
6+
import org.junit.jupiter.api.Test;
7+
8+
import static org.junit.jupiter.api.Assertions.assertEquals;
9+
10+
class RiskScoringServiceTest {
11+
12+
private RiskScoringService riskScoringService;
13+
14+
@BeforeEach
15+
void setUp() {
16+
riskScoringService = new RiskScoringService();
17+
}
18+
19+
@Test
20+
void perfectScore_whenAllControlsPresent() {
21+
Company company = new Company();
22+
company.setHasFirewall(true);
23+
company.setHasAntiVirus(true);
24+
company.setEncryptsData(true);
25+
company.setHasIncidentResponsePlan(true);
26+
company.setHasSecurityTraining(true);
27+
company.setPreviousBreaches(0);
28+
29+
int score = riskScoringService.calculateRiskScore(company);
30+
31+
assertEquals(100, score);
32+
}
33+
34+
@Test
35+
void deducts20_whenNoFirewall() {
36+
Company company = new Company();
37+
company.setHasFirewall(false);
38+
company.setHasAntiVirus(true);
39+
company.setEncryptsData(true);
40+
company.setHasIncidentResponsePlan(true);
41+
company.setHasSecurityTraining(true);
42+
company.setPreviousBreaches(0);
43+
44+
int score = riskScoringService.calculateRiskScore(company);
45+
46+
assertEquals(80, score);
47+
}
48+
49+
@Test
50+
void deducts15_whenNoAntivirus() {
51+
Company company = new Company();
52+
company.setHasFirewall(true);
53+
company.setHasAntiVirus(false);
54+
company.setEncryptsData(true);
55+
company.setHasIncidentResponsePlan(true);
56+
company.setHasSecurityTraining(true);
57+
company.setPreviousBreaches(0);
58+
59+
int score = riskScoringService.calculateRiskScore(company);
60+
61+
assertEquals(85, score);
62+
}
63+
64+
@Test
65+
void deducts10PerBreach_whenPreviousBreaches() {
66+
Company company = new Company();
67+
company.setHasFirewall(true);
68+
company.setHasAntiVirus(true);
69+
company.setEncryptsData(true);
70+
company.setHasIncidentResponsePlan(true);
71+
company.setHasSecurityTraining(true);
72+
company.setPreviousBreaches(3);
73+
74+
int score = riskScoringService.calculateRiskScore(company);
75+
76+
assertEquals(70, score);
77+
}
78+
79+
@Test
80+
void scoreNeverGoesBelowZero_whenManyDeductions() {
81+
Company company = new Company();
82+
company.setHasFirewall(false);
83+
company.setHasAntiVirus(false);
84+
company.setEncryptsData(false);
85+
company.setHasIncidentResponsePlan(false);
86+
company.setHasSecurityTraining(false);
87+
company.setPreviousBreaches(100);
88+
89+
int score = riskScoringService.calculateRiskScore(company);
90+
91+
assertEquals(0, score);
92+
}
93+
94+
@Test
95+
void getRiskLevel_returnsCorrectLevel() {
96+
assertEquals("LOW", riskScoringService.getRiskLevel(85));
97+
assertEquals("MEDIUM", riskScoringService.getRiskLevel(65));
98+
assertEquals("HIGH", riskScoringService.getRiskLevel(45));
99+
assertEquals("CRITICAL", riskScoringService.getRiskLevel(20));
100+
}
101+
}

0 commit comments

Comments
 (0)