Merge "Add class with checker test data"
diff --git a/java/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckerTestData.java b/java/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckerTestData.java
new file mode 100644
index 0000000..44883e2
--- /dev/null
+++ b/java/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckerTestData.java
@@ -0,0 +1,42 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.gerrit.plugins.checks.acceptance.testsuite;
+
+public final class CheckerTestData {
+ /** An invalid checker UUID. */
+ public static final String INVALID_UUID = "notauuid";
+
+ /** An invalid checker URL that is not allowed to be set for a checker. */
+ public static final String INVALID_URL = "ftp://example.com/my-checker";
+
+ /**
+ * The unsupported operator that is used in {@link
+ * CheckerTestData#QUERY_WITH_UNSUPPORTED_OPERATOR}.
+ */
+ public static final String UNSUPPORTED_OPERATOR = "project";
+
+ /**
+ * Query that contains an operator that is not allowed to be used in checker queries.
+ *
+ * @see com.google.gerrit.plugins.checks.CheckerQuery#ALLOWED_OPERATORS
+ */
+ @SuppressWarnings("javadoc")
+ public static final String QUERY_WITH_UNSUPPORTED_OPERATOR = UNSUPPORTED_OPERATOR + ":foo";
+
+ /** Query that is not parsable. */
+ public static final String INVALID_QUERY = ":foo :bar";
+
+ private CheckerTestData() {}
+}
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/api/CreateCheckIT.java b/javatests/com/google/gerrit/plugins/checks/acceptance/api/CreateCheckIT.java
index 649f1f4..fbb4f1d 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/CreateCheckIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/CreateCheckIT.java
@@ -25,6 +25,7 @@
import com.google.gerrit.plugins.checks.CheckerUuid;
import com.google.gerrit.plugins.checks.acceptance.AbstractCheckersTest;
import com.google.gerrit.plugins.checks.acceptance.testsuite.CheckOperations.PerCheckOperations;
+import com.google.gerrit.plugins.checks.acceptance.testsuite.CheckerTestData;
import com.google.gerrit.plugins.checks.api.CheckInfo;
import com.google.gerrit.plugins.checks.api.CheckInput;
import com.google.gerrit.plugins.checks.api.CheckState;
@@ -92,9 +93,9 @@
}
@Test
- public void cannotCreateCheckForMalformedCheckerUuid() throws Exception {
+ public void cannotCreateCheckForInvalidCheckerUuid() throws Exception {
CheckInput input = new CheckInput();
- input.checkerUuid = "malformed::checker*UUID";
+ input.checkerUuid = CheckerTestData.INVALID_UUID;
input.state = CheckState.RUNNING;
exception.expect(BadRequestException.class);
@@ -175,7 +176,11 @@
@Test
public void canCreateCheckForCheckerWithUnsupportedOperatorInQuery() throws Exception {
CheckerUuid checkerUuid =
- checkerOperations.newChecker().repository(project).query("project:foo").create();
+ checkerOperations
+ .newChecker()
+ .repository(project)
+ .query(CheckerTestData.QUERY_WITH_UNSUPPORTED_OPERATOR)
+ .create();
CheckInput input = new CheckInput();
input.checkerUuid = checkerUuid.toString();
@@ -190,7 +195,11 @@
@Test
public void canCreateCheckForCheckerWithInvalidQuery() throws Exception {
CheckerUuid checkerUuid =
- checkerOperations.newChecker().repository(project).query(":foo :bar").create();
+ checkerOperations
+ .newChecker()
+ .repository(project)
+ .query(CheckerTestData.INVALID_QUERY)
+ .create();
CheckInput input = new CheckInput();
input.checkerUuid = checkerUuid.toString();
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/api/CreateCheckerIT.java b/javatests/com/google/gerrit/plugins/checks/acceptance/api/CreateCheckerIT.java
index caee0a5..5474101 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/CreateCheckerIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/CreateCheckerIT.java
@@ -28,6 +28,7 @@
import com.google.gerrit.plugins.checks.CheckerUuid;
import com.google.gerrit.plugins.checks.acceptance.AbstractCheckersTest;
import com.google.gerrit.plugins.checks.acceptance.testsuite.CheckerOperations.PerCheckerOperations;
+import com.google.gerrit.plugins.checks.acceptance.testsuite.CheckerTestData;
import com.google.gerrit.plugins.checks.api.BlockingCondition;
import com.google.gerrit.plugins.checks.api.CheckerInfo;
import com.google.gerrit.plugins.checks.api.CheckerInput;
@@ -209,9 +210,9 @@
CheckerUuid checkerUuid = checkerOperations.newChecker().name("my-checker").create();
CheckerInput input = new CheckerInput();
- input.url = "ftp://example.com/my-checker";
+ input.url = CheckerTestData.INVALID_URL;
exception.expect(BadRequestException.class);
- exception.expectMessage("only http/https URLs supported: ftp://example.com/my-checker");
+ exception.expectMessage("only http/https URLs supported: " + input.url);
checkersApi.id(checkerUuid).update(input);
}
@@ -278,11 +279,11 @@
@Test
public void createCheckerWithInvalidUuidFails() throws Exception {
CheckerInput input = new CheckerInput();
- input.uuid = "notauuid";
+ input.uuid = CheckerTestData.INVALID_UUID;
input.repository = allProjects.get();
exception.expect(BadRequestException.class);
- exception.expectMessage("invalid uuid: notauuid");
+ exception.expectMessage("invalid uuid: " + input.uuid);
checkersApi.create(input);
}
@@ -389,13 +390,15 @@
CheckerInput input = new CheckerInput();
input.uuid = "test:my-checker";
input.repository = allProjects.get();
- input.query = "project:foo";
+ input.query = CheckerTestData.QUERY_WITH_UNSUPPORTED_OPERATOR;
try {
checkersApi.create(input).get();
assert_().fail("expected BadRequestException");
} catch (BadRequestException e) {
- assertThat(e).hasMessageThat().isEqualTo("Unsupported operator: project");
+ assertThat(e)
+ .hasMessageThat()
+ .isEqualTo("Unsupported operator: " + CheckerTestData.UNSUPPORTED_OPERATOR);
}
}
@@ -404,7 +407,7 @@
CheckerInput input = new CheckerInput();
input.uuid = "test:my-checker";
input.repository = allProjects.get();
- input.query = ":foo :bar";
+ input.query = CheckerTestData.INVALID_QUERY;
try {
checkersApi.create(input).get();
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 974a5bf..97abf39 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckIT.java
@@ -28,6 +28,7 @@
import com.google.gerrit.plugins.checks.CheckerUuid;
import com.google.gerrit.plugins.checks.ListChecksOption;
import com.google.gerrit.plugins.checks.acceptance.AbstractCheckersTest;
+import com.google.gerrit.plugins.checks.acceptance.testsuite.CheckerTestData;
import com.google.gerrit.plugins.checks.api.BlockingCondition;
import com.google.gerrit.plugins.checks.api.CheckInfo;
import com.google.gerrit.plugins.checks.api.CheckState;
@@ -125,7 +126,11 @@
@Test
public void getCheckForCheckerWithUnsupportedOperatorInQuery() throws Exception {
CheckerUuid checkerUuid =
- checkerOperations.newChecker().repository(project).query("project:foo").create();
+ checkerOperations
+ .newChecker()
+ .repository(project)
+ .query(CheckerTestData.QUERY_WITH_UNSUPPORTED_OPERATOR)
+ .create();
CheckKey checkKey = CheckKey.create(project, patchSetId, checkerUuid);
checkOperations.newCheck(checkKey).setState(CheckState.RUNNING).upsert();
@@ -137,7 +142,11 @@
@Test
public void getCheckForCheckerWithInvalidQuery() throws Exception {
CheckerUuid checkerUuid =
- checkerOperations.newChecker().repository(project).query(":foo :bar").create();
+ checkerOperations
+ .newChecker()
+ .repository(project)
+ .query(CheckerTestData.INVALID_QUERY)
+ .create();
CheckKey checkKey = CheckKey.create(project, patchSetId, checkerUuid);
checkOperations.newCheck(checkKey).setState(CheckState.RUNNING).upsert();
@@ -231,8 +240,8 @@
@Test
public void getCheckForInvalidCheckerUuid() throws Exception {
exception.expect(BadRequestException.class);
- exception.expectMessage("invalid checker UUID: malformed::checker*UUID");
- checksApiFactory.revision(patchSetId).id("malformed::checker*UUID");
+ exception.expectMessage("invalid checker UUID: " + CheckerTestData.INVALID_UUID);
+ checksApiFactory.revision(patchSetId).id(CheckerTestData.INVALID_UUID);
}
@Test
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 ee257bd..8c7d7b4 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckerIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckerIT.java
@@ -22,6 +22,7 @@
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.acceptance.testsuite.CheckerTestData;
import com.google.gerrit.plugins.checks.api.BlockingCondition;
import com.google.gerrit.plugins.checks.api.CheckerInfo;
import com.google.gerrit.plugins.checks.api.CheckerStatus;
@@ -66,7 +67,7 @@
@Test
public void getCheckerWithUrl() throws Exception {
- String url = "http://foo.bar";
+ String url = "http://example.com/my-checker";
CheckerUuid checkerUuid = checkerOperations.newChecker().url(url).create();
CheckerInfo info = checkersApi.id(checkerUuid).get();
@@ -75,11 +76,11 @@
@Test
public void getCheckerWithInvalidUrl() throws Exception {
- String url = "ftp://example.com/my-checker";
- CheckerUuid checkerUuid = checkerOperations.newChecker().url(url).create();
+ CheckerUuid checkerUuid =
+ checkerOperations.newChecker().url(CheckerTestData.INVALID_URL).create();
CheckerInfo info = checkersApi.id(checkerUuid).get();
- assertThat(info.url).isEqualTo(url);
+ assertThat(info.url).isEqualTo(CheckerTestData.INVALID_URL);
}
@Test
@@ -114,20 +115,23 @@
@Test
public void getCheckerWithUnsupportedOperatorInQuery() throws Exception {
- String query = "project:foo";
- CheckerUuid checkerUuid = checkerOperations.newChecker().query(query).create();
+ CheckerUuid checkerUuid =
+ checkerOperations
+ .newChecker()
+ .query(CheckerTestData.QUERY_WITH_UNSUPPORTED_OPERATOR)
+ .create();
CheckerInfo info = checkersApi.id(checkerUuid).get();
- assertThat(info.query).isEqualTo(query);
+ assertThat(info.query).isEqualTo(CheckerTestData.QUERY_WITH_UNSUPPORTED_OPERATOR);
}
@Test
public void getCheckerWithInvalidQuery() throws Exception {
- String query = ":foo :bar";
- CheckerUuid checkerUuid = checkerOperations.newChecker().query(query).create();
+ CheckerUuid checkerUuid =
+ checkerOperations.newChecker().query(CheckerTestData.INVALID_QUERY).create();
CheckerInfo info = checkersApi.id(checkerUuid).get();
- assertThat(info.query).isEqualTo(query);
+ assertThat(info.query).isEqualTo(CheckerTestData.INVALID_QUERY);
}
@Test
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/api/ListPendingChecksIT.java b/javatests/com/google/gerrit/plugins/checks/acceptance/api/ListPendingChecksIT.java
index 5c7d2d4..18b7fe3 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/ListPendingChecksIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/ListPendingChecksIT.java
@@ -29,6 +29,7 @@
import com.google.gerrit.plugins.checks.CheckKey;
import com.google.gerrit.plugins.checks.CheckerUuid;
import com.google.gerrit.plugins.checks.acceptance.AbstractCheckersTest;
+import com.google.gerrit.plugins.checks.acceptance.testsuite.CheckerTestData;
import com.google.gerrit.plugins.checks.api.CheckState;
import com.google.gerrit.plugins.checks.api.PendingCheckInfo;
import com.google.gerrit.plugins.checks.api.PendingChecksInfo;
@@ -73,10 +74,10 @@
}
@Test
- public void cannotListPendingChecksForMalformedCheckerUuid() throws Exception {
+ public void cannotListPendingChecksForInvalidCheckerUuid() throws Exception {
exception.expect(BadRequestException.class);
- exception.expectMessage("invalid checker UUID: malformed::checker*UUID");
- pendingChecksApi.list("malformed::checker*UUID");
+ exception.expectMessage("invalid checker UUID: " + CheckerTestData.INVALID_UUID);
+ pendingChecksApi.list(CheckerTestData.INVALID_UUID);
}
@Test
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/api/UpdateCheckIT.java b/javatests/com/google/gerrit/plugins/checks/acceptance/api/UpdateCheckIT.java
index ff4b381..7ae4fac 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/UpdateCheckIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/UpdateCheckIT.java
@@ -21,6 +21,7 @@
import com.google.gerrit.plugins.checks.CheckKey;
import com.google.gerrit.plugins.checks.CheckerUuid;
import com.google.gerrit.plugins.checks.acceptance.AbstractCheckersTest;
+import com.google.gerrit.plugins.checks.acceptance.testsuite.CheckerTestData;
import com.google.gerrit.plugins.checks.api.CheckInfo;
import com.google.gerrit.plugins.checks.api.CheckInput;
import com.google.gerrit.plugins.checks.api.CheckState;
@@ -79,7 +80,11 @@
@Test
public void canUpdateCheckForCheckerWithUnsupportedOperatorInQuery() throws Exception {
- checkerOperations.checker(checkKey.checkerUuid()).forUpdate().query("project:foo").update();
+ checkerOperations
+ .checker(checkKey.checkerUuid())
+ .forUpdate()
+ .query(CheckerTestData.QUERY_WITH_UNSUPPORTED_OPERATOR)
+ .update();
CheckInput input = new CheckInput();
input.state = CheckState.SUCCESSFUL;
@@ -90,7 +95,11 @@
@Test
public void canUpdateCheckForCheckerWithInvalidQuery() throws Exception {
- checkerOperations.checker(checkKey.checkerUuid()).forUpdate().query(":foo :bar").update();
+ checkerOperations
+ .checker(checkKey.checkerUuid())
+ .forUpdate()
+ .query(CheckerTestData.INVALID_QUERY)
+ .update();
CheckInput input = new CheckInput();
input.state = CheckState.SUCCESSFUL;
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/api/UpdateCheckerIT.java b/javatests/com/google/gerrit/plugins/checks/acceptance/api/UpdateCheckerIT.java
index 8c4af46..39cd9ad 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/UpdateCheckerIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/UpdateCheckerIT.java
@@ -30,6 +30,7 @@
import com.google.gerrit.plugins.checks.CheckerUuid;
import com.google.gerrit.plugins.checks.acceptance.AbstractCheckersTest;
import com.google.gerrit.plugins.checks.acceptance.testsuite.CheckerOperations.PerCheckerOperations;
+import com.google.gerrit.plugins.checks.acceptance.testsuite.CheckerTestData;
import com.google.gerrit.plugins.checks.api.BlockingCondition;
import com.google.gerrit.plugins.checks.api.CheckerInfo;
import com.google.gerrit.plugins.checks.api.CheckerInput;
@@ -412,7 +413,7 @@
CheckerUuid checkerUuid = checkerOperations.newChecker().name("my-checker").create();
CheckerInput input = new CheckerInput();
- input.url = "ftp://example.com/my-checker";
+ input.url = CheckerTestData.INVALID_URL;
exception.expect(BadRequestException.class);
exception.expectMessage("only http/https URLs supported: ftp://example.com/my-checker");
checkersApi.id(checkerUuid).update(input);
@@ -538,12 +539,14 @@
Optional<String> oldQuery = checkerOperations.checker(checkerUuid).get().getQuery();
CheckerInput input = new CheckerInput();
- input.query = "project:foo";
+ input.query = CheckerTestData.QUERY_WITH_UNSUPPORTED_OPERATOR;
try {
checkersApi.id(checkerUuid).update(input);
assert_().fail("expected BadRequestException");
} catch (BadRequestException e) {
- assertThat(e).hasMessageThat().isEqualTo("Unsupported operator: project");
+ assertThat(e)
+ .hasMessageThat()
+ .isEqualTo("Unsupported operator: " + CheckerTestData.UNSUPPORTED_OPERATOR);
}
assertThat(checkerOperations.checker(checkerUuid).get().getQuery()).isEqualTo(oldQuery);
@@ -556,7 +559,7 @@
Optional<String> oldQuery = checkerOperations.checker(checkerUuid).get().getQuery();
CheckerInput input = new CheckerInput();
- input.query = ":foo :bar";
+ input.query = CheckerTestData.INVALID_QUERY;
try {
checkersApi.id(checkerUuid).update(input);
assert_().fail("expected BadRequestException");
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckerTestDataTest.java b/javatests/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckerTestDataTest.java
new file mode 100644
index 0000000..6042dd0
--- /dev/null
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckerTestDataTest.java
@@ -0,0 +1,66 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.gerrit.plugins.checks.acceptance.testsuite;
+
+import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assert_;
+
+import com.google.gerrit.extensions.restapi.BadRequestException;
+import com.google.gerrit.plugins.checks.CheckerQuery;
+import com.google.gerrit.plugins.checks.CheckerUrl;
+import com.google.gerrit.plugins.checks.CheckerUuid;
+import com.google.gerrit.plugins.checks.acceptance.AbstractCheckersTest;
+import org.junit.Test;
+
+public class CheckerTestDataTest extends AbstractCheckersTest {
+ @Test
+ public void verifyTestUuids() throws Exception {
+ assertThat(CheckerUuid.isUuid(CheckerTestData.INVALID_UUID)).isFalse();
+ }
+
+ @Test
+ public void verifyTestUrls() throws Exception {
+ try {
+ CheckerUrl.clean(CheckerTestData.INVALID_URL);
+ assert_().fail("expected BadRequestException");
+ } catch (BadRequestException e) {
+ assertMessage(e, "only http/https URLs supported", CheckerTestData.INVALID_URL);
+ }
+ }
+
+ @Test
+ public void verifyTestQueries() throws Exception {
+ assertInvalidQuery(
+ CheckerTestData.QUERY_WITH_UNSUPPORTED_OPERATOR,
+ "unsupported operator",
+ CheckerTestData.UNSUPPORTED_OPERATOR);
+ assertInvalidQuery(CheckerTestData.INVALID_QUERY, "invalid", CheckerTestData.INVALID_QUERY);
+ }
+
+ private static void assertInvalidQuery(String query, String... expectedMessageParts) {
+ try {
+ CheckerQuery.clean(query);
+ assert_().fail("expected BadRequestException");
+ } catch (BadRequestException e) {
+ assertMessage(e, expectedMessageParts);
+ }
+ }
+
+ private static void assertMessage(Exception e, String... expectedMessageParts) {
+ for (String expectedMessagePart : expectedMessageParts) {
+ assertThat(e).hasMessageThat().ignoringCase().contains(expectedMessagePart);
+ }
+ }
+}