Skip to content

Commit

Permalink
jenkinsci#114 Add test for BuildParameterRunSelectorExtension in exte…
Browse files Browse the repository at this point in the history
…nsions package
  • Loading branch information
kalarani-tw committed Oct 29, 2022
1 parent d08bdb0 commit 565ad3f
Show file tree
Hide file tree
Showing 2 changed files with 133 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ private Run findSpecific(Job job, Run run, String what, String specific) {
(specific.equals("Failed") && isCompleted && isFailed) ||
(specific.equals("Unstable") && isCompleted && isUnstable) ||
(specific.equals("Unsuccessful") && isCompleted && isUnsuccessful) ||
(specific.equals("isStable") && isCompleted && isStable);
(specific.equals("Stable") && isCompleted && isStable);
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
package org.jenkinsci.plugins.badge.extensions;

import hudson.model.Job;
import hudson.model.Result;
import hudson.model.Run;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.when;

class BuildParameterRunSelectorExtensionTest {

private BuildParameterRunSelectorExtension extension;
private Job mockProject;
private Run mockRun;

@BeforeEach
void setUp() {

extension = new BuildParameterRunSelectorExtension();
mockProject = Mockito.mock(Job.class);
mockRun = Mockito.mock(Run.class);
}

@Test
void shouldSelectLastBuild() {
when(mockProject.getLastBuild()).thenReturn(mockRun);
Run actualRun = extension.select(mockProject, "last", null);
assertThat(actualRun, is(mockRun));
}

@Test
void shouldSelectFirstBuild() {
when(mockProject.getFirstBuild()).thenReturn(mockRun);
when(mockRun.getNextBuild()).thenReturn(mockRun);
Run actualRun = extension.select(mockProject, "first", null);
assertThat(actualRun, is(mockRun));
}

@Test
void shouldSelectLastFailedBuild() {
when(mockProject.getLastFailedBuild()).thenReturn(mockRun);
Run actualRun = extension.select(mockProject, "lastFailed", null);
assertThat(actualRun, is(mockRun));
}
@Test
void shouldSelectFirstFailedBuild() {
when(mockProject.getFirstBuild()).thenReturn(mockRun);
when(mockRun.getNextBuild()).thenReturn(mockRun);
when(mockRun.getResult()).thenReturn(Result.FAILURE);
Run actualRun = extension.select(mockProject, "firstFailed", null);
assertThat(actualRun, is(mockRun));
}
@Test
void shouldSelectLastSuccessfulBuild() {
when(mockProject.getLastSuccessfulBuild()).thenReturn(mockRun);
Run actualRun = extension.select(mockProject, "lastSuccessful", null);
assertThat(actualRun, is(mockRun));
}
@Test
void shouldSelectFirstSuccessfulBuild() {
when(mockProject.getFirstBuild()).thenReturn(mockRun);
when(mockRun.getNextBuild()).thenReturn(mockRun);
when(mockRun.getResult()).thenReturn(Result.SUCCESS);
Run actualRun = extension.select(mockProject, "firstSuccessful", null);
assertThat(actualRun, is(mockRun));
}
@Test
void shouldSelectLastUnsuccessfulBuild() {
when(mockProject.getLastUnsuccessfulBuild()).thenReturn(mockRun);
Run actualRun = extension.select(mockProject, "lastUnsuccessful", null);
assertThat(actualRun, is(mockRun));
}
@Test
void shouldSelectFirstUnsuccessfulBuild() {
when(mockProject.getFirstBuild()).thenReturn(mockRun);
when(mockRun.getNextBuild()).thenReturn(mockRun);
when(mockRun.getResult()).thenReturn(Result.FAILURE);
Run actualRun = extension.select(mockProject, "firstUnsuccessful", null);
assertThat(actualRun, is(mockRun));
}

@Test
void shouldSelectLastStableBuild() {
when(mockProject.getLastStableBuild()).thenReturn(mockRun);
Run actualRun = extension.select(mockProject, "lastStable", null);
assertThat(actualRun, is(mockRun));
}
@Test
void shouldSelectFirstStableBuild() {
when(mockProject.getFirstBuild()).thenReturn(mockRun);
when(mockRun.getNextBuild()).thenReturn(mockRun);
when(mockRun.getResult()).thenReturn(Result.SUCCESS);
Run actualRun = extension.select(mockProject, "firstStable", null);
assertThat(actualRun, is(mockRun));
}

@Test
void shouldSelectLastUnstableBuild() {
when(mockProject.getLastUnstableBuild()).thenReturn(mockRun);
Run actualRun = extension.select(mockProject, "lastUnstable", null);
assertThat(actualRun, is(mockRun));
}
@Test
void shouldSelectFirstUnstableBuild() {
when(mockProject.getFirstBuild()).thenReturn(mockRun);
when(mockRun.getNextBuild()).thenReturn(mockRun);
when(mockRun.getResult()).thenReturn(Result.UNSTABLE);
Run actualRun = extension.select(mockProject, "firstUnstable", null);
assertThat(actualRun, is(mockRun));
}

@Test
void shouldSelectLastCompletedBuild() {
when(mockProject.getLastCompletedBuild()).thenReturn(mockRun);
Run actualRun = extension.select(mockProject, "lastCompleted", null);
assertThat(actualRun, is(mockRun));
}
@Test
void shouldSelectFirstCompletedBuild() {
when(mockProject.getFirstBuild()).thenReturn(mockRun);
when(mockRun.getNextBuild()).thenReturn(mockRun);
when(mockRun.getResult()).thenReturn(Result.UNSTABLE);
Run actualRun = extension.select(mockProject, "firstCompleted", null);
assertThat(actualRun, is(mockRun));
}

}

0 comments on commit 565ad3f

Please sign in to comment.