GetCheckerIT: Add tests for newly added checker fields
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I2b3be209172776e7111e5e2de9170e078d122659
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckerIT.java b/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckerIT.java
index eef0f4f..54e35f8 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckerIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckerIT.java
@@ -19,9 +19,12 @@
import com.google.gerrit.acceptance.testsuite.request.RequestScopeOperations;
import com.google.gerrit.extensions.restapi.AuthException;
import com.google.gerrit.extensions.restapi.ResourceNotFoundException;
+import com.google.gerrit.extensions.restapi.RestApiException;
import com.google.gerrit.plugins.checks.CheckerUuid;
import com.google.gerrit.plugins.checks.acceptance.AbstractCheckersTest;
+import com.google.gerrit.plugins.checks.api.BlockingCondition;
import com.google.gerrit.plugins.checks.api.CheckerInfo;
+import com.google.gerrit.plugins.checks.api.CheckerStatus;
import com.google.gerrit.server.config.ConfigResource;
import com.google.gerrit.server.restapi.config.ListCapabilities;
import com.google.gerrit.server.restapi.config.ListCapabilities.CapabilityInfo;
@@ -36,27 +39,77 @@
@Test
public void getChecker() throws Exception {
String name = "my-checker";
- CheckerUuid checkerUuid = checkerOperations.newChecker().name(name).create();
+ CheckerUuid checkerUuid =
+ checkerOperations.newChecker().name(name).repository(project).query("").create();
CheckerInfo info = checkersApi.id(checkerUuid).get();
assertThat(info.uuid).isEqualTo(checkerUuid.toString());
assertThat(info.name).isEqualTo(name);
assertThat(info.description).isNull();
+ assertThat(info.url).isNull();
+ assertThat(info.repository).isEqualTo(project.get());
+ assertThat(info.status).isEqualTo(CheckerStatus.ENABLED);
+ assertThat(info.blocking).isEmpty();
+ assertThat(info.query).isNull();
assertThat(info.createdOn).isNotNull();
+ assertThat(info.updatedOn).isEqualTo(info.createdOn);
}
@Test
public void getCheckerWithDescription() throws Exception {
- String name = "my-checker";
String description = "some description";
- CheckerUuid checkerUuid =
- checkerOperations.newChecker().name(name).description(description).create();
+ CheckerUuid checkerUuid = checkerOperations.newChecker().description(description).create();
CheckerInfo info = checkersApi.id(checkerUuid).get();
- assertThat(info.uuid).isEqualTo(checkerUuid.toString());
- assertThat(info.name).isEqualTo(name);
assertThat(info.description).isEqualTo(description);
- assertThat(info.createdOn).isNotNull();
+ }
+
+ @Test
+ public void getCheckerWithUrl() throws Exception {
+ String url = "http://foo.bar";
+ CheckerUuid checkerUuid = checkerOperations.newChecker().url(url).create();
+
+ CheckerInfo info = checkersApi.id(checkerUuid).get();
+ assertThat(info.url).isEqualTo(url);
+ }
+
+ @Test
+ public void getCheckerWithInvalidUrl() throws Exception {
+ String url = "ftp://example.com/my-checker";
+ CheckerUuid checkerUuid = checkerOperations.newChecker().url(url).create();
+
+ CheckerInfo info = checkersApi.id(checkerUuid).get();
+ assertThat(info.url).isEqualTo(url);
+ }
+
+ @Test
+ public void getDisabledChecker() throws Exception {
+ CheckerUuid checkerUuid =
+ checkerOperations.newChecker().status(CheckerStatus.DISABLED).create();
+
+ CheckerInfo info = checkersApi.id(checkerUuid).get();
+ assertThat(info.status).isEqualTo(CheckerStatus.DISABLED);
+ }
+
+ @Test
+ public void getCheckerWithBlockingCondition() throws Exception {
+ CheckerUuid checkerUuid =
+ checkerOperations
+ .newChecker()
+ .blockingConditions(BlockingCondition.STATE_NOT_PASSING)
+ .create();
+
+ CheckerInfo info = checkersApi.id(checkerUuid).get();
+ assertThat(info.blocking).containsExactly(BlockingCondition.STATE_NOT_PASSING);
+ }
+
+ @Test
+ public void getCheckerWithQuery() throws Exception {
+ String query = "message:foo footer:bar";
+ CheckerUuid checkerUuid = checkerOperations.newChecker().query(query).create();
+
+ CheckerInfo info = checkersApi.id(checkerUuid).get();
+ assertThat(info.query).isEqualTo(query);
}
@Test
@@ -69,6 +122,16 @@
}
@Test
+ public void getInvalidCheckerFails() throws Exception {
+ CheckerUuid checkerUuid = checkerOperations.newChecker().create();
+ checkerOperations.checker(checkerUuid).forUpdate().forceInvalidConfig().update();
+
+ exception.expect(RestApiException.class);
+ exception.expectMessage("Cannot retrieve checker " + checkerUuid);
+ checkersApi.id(checkerUuid);
+ }
+
+ @Test
public void getCheckerByNameFails() throws Exception {
String name = "my-checker";
checkerOperations.newChecker().name(name).create();