Skip to content

Commit c836e94

Browse files
authored
Return symbol for buildstatus icon (#457)
1 parent e44d693 commit c836e94

4 files changed

Lines changed: 31 additions & 20 deletions

File tree

src/main/java/jenkins/plugins/foldericon/BuildStatusFolderIcon.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ private BallColor getCombinedBallColor() {
119119

120120
@Override
121121
public String getIconClassName() {
122-
return getCombinedBallColor().getIconClassName();
122+
return "symbol-status-" + getCombinedBallColor().getIconName();
123123
}
124124

125125
@Override

src/test/java/jenkins/plugins/foldericon/BuildStatusFolderIconTest.java

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package jenkins.plugins.foldericon;
22

33
import static jenkins.plugins.foldericon.utils.TestUtils.mockStaplerRequest;
4-
import static jenkins.plugins.foldericon.utils.TestUtils.validateIcon;
4+
import static jenkins.plugins.foldericon.utils.TestUtils.validateSymbol;
55
import static org.junit.jupiter.api.Assertions.*;
66
import static org.mockito.Mockito.mockStatic;
77

@@ -90,32 +90,32 @@ void withConfiguredJobs() throws Exception {
9090
BuildStatusFolderIcon customIcon = new BuildStatusFolderIcon(Set.of());
9191
project.setIcon(customIcon);
9292
FolderIcon icon = project.getIcon();
93-
validateIcon(icon, BallColor.ABORTED.getImage(), BallColor.ABORTED.getIconClassName());
93+
validateSymbol(icon, BallColor.ABORTED.getImage(), BallColor.ABORTED.getIconName());
9494

9595
customIcon = new BuildStatusFolderIcon(Set.of("Success"));
9696
project.setIcon(customIcon);
9797
icon = project.getIcon();
98-
validateIcon(icon, BallColor.BLUE.getImage(), BallColor.BLUE.getIconClassName());
98+
validateSymbol(icon, BallColor.BLUE.getImage(), BallColor.BLUE.getIconName());
9999

100100
customIcon = new BuildStatusFolderIcon(Set.of("Success", "Aborted"));
101101
project.setIcon(customIcon);
102102
icon = project.getIcon();
103-
validateIcon(icon, BallColor.ABORTED.getImage(), BallColor.ABORTED.getIconClassName());
103+
validateSymbol(icon, BallColor.ABORTED.getImage(), BallColor.ABORTED.getIconName());
104104

105105
customIcon = new BuildStatusFolderIcon(Set.of("subfolder » Nested"));
106106
project.setIcon(customIcon);
107107
icon = project.getIcon();
108-
validateIcon(icon, BallColor.NOTBUILT.getImage(), BallColor.NOTBUILT.getIconClassName());
108+
validateSymbol(icon, BallColor.NOTBUILT.getImage(), BallColor.NOTBUILT.getIconName());
109109

110110
customIcon = new BuildStatusFolderIcon(Set.of("doesnotexist"));
111111
project.setIcon(customIcon);
112112
icon = project.getIcon();
113-
validateIcon(icon, BallColor.ABORTED.getImage(), BallColor.ABORTED.getIconClassName());
113+
validateSymbol(icon, BallColor.ABORTED.getImage(), BallColor.ABORTED.getIconName());
114114

115115
customIcon = new BuildStatusFolderIcon(Set.of("Success", "doesnotexist"));
116116
project.setIcon(customIcon);
117117
icon = project.getIcon();
118-
validateIcon(icon, BallColor.BLUE.getImage(), BallColor.BLUE.getIconClassName());
118+
validateSymbol(icon, BallColor.BLUE.getImage(), BallColor.BLUE.getIconName());
119119
}
120120
}
121121

@@ -184,41 +184,41 @@ void finishedBuildStatusIcon() throws Exception {
184184
mockStaplerRequest(stapler);
185185

186186
// default
187-
validateIcon(icon, BallColor.NOTBUILT.getImage(), BallColor.NOTBUILT.getIconClassName());
187+
validateSymbol(icon, BallColor.NOTBUILT.getImage(), BallColor.NOTBUILT.getIconName());
188188

189189
// Success
190190
FreeStyleProject success = project.createProject(FreeStyleProject.class, "Success");
191191
FreeStyleBuild successBuild = success.scheduleBuild2(0).get();
192192
r.assertBuildStatus(Result.SUCCESS, r.waitForCompletion(successBuild));
193193

194-
validateIcon(icon, BallColor.BLUE.getImage(), BallColor.BLUE.getIconClassName());
194+
validateSymbol(icon, BallColor.BLUE.getImage(), BallColor.BLUE.getIconName());
195195
// Unstable
196196
FreeStyleProject unstable = project.createProject(FreeStyleProject.class, "Unstable");
197197
unstable.getBuildersList().replaceBy(Collections.singleton(new ResultBuilder(Result.UNSTABLE)));
198198
r.buildAndAssertStatus(Result.UNSTABLE, unstable);
199199

200-
validateIcon(icon, BallColor.YELLOW.getImage(), BallColor.YELLOW.getIconClassName());
200+
validateSymbol(icon, BallColor.YELLOW.getImage(), BallColor.YELLOW.getIconName());
201201

202202
// Failure
203203
FreeStyleProject failure = project.createProject(FreeStyleProject.class, "Failure");
204204
failure.getBuildersList().replaceBy(Collections.singleton(new ResultBuilder(Result.FAILURE)));
205205
r.buildAndAssertStatus(Result.FAILURE, failure);
206206

207-
validateIcon(icon, BallColor.RED.getImage(), BallColor.RED.getIconClassName());
207+
validateSymbol(icon, BallColor.RED.getImage(), BallColor.RED.getIconName());
208208

209209
// Not build
210210
FreeStyleProject notBuilt = project.createProject(FreeStyleProject.class, "Not Built");
211211
notBuilt.getBuildersList().replaceBy(Collections.singleton(new ResultBuilder(Result.NOT_BUILT)));
212212
r.buildAndAssertStatus(Result.NOT_BUILT, notBuilt);
213213

214-
validateIcon(icon, BallColor.NOTBUILT.getImage(), BallColor.NOTBUILT.getIconClassName());
214+
validateSymbol(icon, BallColor.NOTBUILT.getImage(), BallColor.NOTBUILT.getIconName());
215215

216216
// Aborted
217217
FreeStyleProject aborted = project.createProject(FreeStyleProject.class, "Aborted");
218218
aborted.getBuildersList().replaceBy(Collections.singleton(new ResultBuilder(Result.ABORTED)));
219219
r.buildAndAssertStatus(Result.ABORTED, aborted);
220220

221-
validateIcon(icon, BallColor.ABORTED.getImage(), BallColor.ABORTED.getIconClassName());
221+
validateSymbol(icon, BallColor.ABORTED.getImage(), BallColor.ABORTED.getIconName());
222222
}
223223
}
224224

@@ -244,15 +244,15 @@ void runningBuildStatusIcon() throws Exception {
244244
FreeStyleBuild successBuild = success.scheduleBuild2(0).get();
245245
r.assertBuildStatus(Result.SUCCESS, r.waitForCompletion(successBuild));
246246

247-
validateIcon(icon, BallColor.BLUE.getImage(), BallColor.BLUE.getIconClassName());
247+
validateSymbol(icon, BallColor.BLUE.getImage(), BallColor.BLUE.getIconName());
248248

249249
// Running Build
250250
DelayBuilder builder = new DelayBuilder();
251251
success.getBuildersList().replaceBy(Collections.singleton(builder));
252252
FreeStyleBuild runningBuild =
253253
success.scheduleBuild2(0).getStartCondition().get();
254254

255-
validateIcon(icon, BallColor.BLUE_ANIME.getImage(), BallColor.BLUE_ANIME.getIconClassName());
255+
validateSymbol(icon, BallColor.BLUE_ANIME.getImage(), BallColor.BLUE_ANIME.getIconName());
256256
builder.release();
257257

258258
r.assertBuildStatus(Result.SUCCESS, r.waitForCompletion(runningBuild));
@@ -283,7 +283,7 @@ void runningNoPreviousBuildStatusIcon() throws Exception {
283283
FreeStyleBuild runningBuild =
284284
running.scheduleBuild2(0).getStartCondition().get();
285285

286-
validateIcon(icon, BallColor.NOTBUILT_ANIME.getImage(), BallColor.NOTBUILT_ANIME.getIconClassName());
286+
validateSymbol(icon, BallColor.NOTBUILT_ANIME.getImage(), BallColor.NOTBUILT_ANIME.getIconName());
287287
builder.release();
288288

289289
r.assertBuildStatus(Result.SUCCESS, r.waitForCompletion(runningBuild));
@@ -313,7 +313,7 @@ void disabledBuildStatusIcon() throws Exception {
313313

314314
assertFalse(disabled.isBuildable());
315315
assertTrue(disabled.isDisabled());
316-
validateIcon(icon, BallColor.DISABLED.getImage(), BallColor.DISABLED.getIconClassName());
316+
validateSymbol(icon, BallColor.DISABLED.getImage(), BallColor.DISABLED.getIconName());
317317
}
318318
}
319319

@@ -337,7 +337,7 @@ void noBuildStatusIcon() throws Exception {
337337
// No Build
338338
project.createProject(FreeStyleProject.class, "No Build");
339339

340-
validateIcon(icon, BallColor.NOTBUILT.getImage(), BallColor.NOTBUILT.getIconClassName());
340+
validateSymbol(icon, BallColor.NOTBUILT.getImage(), BallColor.NOTBUILT.getIconName());
341341
}
342342
}
343343
}

src/test/java/jenkins/plugins/foldericon/JobDSLConfigurationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ void setUp(JenkinsRule rule) {
4646
void buildStatusFolderIcon() throws Exception {
4747
BuildStatusFolderIcon customIcon = createFolder(r, "build-status.groovy", BuildStatusFolderIcon.class);
4848
assertEquals(Set.of("dev", "main"), customIcon.getJobs());
49-
assertEquals(BallColor.NOTBUILT.getIconClassName(), customIcon.getIconClassName());
49+
assertEquals("symbol-status-" + BallColor.NOTBUILT.getIconName(), customIcon.getIconClassName());
5050
}
5151

5252
/**

src/test/java/jenkins/plugins/foldericon/utils/TestUtils.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,17 @@ public static void validateIcon(FolderIcon icon, String expectedImageName, Strin
6868
}
6969
}
7070

71+
/**
72+
* Common validation of symbols.
73+
*
74+
* @param icon the icon to validate
75+
* @param expectedImageName the expected image name
76+
* @param expectedIconName the expected icon name
77+
*/
78+
public static void validateSymbol(FolderIcon icon, String expectedImageName, String expectedIconName) {
79+
validateIcon(icon, expectedImageName, "symbol-status-" + expectedIconName);
80+
}
81+
7182
/**
7283
* Common validation of responses.
7384
*

0 commit comments

Comments
 (0)