Commit 6e35aeae authored by Greg Messner's avatar Greg Messner
Browse files

Fixed getAllRunners() methods and added support to filter on runner type and status (#365).

No related merge requests found
Showing with 250 additions and 63 deletions
+250 -63
This diff is collapsed.
......@@ -18,7 +18,7 @@ public class Runner {
private String ipAddress;
/**
* Enum to use for RunnersApi filtering.
* Enum to use for RunnersApi filtering on status.
*/
public enum RunnerStatus {
SPECIFIC, SHARED, ACTIVE, ONLINE, PAUSED, OFFLINE;
......@@ -41,6 +41,29 @@ public class Runner {
}
}
/**
* Enum to use for RunnersApi filtering on type.
*/
public enum RunnerType {
INSTANCE_TYPE, GROUP_TYPE, PROJECT_TYPE;
private static JacksonJsonEnumHelper<RunnerType> enumHelper =
new JacksonJsonEnumHelper<>(RunnerType.class);
@JsonCreator
public static RunnerType forValue(String value) {
return enumHelper.forValue(value);
}
@JsonValue
public String toValue() {
return (enumHelper.toString(this));
}
@Override
public String toString() {
return (enumHelper.toString(this));
}
}
public Integer getId() {
return id;
......
......@@ -25,6 +25,7 @@ package org.gitlab4j.api;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeTrue;
import java.util.Arrays;
......@@ -32,6 +33,8 @@ import java.util.List;
import org.gitlab4j.api.models.Project;
import org.gitlab4j.api.models.Runner;
import org.gitlab4j.api.models.Runner.RunnerStatus;
import org.gitlab4j.api.models.Runner.RunnerType;
import org.gitlab4j.api.models.RunnerDetail;
import org.junit.Before;
import org.junit.BeforeClass;
......@@ -111,7 +114,9 @@ public class TestRunnersApi extends AbstractIntegrationTest {
@Test
public void shouldHaveRunnerDetails() throws GitLabApiException {
assertNotNull("Runner was not created", createRunner());
// Arrange
Runner runner = createRunner();
assertNotNull("Failed to create test runner.", runner);
List<Runner> runners = gitLabApi.getRunnersApi().getAllRunners();
assertEquals(1, runners.size());
......@@ -121,19 +126,30 @@ public class TestRunnersApi extends AbstractIntegrationTest {
@Test
public void shouldDeleteRunner() throws GitLabApiException {
assertNotNull("Runner was not created", createRunner());
assertNotNull("Runner was not created", createRunner());
assertNotNull("Runner was not created", createRunner());
for (int i = 0; i < 3; i++) {
Runner runner = createRunner();
assertNotNull("Failed to create test runner.", runner);
}
List<Runner> allRunners = gitLabApi.getRunnersApi().getAllRunners();
assertEquals(3, allRunners.size());
for (Runner runner : allRunners) {
RunnerDetail runnerDetail = gitLabApi.getRunnersApi().getRunnerDetail(runner.getId());
for (Runner r : allRunners) {
RunnerDetail runnerDetail = gitLabApi.getRunnersApi().getRunnerDetail(r.getId());
gitLabApi.getRunnersApi().deleteRunner(runnerDetail.getToken());
}
allRunners = gitLabApi.getRunnersApi().getAllRunners();
assertEquals(0, allRunners.size());
}
@Test
public void shouldHavePausedRunner() throws GitLabApiException {
Runner runner = createRunner();
assertNotNull("Failed to create test runner.", runner);
List<Runner> runners = gitLabApi.getRunnersApi().getAllRunners(RunnerType.GROUP_TYPE, RunnerStatus.PAUSED);
assertTrue(runners.isEmpty());
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment