summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDariusz Luksza <dariusz.luksza@gmail.com>2023-12-01 16:23:37 +0000
committerDariusz Luksza <dariusz.luksza@gmail.com>2023-12-02 10:11:48 +0000
commit74616ececcbab20b6a2bae3322fdd4cc0b17fe7b (patch)
tree8fc9f21d8bc1ce4b2d8afd135b92d73bf8d9d8b8
parent1435bc278a54d123f40ef77961355f6f8d9302d8 (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.java1
-rw-r--r--javatests/com/google/gerrit/server/events/EventDeserializerTest.java15
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);