Test -o and -O for List Checks and Get Check REST endpoints
Testing the REST endpoint with options via the API only covered -o.
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: Ib10b54634a7e7b46ac61f21bd7a058f980c1f2af
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckIT.java b/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckIT.java
index 980aece..cb0da5e 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckIT.java
@@ -20,7 +20,9 @@
import static com.google.gerrit.extensions.client.ListChangesOption.CURRENT_REVISION;
import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
+import com.google.common.collect.ImmutableSortedSet;
import com.google.gerrit.acceptance.PushOneCommit;
+import com.google.gerrit.acceptance.RestResponse;
import com.google.gerrit.acceptance.rest.util.RestApiCallHelper;
import com.google.gerrit.acceptance.rest.util.RestCall;
import com.google.gerrit.acceptance.rest.util.RestCall.Method;
@@ -41,6 +43,7 @@
import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.testing.TestTimeUtil;
+import com.google.gson.reflect.TypeToken;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import java.sql.Timestamp;
@@ -78,11 +81,65 @@
CheckKey checkKey = CheckKey.create(project, patchSetId, checkerUuid);
checkOperations.newCheck(checkKey).setState(CheckState.RUNNING).upsert();
- assertThat(checksApiFactory.revision(patchSetId).id(checkerUuid).get())
+ assertThat(getCheckInfo(patchSetId, checkerUuid))
.isEqualTo(checkOperations.check(checkKey).asInfo());
}
@Test
+ public void getCheckWithOptions() throws Exception {
+ CheckerUuid checkerUuid =
+ checkerOperations.newChecker().repository(project).name("My Checker").create();
+
+ CheckKey checkKey = CheckKey.create(project, patchSetId, checkerUuid);
+ checkOperations.newCheck(checkKey).setState(CheckState.RUNNING).upsert();
+
+ CheckInfo expectedCheckInfo = checkOperations.check(checkKey).asInfo();
+ expectedCheckInfo.repository = project.get();
+ expectedCheckInfo.checkerName = "My Checker";
+ expectedCheckInfo.checkerStatus = CheckerStatus.ENABLED;
+ expectedCheckInfo.blocking = ImmutableSortedSet.of();
+
+ assertThat(getCheckInfo(patchSetId, checkerUuid, ListChecksOption.CHECKER))
+ .isEqualTo(expectedCheckInfo);
+ }
+
+ @Test
+ public void getCheckWithOptionsViaRest() throws Exception {
+ CheckerUuid checkerUuid =
+ checkerOperations.newChecker().repository(project).name("My Checker").create();
+
+ CheckKey checkKey = CheckKey.create(project, patchSetId, checkerUuid);
+ checkOperations.newCheck(checkKey).setState(CheckState.RUNNING).upsert();
+
+ CheckInfo expectedCheckInfo = checkOperations.check(checkKey).asInfo();
+ expectedCheckInfo.repository = project.get();
+ expectedCheckInfo.checkerName = "My Checker";
+ expectedCheckInfo.checkerStatus = CheckerStatus.ENABLED;
+ expectedCheckInfo.blocking = ImmutableSortedSet.of();
+
+ RestResponse r =
+ adminRestSession.get(
+ String.format(
+ "/changes/%s/revisions/%s/checks~checks/%s?o=CHECKER",
+ patchSetId.getParentKey().get(), patchSetId.get(), checkerUuid.get()));
+ r.assertOK();
+ CheckInfo checkInfo =
+ newGson().fromJson(r.getReader(), new TypeToken<CheckInfo>() {}.getType());
+ r.consume();
+ assertThat(checkInfo).isEqualTo(expectedCheckInfo);
+
+ r =
+ adminRestSession.get(
+ String.format(
+ "/changes/%s/revisions/%s/checks~checks/%s?O=1",
+ patchSetId.getParentKey().get(), patchSetId.get(), checkerUuid.get()));
+ r.assertOK();
+ checkInfo = newGson().fromJson(r.getReader(), new TypeToken<CheckInfo>() {}.getType());
+ r.consume();
+ assertThat(checkInfo).isEqualTo(expectedCheckInfo);
+ }
+
+ @Test
public void getCheckReturnsRepository() throws Exception {
CheckerUuid checkerUuid = checkerOperations.newChecker().repository(project).create();
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/api/ListChecksIT.java b/javatests/com/google/gerrit/plugins/checks/acceptance/api/ListChecksIT.java
index 8530208..807a499 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/ListChecksIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/ListChecksIT.java
@@ -21,6 +21,7 @@
import com.google.common.collect.ImmutableSet;
import com.google.gerrit.acceptance.PushOneCommit;
+import com.google.gerrit.acceptance.RestResponse;
import com.google.gerrit.acceptance.testsuite.request.RequestScopeOperations;
import com.google.gerrit.extensions.restapi.RestApiException;
import com.google.gerrit.plugins.checks.CheckKey;
@@ -33,9 +34,9 @@
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gerrit.reviewdb.client.Project;
+import com.google.gson.reflect.TypeToken;
import com.google.inject.Inject;
import java.sql.Timestamp;
-import java.util.Collection;
import java.util.List;
import java.util.Optional;
import org.junit.Before;
@@ -65,27 +66,9 @@
CheckKey checkKey2 = CheckKey.create(project, patchSetId, checkerUuid2);
checkOperations.newCheck(checkKey2).setState(CheckState.FAILED).upsert();
- Collection<CheckInfo> checks = checksApiFactory.revision(patchSetId).list();
-
- CheckInfo expected1 = new CheckInfo();
- expected1.repository = project.get();
- expected1.changeNumber = patchSetId.getParentKey().get();
- expected1.patchSetId = patchSetId.get();
- expected1.checkerUuid = checkerUuid1.get();
- expected1.state = CheckState.RUNNING;
- expected1.created = checkOperations.check(checkKey1).get().created();
- expected1.updated = expected1.created;
-
- CheckInfo expected2 = new CheckInfo();
- expected2.repository = project.get();
- expected2.changeNumber = patchSetId.getParentKey().get();
- expected2.patchSetId = patchSetId.get();
- expected2.checkerUuid = checkerUuid2.get();
- expected2.state = CheckState.FAILED;
- expected2.created = checkOperations.check(checkKey2).get().created();
- expected2.updated = expected2.created;
-
- assertThat(checks).containsExactly(expected1, expected2);
+ assertThat(checksApiFactory.revision(patchSetId).list())
+ .containsExactly(
+ checkOperations.check(checkKey1).asInfo(), checkOperations.check(checkKey2).asInfo());
}
@Test
@@ -101,33 +84,65 @@
CheckKey checkKey2 = CheckKey.create(project, patchSetId, checkerUuid2);
checkOperations.newCheck(checkKey2).setState(CheckState.FAILED).upsert();
- Collection<CheckInfo> checks =
- checksApiFactory.revision(patchSetId).list(ListChecksOption.CHECKER);
+ CheckInfo expectedCheckInfo1 = checkOperations.check(checkKey1).asInfo();
+ expectedCheckInfo1.repository = project.get();
+ expectedCheckInfo1.checkerName = checkerName1;
+ expectedCheckInfo1.blocking = ImmutableSet.of();
+ expectedCheckInfo1.checkerStatus = CheckerStatus.ENABLED;
- CheckInfo expected1 = new CheckInfo();
- expected1.repository = project.get();
- expected1.changeNumber = patchSetId.getParentKey().get();
- expected1.patchSetId = patchSetId.get();
- expected1.checkerUuid = checkerUuid1.get();
- expected1.state = CheckState.RUNNING;
- expected1.created = checkOperations.check(checkKey1).get().created();
- expected1.updated = expected1.created;
- expected1.checkerName = checkerName1;
- expected1.blocking = ImmutableSet.of();
- expected1.checkerStatus = CheckerStatus.ENABLED;
+ CheckInfo expectedCheckInfo2 = checkOperations.check(checkKey2).asInfo();
+ expectedCheckInfo2.repository = project.get();
+ expectedCheckInfo2.blocking = ImmutableSet.of();
+ expectedCheckInfo2.checkerStatus = CheckerStatus.ENABLED;
- CheckInfo expected2 = new CheckInfo();
- expected2.repository = project.get();
- expected2.changeNumber = patchSetId.getParentKey().get();
- expected2.patchSetId = patchSetId.get();
- expected2.checkerUuid = checkerUuid2.get();
- expected2.state = CheckState.FAILED;
- expected2.created = checkOperations.check(checkKey2).get().created();
- expected2.updated = expected2.created;
- expected2.blocking = ImmutableSet.of();
- expected2.checkerStatus = CheckerStatus.ENABLED;
+ assertThat(checksApiFactory.revision(patchSetId).list(ListChecksOption.CHECKER))
+ .containsExactly(expectedCheckInfo1, expectedCheckInfo2);
+ }
- assertThat(checks).containsExactly(expected1, expected2);
+ @Test
+ public void listAllWithOptionsViaRest() throws Exception {
+ String checkerName1 = "Checker One";
+ CheckerUuid checkerUuid1 =
+ checkerOperations.newChecker().name(checkerName1).repository(project).create();
+ CheckerUuid checkerUuid2 = checkerOperations.newChecker().repository(project).create();
+
+ CheckKey checkKey1 = CheckKey.create(project, patchSetId, checkerUuid1);
+ checkOperations.newCheck(checkKey1).setState(CheckState.RUNNING).upsert();
+
+ CheckKey checkKey2 = CheckKey.create(project, patchSetId, checkerUuid2);
+ checkOperations.newCheck(checkKey2).setState(CheckState.FAILED).upsert();
+
+ CheckInfo expectedCheckInfo1 = checkOperations.check(checkKey1).asInfo();
+ expectedCheckInfo1.repository = project.get();
+ expectedCheckInfo1.checkerName = checkerName1;
+ expectedCheckInfo1.blocking = ImmutableSet.of();
+ expectedCheckInfo1.checkerStatus = CheckerStatus.ENABLED;
+
+ CheckInfo expectedCheckInfo2 = checkOperations.check(checkKey2).asInfo();
+ expectedCheckInfo2.repository = project.get();
+ expectedCheckInfo2.blocking = ImmutableSet.of();
+ expectedCheckInfo2.checkerStatus = CheckerStatus.ENABLED;
+
+ RestResponse r =
+ adminRestSession.get(
+ String.format(
+ "/changes/%s/revisions/%s/checks~checks/?o=CHECKER",
+ patchSetId.getParentKey().get(), patchSetId.get()));
+ r.assertOK();
+ List<CheckInfo> checkInfos =
+ newGson().fromJson(r.getReader(), new TypeToken<List<CheckInfo>>() {}.getType());
+ r.consume();
+ assertThat(checkInfos).containsExactly(expectedCheckInfo1, expectedCheckInfo2);
+
+ r =
+ adminRestSession.get(
+ String.format(
+ "/changes/%s/revisions/%s/checks~checks/?O=1",
+ patchSetId.getParentKey().get(), patchSetId.get()));
+ r.assertOK();
+ checkInfos = newGson().fromJson(r.getReader(), new TypeToken<List<CheckInfo>>() {}.getType());
+ r.consume();
+ assertThat(checkInfos).containsExactly(expectedCheckInfo1, expectedCheckInfo2);
}
@Test