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).

parent b1ec6384
...@@ -18,7 +18,7 @@ public class Runner { ...@@ -18,7 +18,7 @@ public class Runner {
private String ipAddress; private String ipAddress;
/** /**
* Enum to use for RunnersApi filtering. * Enum to use for RunnersApi filtering on status.
*/ */
public enum RunnerStatus { public enum RunnerStatus {
SPECIFIC, SHARED, ACTIVE, ONLINE, PAUSED, OFFLINE; SPECIFIC, SHARED, ACTIVE, ONLINE, PAUSED, OFFLINE;
...@@ -41,6 +41,29 @@ public class Runner { ...@@ -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() { public Integer getId() {
return id; return id;
......
...@@ -25,6 +25,7 @@ package org.gitlab4j.api; ...@@ -25,6 +25,7 @@ package org.gitlab4j.api;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeTrue; import static org.junit.Assume.assumeTrue;
import java.util.Arrays; import java.util.Arrays;
...@@ -32,6 +33,8 @@ import java.util.List; ...@@ -32,6 +33,8 @@ import java.util.List;
import org.gitlab4j.api.models.Project; import org.gitlab4j.api.models.Project;
import org.gitlab4j.api.models.Runner; 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.gitlab4j.api.models.RunnerDetail;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass; import org.junit.BeforeClass;
...@@ -111,7 +114,9 @@ public class TestRunnersApi extends AbstractIntegrationTest { ...@@ -111,7 +114,9 @@ public class TestRunnersApi extends AbstractIntegrationTest {
@Test @Test
public void shouldHaveRunnerDetails() throws GitLabApiException { 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(); List<Runner> runners = gitLabApi.getRunnersApi().getAllRunners();
assertEquals(1, runners.size()); assertEquals(1, runners.size());
...@@ -121,19 +126,30 @@ public class TestRunnersApi extends AbstractIntegrationTest { ...@@ -121,19 +126,30 @@ public class TestRunnersApi extends AbstractIntegrationTest {
@Test @Test
public void shouldDeleteRunner() throws GitLabApiException { public void shouldDeleteRunner() throws GitLabApiException {
assertNotNull("Runner was not created", createRunner()); for (int i = 0; i < 3; i++) {
assertNotNull("Runner was not created", createRunner()); Runner runner = createRunner();
assertNotNull("Runner was not created", createRunner()); assertNotNull("Failed to create test runner.", runner);
}
List<Runner> allRunners = gitLabApi.getRunnersApi().getAllRunners(); List<Runner> allRunners = gitLabApi.getRunnersApi().getAllRunners();
assertEquals(3, allRunners.size()); assertEquals(3, allRunners.size());
for (Runner runner : allRunners) { for (Runner r : allRunners) {
RunnerDetail runnerDetail = gitLabApi.getRunnersApi().getRunnerDetail(runner.getId()); RunnerDetail runnerDetail = gitLabApi.getRunnersApi().getRunnerDetail(r.getId());
gitLabApi.getRunnersApi().deleteRunner(runnerDetail.getToken()); gitLabApi.getRunnersApi().deleteRunner(runnerDetail.getToken());
} }
allRunners = gitLabApi.getRunnersApi().getAllRunners(); allRunners = gitLabApi.getRunnersApi().getAllRunners();
assertEquals(0, allRunners.size()); 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