diff options
author | Antonio Barone <syntonyze@gmail.com> | 2021-09-20 15:44:06 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-09-20 15:44:06 +0000 |
commit | dcca89f552684d2c4f684d35b9e19869328ba276 (patch) | |
tree | 448b2423e4c260c7521faf47e863bb5e891cd4fd | |
parent | b907da88d5a74a14e89ebb5751b8c3aaf97acf45 (diff) | |
parent | 8c14edcaef8e4817358d8f97e3924e0d013669ba (diff) |
Merge "Fix serialization of AllUsersName and AllProjectsName" into stable-3.2
-rw-r--r-- | java/com/google/gerrit/server/events/EventGsonProvider.java | 2 | ||||
-rw-r--r-- | javatests/com/google/gerrit/server/events/EventDeserializerTest.java | 27 |
2 files changed, 28 insertions, 1 deletions
diff --git a/java/com/google/gerrit/server/events/EventGsonProvider.java b/java/com/google/gerrit/server/events/EventGsonProvider.java index 688507bfe3..ab51518e01 100644 --- a/java/com/google/gerrit/server/events/EventGsonProvider.java +++ b/java/com/google/gerrit/server/events/EventGsonProvider.java @@ -30,7 +30,7 @@ public class EventGsonProvider implements Provider<Gson> { .registerTypeAdapter(Supplier.class, new SupplierSerializer()) .registerTypeAdapter(Supplier.class, new SupplierDeserializer()) .registerTypeAdapter(Change.Key.class, new ChangeKeyAdapter()) - .registerTypeAdapter(Project.NameKey.class, new ProjectNameKeyAdapter()) + .registerTypeHierarchyAdapter(Project.NameKey.class, new ProjectNameKeyAdapter()) .create(); } } diff --git a/javatests/com/google/gerrit/server/events/EventDeserializerTest.java b/javatests/com/google/gerrit/server/events/EventDeserializerTest.java index e0223e4885..97f6e4e64a 100644 --- a/javatests/com/google/gerrit/server/events/EventDeserializerTest.java +++ b/javatests/com/google/gerrit/server/events/EventDeserializerTest.java @@ -22,6 +22,8 @@ import com.google.gerrit.entities.Account; import com.google.gerrit.entities.BranchNameKey; import com.google.gerrit.entities.Change; import com.google.gerrit.entities.Project; +import com.google.gerrit.server.config.AllProjectsName; +import com.google.gerrit.server.config.AllUsersName; import com.google.gerrit.server.data.AccountAttribute; import com.google.gerrit.server.data.ChangeAttribute; import com.google.gerrit.server.data.RefUpdateAttribute; @@ -240,6 +242,31 @@ public class EventDeserializerTest { assertSameChangeEvent(e, orig); } + @Test + public void shouldSerializeAllProjectsToString() { + String allProjectsString = "foobar"; + AllProjectsName allProjectsNameKey = new AllProjectsName(allProjectsString); + + assertThat(gson.toJson(allProjectsNameKey)) + .isEqualTo(String.format("\"%s\"", allProjectsString)); + } + + @Test + public void shouldSerializeAllUsersToString() { + String allUsersString = "foobar"; + AllUsersName allUsersNameKey = new AllUsersName(allUsersString); + + assertThat(gson.toJson(allUsersNameKey)).isEqualTo(String.format("\"%s\"", allUsersString)); + } + + @Test + public void shouldSerializeProjectNameKeyToString() { + String projectString = "foobar"; + Project.NameKey projectNameKey = Project.nameKey(projectString); + + assertThat(gson.toJson(projectNameKey)).isEqualTo(String.format("\"%s\"", projectString)); + } + private <T> Supplier<T> createSupplier(T value) { return Suppliers.memoize(() -> value); } |