Convert Function/Predicate in acceptance tests to streams/lambdas
This saves a lot of boilerplate as we heavily use Truth to do
assertThat(someReadableIterable).containsExactly(expectedReadble)
in order to get nice exception messages. Constructing these iterables
frequently requires transforming some input to get a readable type
like a String for messages.
These still pretty much all use Iterables#transform rather than
collecting to a list, as it's definitely shorter. (If Truth had a
StreamSubject we might use that, but thus far it doesn't.)
Change-Id: Ice4f07f1e88bddcd12e904b15546bfd970f0c071
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java
index ec77484..01009aa 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java
@@ -31,7 +31,6 @@
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.junit.Assert.fail;
-import com.google.common.base.Function;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
@@ -753,13 +752,7 @@
Map<String, GpgKeyInfo> keyMap = gApi.accounts().self().listGpgKeys();
assertThat(keyMap.keySet())
.named("keys returned by listGpgKeys()")
- .containsExactlyElementsIn(
- expected.transform(new Function<TestKey, String>() {
- @Override
- public String apply(TestKey in) {
- return in.getKeyIdString();
- }
- }));
+ .containsExactlyElementsIn(expected.transform(TestKey::getKeyIdString));
for (TestKey key : expected) {
assertKeyEquals(key, gApi.accounts().self().gpgKey(
@@ -771,23 +764,13 @@
// Check raw external IDs.
Account.Id currAccountId = atrScope.get().getUser().getAccountId();
- assertThat(
- GpgKeys.getGpgExtIds(db, currAccountId)
- .transform(new Function<AccountExternalId, String>() {
- @Override
- public String apply(AccountExternalId in) {
- return in.getSchemeRest();
- }
- }))
+ Iterable<String> expectedFps = expected.transform(
+ k -> BaseEncoding.base16().encode(k.getPublicKey().getFingerprint()));
+ Iterable<String> actualFps = GpgKeys.getGpgExtIds(db, currAccountId)
+ .transform(AccountExternalId::getSchemeRest);
+ assertThat(actualFps)
.named("external IDs in database")
- .containsExactlyElementsIn(
- expected.transform(new Function<TestKey, String>() {
- @Override
- public String apply(TestKey in) {
- return BaseEncoding.base16().encode(
- in.getPublicKey().getFingerprint());
- }
- }));
+ .containsExactlyElementsIn(expectedFps);
// Check raw stored keys.
for (TestKey key : expected) {
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/change/ChangeIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/change/ChangeIT.java
index 520c7db..312a93c 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/change/ChangeIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/change/ChangeIT.java
@@ -30,7 +30,6 @@
import static java.util.concurrent.TimeUnit.SECONDS;
import static org.junit.Assert.fail;
-import com.google.common.base.Function;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
@@ -1940,12 +1939,7 @@
private static Iterable<Account.Id> getReviewers(
Collection<AccountInfo> r) {
- return Iterables.transform(r, new Function<AccountInfo, Account.Id>() {
- @Override
- public Account.Id apply(AccountInfo account) {
- return new Account.Id(account._accountId);
- }
- });
+ return Iterables.transform(r, a -> new Account.Id(a._accountId));
}
private ChangeResource parseResource(PushOneCommit.Result r)
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java
index 3f8c1bc..78c0cda 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java
@@ -18,14 +18,12 @@
import static com.google.gerrit.acceptance.api.group.GroupAssert.assertGroupInfo;
import static com.google.gerrit.acceptance.rest.account.AccountAssert.assertAccountInfos;
-import com.google.common.base.Function;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.Iterables;
import com.google.common.collect.Ordering;
import com.google.gerrit.acceptance.AbstractDaemonTest;
import com.google.gerrit.acceptance.NoHttpd;
import com.google.gerrit.acceptance.TestAccount;
-import com.google.gerrit.common.Nullable;
import com.google.gerrit.extensions.api.groups.GroupApi;
import com.google.gerrit.extensions.api.groups.GroupInput;
import com.google.gerrit.extensions.common.AccountInfo;
@@ -401,12 +399,8 @@
public void testListAllGroups() throws Exception {
List<String> expectedGroups = FluentIterable
.from(groupCache.all())
- .transform(new Function<AccountGroup, String>() {
- @Override
- public String apply(AccountGroup group) {
- return group.getName();
- }
- }).toSortedList(Ordering.natural());
+ .transform(AccountGroup::getName)
+ .toSortedList(Ordering.natural());
assertThat(expectedGroups.size()).isAtLeast(2);
assertThat(gApi.groups().list().getAsMap().keySet())
.containsExactlyElementsIn(expectedGroups).inOrder();
@@ -518,14 +512,7 @@
private void assertMembers(Iterable<AccountInfo> members,
String... expectedNames) {
- Iterable<String> memberNames = Iterables.transform(members,
- new Function<AccountInfo, String>() {
- @Override
- public String apply(@Nullable AccountInfo info) {
- return info.name;
- }
- });
- assertThat(memberNames)
+ assertThat(Iterables.transform(members, i -> i.name))
.containsExactlyElementsIn(Arrays.asList(expectedNames)).inOrder();
}
@@ -540,15 +527,7 @@
private static void assertIncludes(
Iterable<GroupInfo> includes, String... expectedNames) {
- Iterable<String> includeNames = Iterables.transform(
- includes,
- new Function<GroupInfo, String>() {
- @Override
- public String apply(@Nullable GroupInfo info) {
- return info.name;
- }
- });
- assertThat(includeNames)
+ assertThat(Iterables.transform(includes, i -> i.name))
.containsExactlyElementsIn(Arrays.asList(expectedNames)).inOrder();
}
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/revision/RevisionIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/revision/RevisionIT.java
index de0c3c1..545be3e 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/revision/RevisionIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/revision/RevisionIT.java
@@ -27,7 +27,6 @@
import static org.junit.Assert.fail;
import com.google.common.base.Joiner;
-import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.gerrit.acceptance.AbstractDaemonTest;
import com.google.gerrit.acceptance.PushOneCommit;
@@ -522,12 +521,10 @@
.revision(r.getCommit().name())
.files();
assertThat(files).hasSize(2);
- assertThat(Iterables.all(files.keySet(), new Predicate<String>() {
- @Override
- public boolean apply(String file) {
- return file.matches(FILE_NAME + '|' + COMMIT_MSG);
- }
- })).isTrue();
+ assertThat(
+ Iterables.all(
+ files.keySet(), f -> f.matches(FILE_NAME + '|' + COMMIT_MSG)))
+ .isTrue();
}
@Test
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/AccountAssert.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/AccountAssert.java
index 91ee332..787902e 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/AccountAssert.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/AccountAssert.java
@@ -16,7 +16,6 @@
import static com.google.common.truth.Truth.assertThat;
-import com.google.common.base.Function;
import com.google.common.collect.Iterables;
import com.google.gerrit.acceptance.TestAccount;
import com.google.gerrit.extensions.common.AccountInfo;
@@ -36,13 +35,7 @@
List<AccountInfo> actual) {
Iterable<Account.Id> expectedIds = TestAccount.ids(expected);
Iterable<Account.Id> actualIds = Iterables.transform(
- actual,
- new Function<AccountInfo, Account.Id>() {
- @Override
- public Account.Id apply(AccountInfo in) {
- return new Account.Id(in._accountId);
- }
- });
+ actual, a -> new Account.Id(a._accountId));
assertThat(actualIds).containsExactlyElementsIn(expectedIds).inOrder();
for (int i = 0; i < expected.size(); i++) {
AccountAssert.assertAccountInfo(expected.get(i), actual.get(i));
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/CapabilitiesIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/CapabilitiesIT.java
index ce82270..116a3ac 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/CapabilitiesIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/CapabilitiesIT.java
@@ -26,7 +26,6 @@
import static com.google.gerrit.common.data.GlobalCapability.RUN_AS;
import static com.google.gerrit.server.group.SystemGroupBackend.REGISTERED_USERS;
-import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.gerrit.acceptance.AbstractDaemonTest;
import com.google.gerrit.acceptance.RestResponse;
@@ -40,13 +39,9 @@
@Test
public void testCapabilitiesUser() throws Exception {
- Iterable<String> all = Iterables.filter(GlobalCapability.getAllNames(),
- new Predicate<String>() {
- @Override
- public boolean apply(String in) {
- return !ADMINISTRATE_SERVER.equals(in) && !PRIORITY.equals(in);
- }
- });
+ Iterable<String> all = Iterables.filter(
+ GlobalCapability.getAllNames(),
+ c -> !ADMINISTRATE_SERVER.equals(c) && !PRIORITY.equals(c));
allowGlobalCapabilities(REGISTERED_USERS, all);
try {
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
index a8e33ba..d73447e 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
@@ -25,7 +25,6 @@
import static java.util.concurrent.TimeUnit.SECONDS;
import static org.junit.Assert.fail;
-import com.google.common.base.Function;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.gerrit.acceptance.AbstractDaemonTest;
@@ -40,7 +39,6 @@
import com.google.gerrit.extensions.client.ListChangesOption;
import com.google.gerrit.extensions.client.SubmitType;
import com.google.gerrit.extensions.common.ChangeInfo;
-import com.google.gerrit.extensions.common.ChangeMessageInfo;
import com.google.gerrit.extensions.common.LabelInfo;
import com.google.gerrit.extensions.restapi.AuthException;
import com.google.gerrit.extensions.restapi.BinaryResult;
@@ -403,13 +401,8 @@
private void assertSubmitter(PushOneCommit.Result change) throws Exception {
ChangeInfo info = get(change.getChangeId(), ListChangesOption.MESSAGES);
assertThat(info.messages).isNotNull();
- Iterable<String> messages = Iterables.transform(info.messages,
- new Function<ChangeMessageInfo, String>() {
- @Override
- public String apply(ChangeMessageInfo in) {
- return in.message;
- }
- });
+ Iterable<String> messages =
+ Iterables.transform(info.messages, i -> i.message);
assertThat(messages).hasSize(3);
String last = Iterables.getLast(messages);
if (getSubmitType() == SubmitType.CHERRY_PICK) {
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/SuggestReviewersIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/SuggestReviewersIT.java
index e4f56f8..0f251f5 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/SuggestReviewersIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/SuggestReviewersIT.java
@@ -16,8 +16,6 @@
import static com.google.common.truth.Truth.assertThat;
-import com.google.common.base.Function;
-import com.google.common.collect.FluentIterable;
import com.google.common.collect.Iterables;
import com.google.gerrit.acceptance.AbstractDaemonTest;
import com.google.gerrit.acceptance.GerritConfig;
@@ -287,13 +285,9 @@
private TestAccount user(String name, String fullName, String emailName,
AccountGroup... groups) throws Exception {
- String[] groupNames = FluentIterable.from(Arrays.asList(groups))
- .transform(new Function<AccountGroup, String>() {
- @Override
- public String apply(AccountGroup in) {
- return in.getName();
- }
- }).toArray(String.class);
+ String[] groupNames = Arrays.stream(groups)
+ .map(AccountGroup::getName)
+ .toArray(String[]::new);
return accounts.create(name(name), name(emailName) + "@example.com",
fullName, groupNames);
}
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/BranchAssert.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/BranchAssert.java
index c860bf0..522836d 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/BranchAssert.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/BranchAssert.java
@@ -16,7 +16,6 @@
import static com.google.common.truth.Truth.assertThat;
-import com.google.common.base.Function;
import com.google.common.collect.Iterables;
import com.google.gerrit.extensions.api.projects.BranchInfo;
@@ -48,12 +47,7 @@
}
private static Iterable<String> refs(Iterable<BranchInfo> infos) {
- return Iterables.transform(infos, new Function<BranchInfo, String>() {
- @Override
- public String apply(BranchInfo in) {
- return in.ref;
- }
- });
+ return Iterables.transform(infos, b -> b.ref);
}
private static boolean toBoolean(Boolean b) {
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ListProjectsIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ListProjectsIT.java
index e86bb29..496e7fd 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ListProjectsIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ListProjectsIT.java
@@ -19,7 +19,6 @@
import static com.google.gerrit.server.group.SystemGroupBackend.REGISTERED_USERS;
import static org.junit.Assert.fail;
-import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.gerrit.acceptance.AbstractDaemonTest;
import com.google.gerrit.acceptance.NoHttpd;
@@ -208,15 +207,14 @@
}
private Iterable<ProjectInfo> filter(Iterable<ProjectInfo> infos) {
- final String prefix = name("");
- return Iterables.filter(infos, new Predicate<ProjectInfo>() {
- @Override
- public boolean apply(ProjectInfo in) {
- return in.name != null && (
- in.name.equals(allProjects.get())
- || in.name.equals(allUsers.get())
- || in.name.startsWith(prefix));
- }
- });
+ String prefix = name("");
+ return Iterables.filter(
+ infos,
+ p -> {
+ return p.name != null && (
+ p.name.equals(allProjects.get())
+ || p.name.equals(allUsers.get())
+ || p.name.startsWith(prefix));
+ });
}
}
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ProjectAssert.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ProjectAssert.java
index db6df95..e081ce5 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ProjectAssert.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ProjectAssert.java
@@ -17,7 +17,6 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertWithMessage;
-import com.google.common.base.Function;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
@@ -45,13 +44,8 @@
.that(Url.decode(info.id))
.isEqualTo(info.name);
}
- return assertThat(Iterables.transform(actual,
- new Function<ProjectInfo, Project.NameKey>() {
- @Override
- public Project.NameKey apply(ProjectInfo in) {
- return new Project.NameKey(in.name);
- }
- }));
+ return assertThat(
+ Iterables.transform(actual, p -> new Project.NameKey(p.name)));
}
public static void assertProjectInfo(Project project, ProjectInfo info) {
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/change/CommentsIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/change/CommentsIT.java
index 5b6f3f9..77cb11b 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/change/CommentsIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/change/CommentsIT.java
@@ -54,6 +54,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.function.Supplier;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -722,29 +723,21 @@
return c;
}
- private static Function<CommentInfo, CommentInput> infoToInput(
- final String path) {
- return new Function<CommentInfo, CommentInput>() {
- @Override
- public CommentInput apply(CommentInfo info) {
- CommentInput ci = new CommentInput();
- ci.path = path;
- copy(info, ci);
- return ci;
- }
- };
+ private static Function<CommentInfo, CommentInput> infoToInput(String path) {
+ return infoToInput(path, CommentInput::new);
}
- private static Function<CommentInfo, DraftInput> infoToDraft(
- final String path) {
- return new Function<CommentInfo, DraftInput>() {
- @Override
- public DraftInput apply(CommentInfo info) {
- DraftInput di = new DraftInput();
- di.path = path;
- copy(info, di);
- return di;
- }
+ private static Function<CommentInfo, DraftInput> infoToDraft(String path) {
+ return infoToInput(path, DraftInput::new);
+ }
+
+ private static <I extends Comment> Function<CommentInfo, I> infoToInput(
+ String path, Supplier<I> supplier) {
+ return info -> {
+ I i = supplier.get();
+ i.path = path;
+ copy(info, i);
+ return i;
};
}
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/notedb/ChangeRebuilderIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/notedb/ChangeRebuilderIT.java
index 8606ce7..ced0141 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/notedb/ChangeRebuilderIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/notedb/ChangeRebuilderIT.java
@@ -22,7 +22,6 @@
import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
import static org.junit.Assert.fail;
-import com.google.common.base.Function;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
@@ -448,12 +447,7 @@
assertThat(
Iterables.transform(
notes.getChangeMessages(),
- new Function<ChangeMessage, String>() {
- @Override
- public String apply(ChangeMessage in) {
- return in.getMessage();
- }
- }))
+ ChangeMessage::getMessage))
.contains(msg);
}