Use assertThrows instead of ExpectedException
This change is based on one generated by an automated refactoring tool.
See [1] for context.
The refactoring tool used Hamcrest matches to assert over the cause of
an exception; replace those manually with the Truth equivalent
.hasCauseThat().
[1] https://gerrit-review.googlesource.com/c/gerrit/+/223155
Change-Id: Icfba83fb225e7f14e1daefbe82483fbf8a76dd2c
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/CheckerRefsIT.java b/javatests/com/google/gerrit/plugins/checks/acceptance/CheckerRefsIT.java
index 538c062..1fb36a4 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/CheckerRefsIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/CheckerRefsIT.java
@@ -18,6 +18,7 @@
import static com.google.gerrit.acceptance.GitUtil.deleteRef;
import static com.google.gerrit.acceptance.GitUtil.fetch;
import static com.google.gerrit.server.group.SystemGroupBackend.REGISTERED_USERS;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import com.google.gerrit.acceptance.PushOneCommit;
import com.google.gerrit.acceptance.SkipProjectClone;
@@ -174,9 +175,10 @@
grant(allProjects, CheckerRef.REFS_CHECKERS + "*", Permission.SUBMIT);
- exception.expect(ResourceConflictException.class);
- exception.expectMessage("submit to checker ref not allowed");
- gApi.changes().id(changeId).current().submit();
+ ResourceConflictException thrown =
+ assertThrows(
+ ResourceConflictException.class, () -> gApi.changes().id(changeId).current().submit());
+ assertThat(thrown).hasMessageThat().contains("submit to checker ref not allowed");
}
@Test
@@ -257,9 +259,9 @@
input.baseCommit = head.name();
input.subject = "A change.";
- exception.expect(ResourceConflictException.class);
- exception.expectMessage("creating change for checker ref not allowed");
- gApi.changes().create(input);
+ ResourceConflictException thrown =
+ assertThrows(ResourceConflictException.class, () -> gApi.changes().create(input));
+ assertThat(thrown).hasMessageThat().contains("creating change for checker ref not allowed");
}
@Test
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 00c876a..808027b 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/CreateCheckIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/CreateCheckIT.java
@@ -16,6 +16,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth8.assertThat;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import com.google.gerrit.acceptance.testsuite.request.RequestScopeOperations;
import com.google.gerrit.extensions.restapi.AuthException;
@@ -100,9 +101,11 @@
@Test
public void cannotCreateCheckWithoutCheckerUuid() throws Exception {
- exception.expect(BadRequestException.class);
- exception.expectMessage("checker UUID is required");
- checksApiFactory.revision(patchSetId).create(new CheckInput());
+ BadRequestException thrown =
+ assertThrows(
+ BadRequestException.class,
+ () -> checksApiFactory.revision(patchSetId).create(new CheckInput()));
+ assertThat(thrown).hasMessageThat().contains("checker UUID is required");
}
@Test
@@ -165,9 +168,10 @@
input.checkerUuid = checkerUuid.get();
input.url = CheckTestData.INVALID_URL;
- exception.expect(BadRequestException.class);
- exception.expectMessage("only http/https URLs supported: " + input.url);
- checksApiFactory.revision(patchSetId).create(input);
+ BadRequestException thrown =
+ assertThrows(
+ BadRequestException.class, () -> checksApiFactory.revision(patchSetId).create(input));
+ assertThat(thrown).hasMessageThat().contains("only http/https URLs supported: " + input.url);
}
@Test
@@ -202,9 +206,10 @@
input.checkerUuid = CheckerTestData.INVALID_UUID;
input.state = CheckState.RUNNING;
- exception.expect(BadRequestException.class);
- exception.expectMessage("invalid checker UUID: " + input.checkerUuid);
- checksApiFactory.revision(patchSetId).create(input);
+ BadRequestException thrown =
+ assertThrows(
+ BadRequestException.class, () -> checksApiFactory.revision(patchSetId).create(input));
+ assertThat(thrown).hasMessageThat().contains("invalid checker UUID: " + input.checkerUuid);
}
@Test
@@ -213,9 +218,11 @@
input.checkerUuid = "foo:non-existing";
input.state = CheckState.RUNNING;
- exception.expect(UnprocessableEntityException.class);
- exception.expectMessage("checker " + input.checkerUuid + " not found");
- checksApiFactory.revision(patchSetId).create(input);
+ UnprocessableEntityException thrown =
+ assertThrows(
+ UnprocessableEntityException.class,
+ () -> checksApiFactory.revision(patchSetId).create(input));
+ assertThat(thrown).hasMessageThat().contains("checker " + input.checkerUuid + " not found");
}
@Test
@@ -227,9 +234,10 @@
input.checkerUuid = checkerUuid.get();
input.state = CheckState.RUNNING;
- exception.expect(RestApiException.class);
- exception.expectMessage("Cannot create check");
- checksApiFactory.revision(patchSetId).create(input);
+ RestApiException thrown =
+ assertThrows(
+ RestApiException.class, () -> checksApiFactory.revision(patchSetId).create(input));
+ assertThat(thrown).hasMessageThat().contains("Cannot create check");
}
@Test
@@ -324,9 +332,10 @@
input.checkerUuid = checkerUuid.get();
input.state = CheckState.RUNNING;
- exception.expect(AuthException.class);
- exception.expectMessage("not permitted");
- checksApiFactory.revision(patchSetId).create(input);
+ AuthException thrown =
+ assertThrows(
+ AuthException.class, () -> checksApiFactory.revision(patchSetId).create(input));
+ assertThat(thrown).hasMessageThat().contains("not permitted");
}
@Test
@@ -339,9 +348,10 @@
input.checkerUuid = checkerUuid.get();
input.state = CheckState.RUNNING;
- exception.expect(AuthException.class);
- exception.expectMessage("Authentication required");
- checksApiFactory.revision(patchSetId).create(input);
+ AuthException thrown =
+ assertThrows(
+ AuthException.class, () -> checksApiFactory.revision(patchSetId).create(input));
+ assertThat(thrown).hasMessageThat().contains("Authentication required");
}
// TODO(gerrit-team) More tests, especially for multiple checkers and PS and how commits behave
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 00a57e0..88859f1 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/CreateCheckerIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/CreateCheckerIT.java
@@ -17,6 +17,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assert_;
import static com.google.gerrit.git.testing.CommitSubject.assertCommit;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import com.google.common.collect.ImmutableSet;
import com.google.gerrit.acceptance.testsuite.project.ProjectOperations;
@@ -203,9 +204,9 @@
CheckerInput input = new CheckerInput();
input.url = CheckerTestData.INVALID_URL;
- exception.expect(BadRequestException.class);
- exception.expectMessage("only http/https URLs supported: " + input.url);
- checkersApi.id(checkerUuid).update(input);
+ BadRequestException thrown =
+ assertThrows(BadRequestException.class, () -> checkersApi.id(checkerUuid).update(input));
+ assertThat(thrown).hasMessageThat().contains("only http/https URLs supported: " + input.url);
}
@Test
@@ -231,9 +232,9 @@
input.repository = allProjects.get();
checkersApi.create(input).get();
- exception.expect(ResourceConflictException.class);
- exception.expectMessage("Checker test:my-checker already exists");
- checkersApi.create(input);
+ ResourceConflictException thrown =
+ assertThrows(ResourceConflictException.class, () -> checkersApi.create(input));
+ assertThat(thrown).hasMessageThat().contains("Checker test:my-checker already exists");
}
@Test
@@ -241,9 +242,9 @@
CheckerInput input = new CheckerInput();
input.repository = allProjects.get();
- exception.expect(BadRequestException.class);
- exception.expectMessage("uuid is required");
- checkersApi.create(input);
+ BadRequestException thrown =
+ assertThrows(BadRequestException.class, () -> checkersApi.create(input));
+ assertThat(thrown).hasMessageThat().contains("uuid is required");
}
@Test
@@ -252,9 +253,9 @@
input.uuid = "";
input.repository = allProjects.get();
- exception.expect(BadRequestException.class);
- exception.expectMessage("uuid is required");
- checkersApi.create(input);
+ BadRequestException thrown =
+ assertThrows(BadRequestException.class, () -> checkersApi.create(input));
+ assertThat(thrown).hasMessageThat().contains("uuid is required");
}
@Test
@@ -263,9 +264,9 @@
input.uuid = " ";
input.repository = allProjects.get();
- exception.expect(BadRequestException.class);
- exception.expectMessage("invalid uuid: ");
- checkersApi.create(input);
+ BadRequestException thrown =
+ assertThrows(BadRequestException.class, () -> checkersApi.create(input));
+ assertThat(thrown).hasMessageThat().contains("invalid uuid: ");
}
@Test
@@ -274,9 +275,9 @@
input.uuid = CheckerTestData.INVALID_UUID;
input.repository = allProjects.get();
- exception.expect(BadRequestException.class);
- exception.expectMessage("invalid uuid: " + input.uuid);
- checkersApi.create(input);
+ BadRequestException thrown =
+ assertThrows(BadRequestException.class, () -> checkersApi.create(input));
+ assertThat(thrown).hasMessageThat().contains("invalid uuid: " + input.uuid);
}
@Test
@@ -284,9 +285,9 @@
CheckerInput input = new CheckerInput();
input.uuid = "test:my-checker";
- exception.expect(BadRequestException.class);
- exception.expectMessage("repository is required");
- checkersApi.create(input);
+ BadRequestException thrown =
+ assertThrows(BadRequestException.class, () -> checkersApi.create(input));
+ assertThat(thrown).hasMessageThat().contains("repository is required");
}
@Test
@@ -295,9 +296,9 @@
input.uuid = "test:my-checker";
input.repository = "";
- exception.expect(BadRequestException.class);
- exception.expectMessage("repository is required");
- checkersApi.create(input);
+ BadRequestException thrown =
+ assertThrows(BadRequestException.class, () -> checkersApi.create(input));
+ assertThat(thrown).hasMessageThat().contains("repository is required");
}
@Test
@@ -306,9 +307,9 @@
input.uuid = "test:my-checker";
input.repository = " ";
- exception.expect(BadRequestException.class);
- exception.expectMessage("repository is required");
- checkersApi.create(input);
+ BadRequestException thrown =
+ assertThrows(BadRequestException.class, () -> checkersApi.create(input));
+ assertThat(thrown).hasMessageThat().contains("repository is required");
}
@Test
@@ -317,9 +318,9 @@
input.uuid = "test:my-checker";
input.repository = "non-existing";
- exception.expect(UnprocessableEntityException.class);
- exception.expectMessage("repository non-existing not found");
- checkersApi.create(input);
+ UnprocessableEntityException thrown =
+ assertThrows(UnprocessableEntityException.class, () -> checkersApi.create(input));
+ assertThat(thrown).hasMessageThat().contains("repository non-existing not found");
}
@Test
@@ -460,9 +461,10 @@
input.uuid = "test:my-checker";
input.repository = allProjects.get();
- exception.expect(AuthException.class);
- exception.expectMessage("administrateCheckers for plugin checks not permitted");
- checkersApi.create(input);
+ AuthException thrown = assertThrows(AuthException.class, () -> checkersApi.create(input));
+ assertThat(thrown)
+ .hasMessageThat()
+ .contains("administrateCheckers for plugin checks not permitted");
}
@Test
@@ -473,8 +475,7 @@
input.uuid = "test:my-checker";
input.repository = allProjects.get();
- exception.expect(AuthException.class);
- exception.expectMessage("Authentication required");
- checkersApi.create(input);
+ AuthException thrown = assertThrows(AuthException.class, () -> checkersApi.create(input));
+ assertThat(thrown).hasMessageThat().contains("Authentication required");
}
}
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 a19359c..a8239bb 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckIT.java
@@ -18,6 +18,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assert_;
import static com.google.gerrit.extensions.client.ListChangesOption.CURRENT_REVISION;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
import com.google.common.collect.ImmutableSortedSet;
@@ -459,9 +460,13 @@
@Test
public void getCheckForInvalidCheckerUuid() throws Exception {
- exception.expect(BadRequestException.class);
- exception.expectMessage("invalid checker UUID: " + CheckerTestData.INVALID_UUID);
- checksApiFactory.revision(patchSetId).id(CheckerTestData.INVALID_UUID);
+ BadRequestException thrown =
+ assertThrows(
+ BadRequestException.class,
+ () -> checksApiFactory.revision(patchSetId).id(CheckerTestData.INVALID_UUID));
+ assertThat(thrown)
+ .hasMessageThat()
+ .contains("invalid checker UUID: " + 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 7a9c811..84463c6 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckerIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckerIT.java
@@ -15,6 +15,7 @@
package com.google.gerrit.plugins.checks.acceptance.api;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import com.google.common.collect.ImmutableSortedSet;
import com.google.gerrit.acceptance.testsuite.request.RequestScopeOperations;
@@ -194,9 +195,9 @@
public void getNonExistingCheckerFails() throws Exception {
CheckerUuid checkerUuid = CheckerUuid.parse("test:non-existing");
- exception.expect(ResourceNotFoundException.class);
- exception.expectMessage("Not found: " + checkerUuid);
- getCheckerInfo(checkerUuid);
+ ResourceNotFoundException thrown =
+ assertThrows(ResourceNotFoundException.class, () -> getCheckerInfo(checkerUuid));
+ assertThat(thrown).hasMessageThat().contains("Not found: " + checkerUuid);
}
@Test
@@ -204,9 +205,9 @@
CheckerUuid checkerUuid = checkerOperations.newChecker().create();
checkerOperations.checker(checkerUuid).forInvalidation().nonParseableConfig().invalidate();
- exception.expect(RestApiException.class);
- exception.expectMessage("Cannot retrieve checker " + checkerUuid);
- getCheckerInfo(checkerUuid);
+ RestApiException thrown =
+ assertThrows(RestApiException.class, () -> getCheckerInfo(checkerUuid));
+ assertThat(thrown).hasMessageThat().contains("Cannot retrieve checker " + checkerUuid);
}
@Test
@@ -214,9 +215,9 @@
CheckerUuid checkerUuid = checkerOperations.newChecker().create();
checkerOperations.checker(checkerUuid).forInvalidation().invalidUuid().invalidate();
- exception.expect(RestApiException.class);
- exception.expectMessage("Cannot retrieve checker " + checkerUuid);
- getCheckerInfo(checkerUuid);
+ RestApiException thrown =
+ assertThrows(RestApiException.class, () -> getCheckerInfo(checkerUuid));
+ assertThat(thrown).hasMessageThat().contains("Cannot retrieve checker " + checkerUuid);
}
@Test
@@ -228,9 +229,9 @@
.invalidBlockingCondition()
.invalidate();
- exception.expect(RestApiException.class);
- exception.expectMessage("Cannot retrieve checker " + checkerUuid);
- getCheckerInfo(checkerUuid);
+ RestApiException thrown =
+ assertThrows(RestApiException.class, () -> getCheckerInfo(checkerUuid));
+ assertThat(thrown).hasMessageThat().contains("Cannot retrieve checker " + checkerUuid);
}
@Test
@@ -238,9 +239,9 @@
CheckerUuid checkerUuid = checkerOperations.newChecker().create();
checkerOperations.checker(checkerUuid).forInvalidation().invalidStatus().invalidate();
- exception.expect(RestApiException.class);
- exception.expectMessage("Cannot retrieve checker " + checkerUuid);
- getCheckerInfo(checkerUuid);
+ RestApiException thrown =
+ assertThrows(RestApiException.class, () -> getCheckerInfo(checkerUuid));
+ assertThat(thrown).hasMessageThat().contains("Cannot retrieve checker " + checkerUuid);
}
@Test
@@ -248,9 +249,9 @@
CheckerUuid checkerUuid = checkerOperations.newChecker().create();
checkerOperations.checker(checkerUuid).forInvalidation().unsetUuid().invalidate();
- exception.expect(RestApiException.class);
- exception.expectMessage("Cannot retrieve checker " + checkerUuid);
- getCheckerInfo(checkerUuid);
+ RestApiException thrown =
+ assertThrows(RestApiException.class, () -> getCheckerInfo(checkerUuid));
+ assertThat(thrown).hasMessageThat().contains("Cannot retrieve checker " + checkerUuid);
}
@Test
@@ -258,9 +259,9 @@
CheckerUuid checkerUuid = checkerOperations.newChecker().create();
checkerOperations.checker(checkerUuid).forInvalidation().unsetRepository().invalidate();
- exception.expect(RestApiException.class);
- exception.expectMessage("Cannot retrieve checker " + checkerUuid);
- getCheckerInfo(checkerUuid);
+ RestApiException thrown =
+ assertThrows(RestApiException.class, () -> getCheckerInfo(checkerUuid));
+ assertThat(thrown).hasMessageThat().contains("Cannot retrieve checker " + checkerUuid);
}
@Test
@@ -268,9 +269,9 @@
CheckerUuid checkerUuid = checkerOperations.newChecker().create();
checkerOperations.checker(checkerUuid).forInvalidation().unsetStatus().invalidate();
- exception.expect(RestApiException.class);
- exception.expectMessage("Cannot retrieve checker " + checkerUuid);
- getCheckerInfo(checkerUuid);
+ RestApiException thrown =
+ assertThrows(RestApiException.class, () -> getCheckerInfo(checkerUuid));
+ assertThat(thrown).hasMessageThat().contains("Cannot retrieve checker " + checkerUuid);
}
@Test
@@ -278,9 +279,9 @@
String name = "my-checker";
checkerOperations.newChecker().name(name).create();
- exception.expect(ResourceNotFoundException.class);
- exception.expectMessage("Not found: " + name);
- checkersApi.id(name);
+ ResourceNotFoundException thrown =
+ assertThrows(ResourceNotFoundException.class, () -> checkersApi.id(name));
+ assertThat(thrown).hasMessageThat().contains("Not found: " + name);
}
@Test
@@ -290,9 +291,10 @@
requestScopeOperations.setApiUser(user.id());
- exception.expect(AuthException.class);
- exception.expectMessage("administrateCheckers for plugin checks not permitted");
- getCheckerInfo(checkerUuid);
+ AuthException thrown = assertThrows(AuthException.class, () -> getCheckerInfo(checkerUuid));
+ assertThat(thrown)
+ .hasMessageThat()
+ .contains("administrateCheckers for plugin checks not permitted");
}
@Test
@@ -302,9 +304,8 @@
requestScopeOperations.setApiUserAnonymous();
- exception.expect(AuthException.class);
- exception.expectMessage("Authentication required");
- getCheckerInfo(checkerUuid);
+ AuthException thrown = assertThrows(AuthException.class, () -> getCheckerInfo(checkerUuid));
+ assertThat(thrown).hasMessageThat().contains("Authentication required");
}
@Test
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/api/QueryPendingChecksIT.java b/javatests/com/google/gerrit/plugins/checks/acceptance/api/QueryPendingChecksIT.java
index ca1e1a2..697d183 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/QueryPendingChecksIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/QueryPendingChecksIT.java
@@ -18,7 +18,7 @@
import static com.google.common.truth.Truth.assert_;
import static com.google.gerrit.plugins.checks.testing.PendingChecksInfoSubject.assertThat;
import static com.google.gerrit.server.group.SystemGroupBackend.REGISTERED_USERS;
-import static org.hamcrest.CoreMatchers.instanceOf;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import com.google.common.collect.Iterables;
import com.google.gerrit.acceptance.RestResponse;
@@ -155,7 +155,8 @@
assertThat(
queryPendingChecks(
String.format(
- "checker:\"%s\" AND (NOT state:FAILED AND NOT (state:RUNNING OR state:SUCCESSFUL))",
+ "checker:\"%s\" AND (NOT state:FAILED AND NOT (state:RUNNING OR"
+ + " state:SUCCESSFUL))",
checkerUuid)))
.hasSize(1);
}
@@ -515,10 +516,10 @@
CheckerUuid checkerUuid = checkerOperations.newChecker().repository(project).create();
checkerOperations.checker(checkerUuid).forInvalidation().nonParseableConfig().invalidate();
- exception.expect(RestApiException.class);
- exception.expectMessage("Cannot query pending checks");
- exception.expectCause(instanceOf(ConfigInvalidException.class));
- queryPendingChecks(checkerUuid);
+ RestApiException thrown =
+ assertThrows(RestApiException.class, () -> queryPendingChecks(checkerUuid));
+ assertThat(thrown).hasMessageThat().contains("Cannot query pending checks");
+ assertThat(thrown).hasCauseThat().isInstanceOf(ConfigInvalidException.class);
}
@Test
@@ -530,10 +531,10 @@
.query(CheckerTestData.INVALID_QUERY)
.create();
- exception.expect(RestApiException.class);
- exception.expectMessage("Cannot query pending checks");
- exception.expectCause(instanceOf(ConfigInvalidException.class));
- queryPendingChecks(checkerUuid);
+ RestApiException thrown =
+ assertThrows(RestApiException.class, () -> queryPendingChecks(checkerUuid));
+ assertThat(thrown).hasMessageThat().contains("Cannot query pending checks");
+ assertThat(thrown).hasCauseThat().isInstanceOf(ConfigInvalidException.class);
}
@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 27d673f..6d15caa 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/UpdateCheckIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/UpdateCheckIT.java
@@ -15,6 +15,7 @@
package com.google.gerrit.plugins.checks.acceptance.api;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import com.google.gerrit.acceptance.testsuite.request.RequestScopeOperations;
import com.google.gerrit.extensions.restapi.AuthException;
@@ -76,10 +77,13 @@
CheckInput input = new CheckInput();
input.checkerUuid = "foo:bar";
- exception.expect(BadRequestException.class);
- exception.expectMessage(
- "checker UUID in input must either be null or the same as on the resource");
- checksApiFactory.revision(patchSetId).id(checkKey.checkerUuid()).update(input);
+ BadRequestException thrown =
+ assertThrows(
+ BadRequestException.class,
+ () -> checksApiFactory.revision(patchSetId).id(checkKey.checkerUuid()).update(input));
+ assertThat(thrown)
+ .hasMessageThat()
+ .contains("checker UUID in input must either be null or the same as on the resource");
}
@Test
@@ -135,9 +139,11 @@
CheckInput input = new CheckInput();
input.url = CheckTestData.INVALID_URL;
- exception.expect(BadRequestException.class);
- exception.expectMessage("only http/https URLs supported: " + input.url);
- checksApiFactory.revision(patchSetId).id(checkKey.checkerUuid()).update(input);
+ BadRequestException thrown =
+ assertThrows(
+ BadRequestException.class,
+ () -> checksApiFactory.revision(patchSetId).id(checkKey.checkerUuid()).update(input));
+ assertThat(thrown).hasMessageThat().contains("only http/https URLs supported: " + input.url);
}
@Test
@@ -287,18 +293,30 @@
public void cannotUpdateCheckWithoutAdministrateCheckers() throws Exception {
requestScopeOperations.setApiUser(user.id());
- exception.expect(AuthException.class);
- exception.expectMessage("not permitted");
- checksApiFactory.revision(patchSetId).id(checkKey.checkerUuid()).update(new CheckInput());
+ AuthException thrown =
+ assertThrows(
+ AuthException.class,
+ () ->
+ checksApiFactory
+ .revision(patchSetId)
+ .id(checkKey.checkerUuid())
+ .update(new CheckInput()));
+ assertThat(thrown).hasMessageThat().contains("not permitted");
}
@Test
public void cannotUpdateCheckAnonymously() throws Exception {
requestScopeOperations.setApiUserAnonymous();
- exception.expect(AuthException.class);
- exception.expectMessage("Authentication required");
- checksApiFactory.revision(patchSetId).id(checkKey.checkerUuid()).update(new CheckInput());
+ AuthException thrown =
+ assertThrows(
+ AuthException.class,
+ () ->
+ checksApiFactory
+ .revision(patchSetId)
+ .id(checkKey.checkerUuid())
+ .update(new CheckInput()));
+ assertThat(thrown).hasMessageThat().contains("Authentication required");
}
@Test
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 a5d7d50..8b9be46 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/UpdateCheckerIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/UpdateCheckerIT.java
@@ -18,6 +18,7 @@
import static com.google.common.truth.Truth.assert_;
import static com.google.common.truth.Truth8.assertThat;
import static com.google.gerrit.git.testing.CommitSubject.assertCommit;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import com.google.common.collect.ImmutableSet;
import com.google.gerrit.acceptance.SkipProjectClone;
@@ -114,9 +115,9 @@
CheckerInput input = new CheckerInput();
input.uuid = "some:id";
- exception.expect(BadRequestException.class);
- exception.expectMessage("uuid cannot be updated");
- checkersApi.id(checkerUuid).update(input);
+ BadRequestException thrown =
+ assertThrows(BadRequestException.class, () -> checkersApi.id(checkerUuid).update(input));
+ assertThat(thrown).hasMessageThat().contains("uuid cannot be updated");
}
@Test
@@ -154,9 +155,10 @@
CheckerInput checkerInput = new CheckerInput();
checkerInput.name = "";
- exception.expect(BadRequestException.class);
- exception.expectMessage("name cannot be unset");
- checkersApi.id(checkerUuid).update(checkerInput);
+ BadRequestException thrown =
+ assertThrows(
+ BadRequestException.class, () -> checkersApi.id(checkerUuid).update(checkerInput));
+ assertThat(thrown).hasMessageThat().contains("name cannot be unset");
}
@Test
@@ -166,9 +168,10 @@
CheckerInput checkerInput = new CheckerInput();
checkerInput.name = " ";
- exception.expect(BadRequestException.class);
- exception.expectMessage("name cannot be unset");
- checkersApi.id(checkerUuid).update(checkerInput);
+ BadRequestException thrown =
+ assertThrows(
+ BadRequestException.class, () -> checkersApi.id(checkerUuid).update(checkerInput));
+ assertThat(thrown).hasMessageThat().contains("name cannot be unset");
}
@Test
@@ -338,9 +341,10 @@
CheckerInput checkerInput = new CheckerInput();
checkerInput.repository = "";
- exception.expect(BadRequestException.class);
- exception.expectMessage("repository cannot be unset");
- checkersApi.id(checkerUuid).update(checkerInput);
+ BadRequestException thrown =
+ assertThrows(
+ BadRequestException.class, () -> checkersApi.id(checkerUuid).update(checkerInput));
+ assertThat(thrown).hasMessageThat().contains("repository cannot be unset");
}
@Test
@@ -350,9 +354,10 @@
CheckerInput checkerInput = new CheckerInput();
checkerInput.repository = " ";
- exception.expect(BadRequestException.class);
- exception.expectMessage("repository cannot be unset");
- checkersApi.id(checkerUuid).update(checkerInput);
+ BadRequestException thrown =
+ assertThrows(
+ BadRequestException.class, () -> checkersApi.id(checkerUuid).update(checkerInput));
+ assertThat(thrown).hasMessageThat().contains("repository cannot be unset");
}
@Test
@@ -362,9 +367,11 @@
CheckerInput checkerInput = new CheckerInput();
checkerInput.repository = "non-existing";
- exception.expect(UnprocessableEntityException.class);
- exception.expectMessage("repository non-existing not found");
- checkersApi.id(checkerUuid).update(checkerInput);
+ UnprocessableEntityException thrown =
+ assertThrows(
+ UnprocessableEntityException.class,
+ () -> checkersApi.id(checkerUuid).update(checkerInput));
+ assertThat(thrown).hasMessageThat().contains("repository non-existing not found");
}
@Test
@@ -373,9 +380,11 @@
CheckerInput input = new CheckerInput();
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);
+ BadRequestException thrown =
+ assertThrows(BadRequestException.class, () -> checkersApi.id(checkerUuid).update(input));
+ assertThat(thrown)
+ .hasMessageThat()
+ .contains("only http/https URLs supported: ftp://example.com/my-checker");
}
@Test
@@ -575,9 +584,11 @@
CheckerInput input = new CheckerInput();
input.name = "my-renamed-checker";
- exception.expect(AuthException.class);
- exception.expectMessage("administrateCheckers for plugin checks not permitted");
- checkersApi.id(checkerUuid).update(input);
+ AuthException thrown =
+ assertThrows(AuthException.class, () -> checkersApi.id(checkerUuid).update(input));
+ assertThat(thrown)
+ .hasMessageThat()
+ .contains("administrateCheckers for plugin checks not permitted");
}
@Test
@@ -589,8 +600,8 @@
CheckerInput input = new CheckerInput();
input.name = "my-renamed-checker";
- exception.expect(AuthException.class);
- exception.expectMessage("Authentication required");
- checkersApi.id(checkerUuid).update(input);
+ AuthException thrown =
+ assertThrows(AuthException.class, () -> checkersApi.id(checkerUuid).update(input));
+ assertThat(thrown).hasMessageThat().contains("Authentication required");
}
}
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckOperationsImplTest.java b/javatests/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckOperationsImplTest.java
index d831d3d..4e63bde 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckOperationsImplTest.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckOperationsImplTest.java
@@ -17,10 +17,12 @@
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth8.assertThat;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static java.nio.charset.StandardCharsets.UTF_8;
import static java.util.concurrent.TimeUnit.SECONDS;
import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.MatcherAssert.assertThat;
import com.google.common.collect.ImmutableMap;
import com.google.gerrit.extensions.restapi.RestApiException;
@@ -89,9 +91,10 @@
CheckKey.create(
Project.nameKey("non-existing"), createChange().getPatchSetId(), checkerUuid);
- exception.expect(IllegalStateException.class);
- exception.expectCause(instanceOf(RepositoryNotFoundException.class));
- checkOperations.newCheck(checkKey).upsert();
+ IllegalStateException thrown =
+ assertThrows(
+ IllegalStateException.class, () -> checkOperations.newCheck(checkKey).upsert());
+ assertThat(thrown.getCause(), instanceOf(RepositoryNotFoundException.class));
}
@Test
@@ -99,10 +102,11 @@
CheckerUuid checkerUuid = checkerOperations.newChecker().create();
CheckKey checkKey = CheckKey.create(project, PatchSet.id(Change.id(1), 1), checkerUuid);
- exception.expect(IllegalStateException.class);
- exception.expectCause(instanceOf(IOException.class));
- exception.expectMessage("patchset 1,1 not found");
- checkOperations.newCheck(checkKey).upsert();
+ IllegalStateException thrown =
+ assertThrows(
+ IllegalStateException.class, () -> checkOperations.newCheck(checkKey).upsert());
+ assertThat(thrown.getCause(), instanceOf(IOException.class));
+ assertThat(thrown).hasMessageThat().contains("patchset 1,1 not found");
}
@Test
@@ -110,10 +114,11 @@
CheckKey checkKey =
CheckKey.create(project, createChange().getPatchSetId(), CheckerUuid.parse("foo:bar"));
- exception.expect(IllegalStateException.class);
- exception.expectCause(instanceOf(IOException.class));
- exception.expectMessage("checker foo:bar not found");
- checkOperations.newCheck(checkKey).upsert();
+ IllegalStateException thrown =
+ assertThrows(
+ IllegalStateException.class, () -> checkOperations.newCheck(checkKey).upsert());
+ assertThat(thrown.getCause(), instanceOf(IOException.class));
+ assertThat(thrown).hasMessageThat().contains("checker foo:bar not found");
}
@Test
@@ -228,9 +233,8 @@
CheckerUuid checkerUuid = checkerOperations.newChecker().repository(allProjects).create();
CheckKey notExistingCheckKey =
CheckKey.create(project, createChange().getPatchSetId(), checkerUuid);
-
- exception.expect(IllegalStateException.class);
- checkOperations.check(notExistingCheckKey).get();
+ assertThrows(
+ IllegalStateException.class, () -> checkOperations.check(notExistingCheckKey).get());
}
@Test
@@ -239,8 +243,8 @@
CheckKey notExistingCheckKey =
CheckKey.create(project, createChange().getPatchSetId(), checkerUuid);
- exception.expect(IllegalStateException.class);
- checkOperations.check(notExistingCheckKey).get();
+ assertThrows(
+ IllegalStateException.class, () -> checkOperations.check(notExistingCheckKey).get());
}
@Test
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckerOperationsImplTest.java b/javatests/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckerOperationsImplTest.java
index 65b4fb8..ade6bad 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckerOperationsImplTest.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckerOperationsImplTest.java
@@ -18,6 +18,7 @@
import static com.google.common.truth.Truth.assertWithMessage;
import static com.google.common.truth.Truth.assert_;
import static com.google.common.truth.Truth8.assertThat;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
@@ -218,16 +219,17 @@
@Test
public void retrievingCheckerForInvalidUuidFails() throws Exception {
- exception.expect(IllegalArgumentException.class);
- checkerOperations.checker(CheckerTestData.INVALID_UUID).get();
+ assertThrows(
+ IllegalArgumentException.class,
+ () -> checkerOperations.checker(CheckerTestData.INVALID_UUID).get());
}
@Test
public void retrievingNotExistingCheckerFails() throws Exception {
String notExistingCheckerUuid = "foo:bar";
- exception.expect(IllegalStateException.class);
- checkerOperations.checker(notExistingCheckerUuid).get();
+ assertThrows(
+ IllegalStateException.class, () -> checkerOperations.checker(notExistingCheckerUuid).get());
}
@Test
diff --git a/javatests/com/google/gerrit/plugins/checks/db/CheckerConfigTest.java b/javatests/com/google/gerrit/plugins/checks/db/CheckerConfigTest.java
index 4f7a2b1..d6d9f4d 100644
--- a/javatests/com/google/gerrit/plugins/checks/db/CheckerConfigTest.java
+++ b/javatests/com/google/gerrit/plugins/checks/db/CheckerConfigTest.java
@@ -18,7 +18,7 @@
import static com.google.common.truth.Truth.assertWithMessage;
import static com.google.common.truth.Truth.assert_;
import static com.google.gerrit.plugins.checks.testing.CheckerConfigSubject.assertThat;
-import static org.hamcrest.CoreMatchers.instanceOf;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import com.google.common.collect.ImmutableSortedSet;
import com.google.common.truth.StringSubject;
@@ -209,10 +209,11 @@
CheckerConfig.createForNewChecker(projectName, repository, checkerCreation);
try (MetaDataUpdate metaDataUpdate = createMetaDataUpdate()) {
- exception.expectCause(instanceOf(ConfigInvalidException.class));
- exception.expectMessage(
- String.format("Repository of the checker %s must be defined", checkerUuid));
- checkerConfig.commit(metaDataUpdate);
+ Throwable thrown = assertThrows(Throwable.class, () -> checkerConfig.commit(metaDataUpdate));
+ assertThat(thrown).hasCauseThat().isInstanceOf(ConfigInvalidException.class);
+ assertThat(thrown)
+ .hasMessageThat()
+ .contains(String.format("Repository of the checker %s must be defined", checkerUuid));
}
}
@@ -230,9 +231,11 @@
public void uuidInConfigMayNotBeUndefined() throws Exception {
populateCheckerConfig(checkerUuid, "[checker]");
- exception.expect(ConfigInvalidException.class);
- exception.expectMessage("checker.uuid is not set in config file for checker " + checkerUuid);
- loadChecker(checkerUuid);
+ ConfigInvalidException thrown =
+ assertThrows(ConfigInvalidException.class, () -> loadChecker(checkerUuid));
+ assertThat(thrown)
+ .hasMessageThat()
+ .contains("checker.uuid is not set in config file for checker " + checkerUuid);
}
@Test
@@ -346,10 +349,11 @@
CheckerUpdate checkerUpdate =
CheckerUpdate.builder().setRepository(Project.nameKey("")).build();
- exception.expect(IOException.class);
- exception.expectMessage(
- String.format("Repository of the checker %s must be defined", checkerUuid));
- updateChecker(checkerUuid, checkerUpdate);
+ IOException thrown =
+ assertThrows(IOException.class, () -> updateChecker(checkerUuid, checkerUpdate));
+ assertThat(thrown)
+ .hasMessageThat()
+ .contains(String.format("Repository of the checker %s must be defined", checkerUuid));
}
@Test