diff options
-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); } |