Skip to content

Commit 8a0b2d1

Browse files
committed
add unit test for gerrit patchset create
1 parent 385bbf0 commit 8a0b2d1

File tree

3 files changed

+55
-10
lines changed

3 files changed

+55
-10
lines changed

core/src/main/java/com/flowci/core/githook/converter/GerritConverter.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ private static class Event {
7676

7777
private static class PatchSetCreateEvent implements GitTriggerable {
7878

79-
public PathSet pathSet;
79+
public PatchSet patchSet;
8080

8181
public Change change;
8282

@@ -94,20 +94,20 @@ public GitTrigger toTrigger() {
9494
t.setChangeNumber(change.number);
9595
t.setChangeUrl(change.url);
9696

97-
t.setPatchNumber(pathSet.number);
98-
t.setPatchUrl(change.url + "/" + pathSet.number);
99-
t.setRevision(pathSet.revision);
100-
t.setRef(pathSet.ref);
101-
t.setCreatedOn(pathSet.createdOn);
102-
t.setAuthor(pathSet.author.toGitUser());
103-
t.setSizeInsertions(pathSet.sizeInsertions);
104-
t.setSizeDeletions(pathSet.sizeDeletions);
97+
t.setPatchNumber(patchSet.number);
98+
t.setPatchUrl(change.url + "/" + patchSet.number);
99+
t.setRevision(patchSet.revision);
100+
t.setRef(patchSet.ref);
101+
t.setCreatedOn(patchSet.createdOn);
102+
t.setAuthor(patchSet.author.toGitUser());
103+
t.setSizeInsertions(patchSet.sizeInsertions);
104+
t.setSizeDeletions(patchSet.sizeDeletions);
105105

106106
return t;
107107
}
108108
}
109109

110-
private static class PathSet {
110+
private static class PatchSet {
111111

112112
public Integer number;
113113

core/src/main/java/com/flowci/core/githook/converter/TriggerConverter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public Optional<GitTrigger> convert(String event, InputStream body) {
4646
GitTrigger trigger = mapping.get(event).apply(body);
4747
return Optional.ofNullable(trigger);
4848
} catch (Exception e) {
49+
log.warn(e.getMessage());
4950
return Optional.empty();
5051
}
5152
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package com.flowci.core.test.githook;
2+
3+
import com.flowci.core.githook.converter.GerritConverter;
4+
import com.flowci.core.githook.domain.GitPatchSetTrigger;
5+
import com.flowci.core.githook.domain.GitTrigger;
6+
import com.flowci.core.test.SpringScenario;
7+
import org.junit.Assert;
8+
import org.junit.Test;
9+
import org.springframework.beans.factory.annotation.Autowired;
10+
11+
import java.io.InputStream;
12+
import java.util.Optional;
13+
14+
public class GerritConverterTest extends SpringScenario {
15+
16+
@Autowired
17+
private GerritConverter gerritConverter;
18+
19+
@Test
20+
public void should_parse_patchset_create_event() {
21+
InputStream stream = load("gerrit/patchset_created.json");
22+
23+
Optional<GitTrigger> optional = gerritConverter.convert(GerritConverter.AllEvent, stream);
24+
Assert.assertTrue(optional.isPresent());
25+
Assert.assertTrue(optional.get() instanceof GitPatchSetTrigger);
26+
27+
GitPatchSetTrigger t = (GitPatchSetTrigger) optional.get();
28+
Assert.assertEquals("task 1 try", t.getSubject());
29+
Assert.assertEquals("task 1 try\n\nChange-Id: I508fde11a59c36f9ab8b086d13d41b5d9c597db6\n", t.getMessage());
30+
Assert.assertEquals("gerrit_test", t.getProject());
31+
Assert.assertEquals("master", t.getBranch());
32+
Assert.assertEquals("I508fde11a59c36f9ab8b086d13d41b5d9c597db6", t.getChangeId());
33+
Assert.assertEquals(1, t.getChangeNumber().intValue());
34+
Assert.assertEquals("http://192.168.31.173:8088/c/gerrit_test/+/1", t.getChangeUrl());
35+
36+
Assert.assertEquals(2, t.getPatchNumber().intValue());
37+
Assert.assertEquals("http://192.168.31.173:8088/c/gerrit_test/+/1/2", t.getPatchUrl());
38+
Assert.assertEquals("34ebc1c63ef2173b3704663c32bcd14471b68a9b", t.getRevision());
39+
Assert.assertEquals("refs/changes/01/1/2", t.getRef());
40+
Assert.assertEquals("1642965660", t.getCreatedOn());
41+
Assert.assertEquals(3, t.getSizeInsertions().intValue());
42+
Assert.assertEquals(0, t.getSizeDeletions().intValue());
43+
}
44+
}

0 commit comments

Comments
 (0)