diff options
author | Dariusz Luksza <dariusz.luksza@gmail.com> | 2023-12-01 16:23:37 +0000 |
---|---|---|
committer | Dariusz Luksza <dariusz.luksza@gmail.com> | 2023-12-02 10:11:48 +0000 |
commit | 74616ececcbab20b6a2bae3322fdd4cc0b17fe7b (patch) | |
tree | 8fc9f21d8bc1ce4b2d8afd135b92d73bf8d9d8b8 | |
parent | 1435bc278a54d123f40ef77961355f6f8d9302d8 (diff) |
Add ProjectHeadUpdatedEvent to EventTypes
In order to successfully deserialize events, we need to explicitly
register a type and class for `ProjectHeadUpdatedEvent` in `EventType`.
Without this a `JsonParseExecption`: _Uknown event type:
project-head-updated_ will be thrown.
Release-Notes: Fix event parse exception when changing repository HEAD
Change-Id: I078f87be730f67fca857f83b98a358ebbc6bccda
-rw-r--r-- | java/com/google/gerrit/server/events/EventTypes.java | 1 | ||||
-rw-r--r-- | javatests/com/google/gerrit/server/events/EventDeserializerTest.java | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/java/com/google/gerrit/server/events/EventTypes.java b/java/com/google/gerrit/server/events/EventTypes.java index 229ef86603..f040220091 100644 --- a/java/com/google/gerrit/server/events/EventTypes.java +++ b/java/com/google/gerrit/server/events/EventTypes.java @@ -34,6 +34,7 @@ public class EventTypes { register(PatchSetCreatedEvent.TYPE, PatchSetCreatedEvent.class); register(PrivateStateChangedEvent.TYPE, PrivateStateChangedEvent.class); register(ProjectCreatedEvent.TYPE, ProjectCreatedEvent.class); + register(ProjectHeadUpdatedEvent.TYPE, ProjectHeadUpdatedEvent.class); register(RefReceivedEvent.TYPE, RefReceivedEvent.class); register(RefUpdatedEvent.TYPE, RefUpdatedEvent.class); register(ReviewerAddedEvent.TYPE, ReviewerAddedEvent.class); diff --git a/javatests/com/google/gerrit/server/events/EventDeserializerTest.java b/javatests/com/google/gerrit/server/events/EventDeserializerTest.java index 00b92b4959..601445d419 100644 --- a/javatests/com/google/gerrit/server/events/EventDeserializerTest.java +++ b/javatests/com/google/gerrit/server/events/EventDeserializerTest.java @@ -243,6 +243,21 @@ public class EventDeserializerTest { } @Test + public void projectHeadUpdatedEvent() { + ProjectHeadUpdatedEvent event = new ProjectHeadUpdatedEvent(); + event.projectName = "test_project"; + event.oldHead = "refs/heads/master"; + event.newHead = "refs/heads/main"; + + ProjectHeadUpdatedEvent actual = roundTrip(event); + + assertThat(actual).isNotNull(); + assertThat(actual.projectName).isEqualTo(event.projectName); + assertThat(actual.oldHead).isEqualTo(event.oldHead); + assertThat(actual.newHead).isEqualTo(event.newHead); + } + + @Test public void shouldSerializeAllProjectsToString() { String allProjectsString = "foobar"; AllProjectsName allProjectsNameKey = new AllProjectsName(allProjectsString); |