Skip to content

Commit d81afa1

Browse files
committed
Port plugin tests to Gerrit v3.1.4 API
Change-Id: Iff45dc5585e91725669348294f44e702a2a27d18 Reviewed-by: Jukka Jokiniva <[email protected]> Reviewed-by: Paul Wicking <[email protected]>
1 parent ab66f12 commit d81afa1

16 files changed

+137
-99
lines changed

src/main/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandAdminChangeStatus.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,16 @@ protected void run() throws UnloggedFailure {
7474
Change.Status from = toStatus(fromStr);
7575
if (from == null) throw die("invalid from status");
7676

77-
Change.Id id = Change.Id.parse(changeId);
77+
Change.Id id;
78+
try {
79+
id = Change.Id.parse(changeId);
80+
} catch (IllegalArgumentException e) {
81+
if (e.getMessage().contains("invalid change ID")) {
82+
throw new NumberFormatException();
83+
} else {
84+
throw e;
85+
}
86+
}
7887
if (id.get() == 0) throw die("invalid change-id");
7988

8089
InternalChangeQuery query = queryProvider.get();

src/test/java/com/googlesource/gerrit/plugins/qtcodereview/QtAbandonIT.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99
import com.google.gerrit.acceptance.RestResponse;
1010
import com.google.gerrit.acceptance.TestPlugin;
1111
import com.google.gerrit.acceptance.UseSsh;
12+
import com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate;
1213
import com.google.gerrit.common.data.Permission;
1314
import com.google.gerrit.extensions.api.changes.AbandonInput;
14-
import com.google.gerrit.reviewdb.client.Change;
15+
import com.google.gerrit.entities.Change;
1516
import org.apache.http.HttpStatus;
1617
import org.junit.Before;
1718
import org.junit.Test;
@@ -25,7 +26,7 @@ public class QtAbandonIT extends QtCodeReviewIT {
2526

2627
@Before
2728
public void SetDefaultPermissions() throws Exception {
28-
grant(project, "refs/heads/master", Permission.ABANDON, false, REGISTERED_USERS);
29+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.ABANDON).ref("refs/heads/master").group(REGISTERED_USERS)).update();
2930
}
3031

3132
@Test
@@ -59,10 +60,10 @@ public void errorQtAbandon_No_Permission() throws Exception {
5960

6061
QtDefer(c);
6162

62-
deny(project, "refs/heads/master", Permission.ABANDON, REGISTERED_USERS);
63+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.deny(Permission.ABANDON).ref("refs/heads/master").group(REGISTERED_USERS)).update();
6364
RestResponse response = qtAbandonExpectFail(c, HttpStatus.SC_FORBIDDEN);
6465
assertThat(response.getEntityContent()).isEqualTo("abandon not permitted");
65-
grant(project, "refs/heads/master", Permission.ABANDON, false, REGISTERED_USERS);
66+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.ABANDON).ref("refs/heads/master").group(REGISTERED_USERS)).update();
6667
}
6768

6869
@Test

src/test/java/com/googlesource/gerrit/plugins/qtcodereview/QtCodeReviewIT.java

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package com.googlesource.gerrit.plugins.qtcodereview;
44

55
import static com.google.common.truth.Truth.assertThat;
6+
import static com.google.common.truth.Truth.assertWithMessage;
67
import static com.google.gerrit.extensions.client.ListChangesOption.CURRENT_COMMIT;
78
import static com.google.gerrit.extensions.client.ListChangesOption.CURRENT_REVISION;
89
import static com.google.gerrit.extensions.client.ListChangesOption.DETAILED_LABELS;
@@ -13,14 +14,16 @@
1314
import com.google.gerrit.acceptance.RestResponse;
1415
import com.google.gerrit.acceptance.TestAccount;
1516
import com.google.gerrit.acceptance.TestPlugin;
17+
import com.google.gerrit.acceptance.testsuite.project.ProjectOperations;
1618
import com.google.gerrit.common.FooterConstants;
1719
import com.google.gerrit.extensions.api.changes.CherryPickInput;
1820
import com.google.gerrit.extensions.client.ChangeStatus;
1921
import com.google.gerrit.extensions.common.ApprovalInfo;
2022
import com.google.gerrit.extensions.common.ChangeInfo;
2123
import com.google.gerrit.extensions.common.LabelInfo;
22-
import com.google.gerrit.reviewdb.client.Change;
23-
import com.google.gerrit.reviewdb.client.Project;
24+
import com.google.gerrit.entities.Change;
25+
import com.google.gerrit.entities.Project;
26+
import com.google.inject.Inject;
2427
import java.util.List;
2528
import org.apache.log4j.ConsoleAppender;
2629
import org.apache.log4j.Level;
@@ -40,6 +43,7 @@
4043
sysModule = "com.googlesource.gerrit.plugins.qtcodereview.QtModule",
4144
sshModule = "com.googlesource.gerrit.plugins.qtcodereview.QtSshModule")
4245
public class QtCodeReviewIT extends LightweightPluginDaemonTest {
46+
@Inject public ProjectOperations projectOperations;
4347

4448
protected static final String R_HEADS = "refs/heads/";
4549
protected static final String R_STAGING = "refs/staging/";
@@ -91,7 +95,7 @@ protected void QtStage(PushOneCommit.Result c) throws Exception {
9195
response.assertOK();
9296
Change change = c.getChange().change();
9397
assertStatusStaged(change);
94-
String branch = getBranchNameFromRef(change.getDest().get());
98+
String branch = getBranchNameFromRef(change.getDest().branch());
9599
RevCommit stagingHead = getRemoteHead(project, R_STAGING + branch);
96100
assertReviewedByFooter(stagingHead, true);
97101
resetEvents();
@@ -225,7 +229,7 @@ private void assertStatus(Change change, ChangeStatus status, boolean approved,
225229
.id(change.getChangeId())
226230
.get(DETAILED_LABELS, CURRENT_REVISION, CURRENT_COMMIT);
227231
Integer vote = getLabelValue(cf, "Code-Review", admin);
228-
assertThat(vote).named("label = Code-Review").isEqualTo(2);
232+
assertWithMessage("label = Code-Review").that(vote).isEqualTo(2);
229233
} else {
230234
cf = gApi.changes().id(change.getChangeId()).get(CURRENT_REVISION, CURRENT_COMMIT);
231235
}
@@ -280,7 +284,7 @@ protected void assertApproval(String changeId, TestAccount user) throws Exceptio
280284
Integer vote = 0;
281285

282286
vote = getLabelValue(c, label, user);
283-
assertThat(vote).named("label = " + label).isEqualTo(expectedVote);
287+
assertWithMessage("label = " + label).that(vote).isEqualTo(expectedVote);
284288
}
285289

286290
protected void assertReviewedByFooter(RevCommit commit, boolean exists) {
@@ -324,7 +328,7 @@ protected RevCommit getRemoteRefHead(Project.NameKey project, String branch) thr
324328
}
325329

326330
protected String getCurrentPatchSHA(PushOneCommit.Result c) throws Exception {
327-
return c.getChange().currentPatchSet().getRevision().get();
331+
return c.getChange().currentPatchSet().commitId().name();
328332
}
329333

330334
protected List<RevCommit> getRemoteLog(String ref) throws Exception {
@@ -336,6 +340,15 @@ protected List<RevCommit> getRemoteLog(String ref) throws Exception {
336340
}
337341

338342
protected String getCurrentPatchId(PushOneCommit.Result c) throws Exception {
339-
return String.valueOf(c.getChange().currentPatchSet().getPatchSetId());
343+
return String.valueOf(c.getChange().currentPatchSet().number());
344+
}
345+
346+
// Restored from commit edb599b65eb412ed5f4c59372fa06135b0d8864c which inlined the methods.
347+
protected RevCommit getRemoteHead(Project.NameKey project, String branch) throws Exception {
348+
return projectOperations.project(project).getHead(branch);
349+
}
350+
351+
protected RevCommit getRemoteHead() throws Exception {
352+
return getRemoteHead(project, "master");
340353
}
341354
}

src/test/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandAdminChangeStatusIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import com.google.gerrit.acceptance.PushOneCommit;
88
import com.google.gerrit.acceptance.TestPlugin;
99
import com.google.gerrit.acceptance.UseSsh;
10-
import com.google.gerrit.reviewdb.client.Change;
10+
import com.google.gerrit.entities.Change;
1111
import org.junit.Test;
1212

1313
@TestPlugin(

src/test/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandBuildApproveIT.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@
1010
import com.google.gerrit.acceptance.PushOneCommit;
1111
import com.google.gerrit.acceptance.TestPlugin;
1212
import com.google.gerrit.acceptance.UseSsh;
13+
import com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate;
1314
import com.google.gerrit.common.data.Permission;
1415
import com.google.gerrit.extensions.api.changes.Changes;
1516
import com.google.gerrit.extensions.client.ChangeStatus;
1617
import com.google.gerrit.extensions.common.ChangeInfo;
17-
import com.google.gerrit.reviewdb.client.Branch;
18-
import com.google.gerrit.reviewdb.client.Change;
19-
import com.google.gerrit.reviewdb.client.ChangeMessage;
18+
import com.google.gerrit.entities.BranchNameKey;
19+
import com.google.gerrit.entities.Change;
20+
import com.google.gerrit.entities.ChangeMessage;
2021
import java.io.StringBufferInputStream;
2122
import java.util.ArrayList;
2223
import org.eclipse.jgit.revwalk.RevCommit;
@@ -35,12 +36,12 @@ public class QtCommandBuildApproveIT extends QtCodeReviewIT {
3536

3637
@Before
3738
public void SetDefaultPermissions() throws Exception {
38-
createBranch(new Branch.NameKey(project, "feature"));
39+
createBranch(BranchNameKey.create(project, "feature"));
3940

40-
grant(project, "refs/heads/master", Permission.QT_STAGE, false, REGISTERED_USERS);
41-
grant(project, "refs/heads/feature", Permission.QT_STAGE, false, REGISTERED_USERS);
42-
grant(project, "refs/staging/*", Permission.PUSH, false, adminGroupUuid());
43-
grant(project, "refs/builds/*", Permission.CREATE, false, adminGroupUuid());
41+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.QT_STAGE).ref("refs/heads/master").group(REGISTERED_USERS)).update();
42+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.QT_STAGE).ref("refs/heads/feature").group(REGISTERED_USERS)).update();
43+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.PUSH).ref("refs/staging/*").group(adminGroupUuid())).update();
44+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.CREATE).ref("refs/builds/*").group(adminGroupUuid())).update();
4445
}
4546

4647
@Test

src/test/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandListStagingIT.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.google.gerrit.acceptance.PushOneCommit;
99
import com.google.gerrit.acceptance.TestPlugin;
1010
import com.google.gerrit.acceptance.UseSsh;
11+
import com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate;
1112
import com.google.gerrit.common.data.Permission;
1213
import org.eclipse.jgit.revwalk.RevCommit;
1314
import org.junit.Before;
@@ -22,9 +23,9 @@ public class QtCommandListStagingIT extends QtCodeReviewIT {
2223

2324
@Before
2425
public void SetDefaultPermissions() throws Exception {
25-
grant(project, "refs/heads/master", Permission.QT_STAGE, false, REGISTERED_USERS);
26-
grant(project, "refs/staging/*", Permission.PUSH, false, adminGroupUuid());
27-
grant(project, "refs/builds/*", Permission.CREATE, false, adminGroupUuid());
26+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.QT_STAGE).ref("refs/heads/master").group(REGISTERED_USERS)).update();
27+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.PUSH).ref("refs/staging/*").group(adminGroupUuid())).update();
28+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.CREATE).ref("refs/builds/*").group(adminGroupUuid())).update();
2829
}
2930

3031
@Test

src/test/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandNewBuildIT.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88
import com.google.gerrit.acceptance.PushOneCommit;
99
import com.google.gerrit.acceptance.TestPlugin;
1010
import com.google.gerrit.acceptance.UseSsh;
11+
import com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate;
1112
import com.google.gerrit.common.data.Permission;
12-
import com.google.gerrit.reviewdb.client.ChangeMessage;
13+
import com.google.gerrit.entities.ChangeMessage;
1314
import java.util.ArrayList;
1415
import org.eclipse.jgit.revwalk.RevCommit;
1516
import org.junit.Before;
@@ -26,9 +27,9 @@ public class QtCommandNewBuildIT extends QtCodeReviewIT {
2627

2728
@Before
2829
public void SetDefaultPermissions() throws Exception {
29-
grant(project, "refs/heads/master", Permission.QT_STAGE, false, REGISTERED_USERS);
30-
grant(project, "refs/staging/*", Permission.PUSH, false, adminGroupUuid());
31-
grant(project, "refs/builds/*", Permission.CREATE, false, adminGroupUuid());
30+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.QT_STAGE).ref("refs/heads/master").group(REGISTERED_USERS)).update();
31+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.PUSH).ref("refs/staging/*").group(adminGroupUuid())).update();
32+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.CREATE).ref("refs/builds/*").group(adminGroupUuid())).update();
3233
}
3334

3435
@Test

src/test/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandRebuildStagingIT.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.google.gerrit.acceptance.PushOneCommit;
99
import com.google.gerrit.acceptance.TestPlugin;
1010
import com.google.gerrit.acceptance.UseSsh;
11+
import com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate;
1112
import com.google.gerrit.common.data.Permission;
1213
import org.eclipse.jgit.revwalk.RevCommit;
1314
import org.junit.Before;
@@ -22,9 +23,9 @@ public class QtCommandRebuildStagingIT extends QtCodeReviewIT {
2223

2324
@Before
2425
public void SetDefaultPermissions() throws Exception {
25-
grant(project, "refs/heads/master", Permission.QT_STAGE, false, REGISTERED_USERS);
26-
grant(project, "refs/staging/*", Permission.PUSH, false, adminGroupUuid());
27-
grant(project, "refs/builds/*", Permission.CREATE, false, adminGroupUuid());
26+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.QT_STAGE).ref("refs/heads/master").group(REGISTERED_USERS)).update();
27+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.PUSH).ref("refs/staging/*").group(adminGroupUuid())).update();
28+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.CREATE).ref("refs/builds/*").group(adminGroupUuid())).update();
2829
}
2930

3031
@Test
@@ -74,7 +75,7 @@ public void errorRebuildStaging_NoPermission() throws Exception {
7475
approve(c.getChangeId());
7576
QtStage(c);
7677

77-
deny(project, "refs/heads/master", Permission.SUBMIT, REGISTERED_USERS);
78+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.deny(Permission.SUBMIT).ref("refs/heads/master").group(REGISTERED_USERS)).update();
7879

7980
String commandStr;
8081
commandStr = "gerrit-plugin-qt-workflow staging-rebuild";
@@ -83,7 +84,7 @@ public void errorRebuildStaging_NoPermission() throws Exception {
8384
String resultStr = userSshSession.exec(commandStr);
8485
assertThat(userSshSession.getError()).contains("not authorized");
8586

86-
grant(project, "refs/heads/master", Permission.SUBMIT, false, REGISTERED_USERS);
87+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.SUBMIT).ref("refs/heads/master").group(REGISTERED_USERS)).update();
8788
}
8889

8990
@Test

src/test/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandStageIT.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88
import com.google.gerrit.acceptance.PushOneCommit;
99
import com.google.gerrit.acceptance.TestPlugin;
1010
import com.google.gerrit.acceptance.UseSsh;
11+
import com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate;
1112
import com.google.gerrit.common.data.Permission;
12-
import com.google.gerrit.reviewdb.client.Change;
13+
import com.google.gerrit.entities.Change;
1314
import org.eclipse.jgit.revwalk.RevCommit;
1415
import org.junit.Before;
1516
import org.junit.Test;
@@ -23,7 +24,7 @@ public class QtCommandStageIT extends QtCodeReviewIT {
2324

2425
@Before
2526
public void SetDefaultPermissions() throws Exception {
26-
grant(project, "refs/heads/master", Permission.QT_STAGE, false, REGISTERED_USERS);
27+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.QT_STAGE).ref("refs/heads/master").group(REGISTERED_USERS)).update();
2728
}
2829

2930
@Test
@@ -49,15 +50,15 @@ public void multi_Change_Stage() throws Exception {
4950

5051
String changes;
5152
changes =
52-
String.valueOf(c1.getPatchSetId().getParentKey().get()) + "," + c1.getPatchSetId().getId();
53+
String.valueOf(c1.getPatchSetId().changeId().get()) + "," + c1.getPatchSetId().getId();
5354
changes +=
5455
" "
55-
+ String.valueOf(c2.getPatchSetId().getParentKey().get())
56+
+ String.valueOf(c2.getPatchSetId().changeId().get())
5657
+ ","
5758
+ c2.getPatchSetId().getId();
5859
changes +=
5960
" "
60-
+ String.valueOf(c3.getPatchSetId().getParentKey().get())
61+
+ String.valueOf(c3.getPatchSetId().changeId().get())
6162
+ ","
6263
+ c3.getPatchSetId().getId();
6364
String result = qtSshStageCommon(c1, changes, false);
@@ -88,7 +89,7 @@ public void error_ChangeNotFound() throws Exception {
8889
public void error_PatchNotFound() throws Exception {
8990
PushOneCommit.Result c = pushCommit("master", "commitmsg1", "file1", "content1");
9091
approve(c.getChangeId());
91-
String changes = String.valueOf(c.getPatchSetId().getParentKey().get()) + ",9999";
92+
String changes = String.valueOf(c.getPatchSetId().changeId().get()) + ",9999";
9293
String result = qtSshStageCommon(c, changes, true);
9394
assertThat(result).contains("no such patch set");
9495
}
@@ -99,7 +100,7 @@ public void error_PatchNotCurrent() throws Exception {
99100
PushOneCommit.Result c2 = amendCommit(c1.getChangeId());
100101
approve(c2.getChangeId());
101102

102-
String changes = String.valueOf(c2.getPatchSetId().getParentKey().get()) + ",1";
103+
String changes = String.valueOf(c2.getPatchSetId().changeId().get()) + ",1";
103104
String result = qtSshStageCommon(c2, changes, true);
104105
assertThat(result).contains("is not current");
105106
}
@@ -109,23 +110,23 @@ public void error_Wrong_Status() throws Exception {
109110
PushOneCommit.Result c = pushCommit("master", "commitmsg1", "file1", "content1");
110111
approve(c.getChangeId());
111112

112-
grant(project, "refs/heads/master", Permission.ABANDON, false, REGISTERED_USERS);
113+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.ABANDON).ref("refs/heads/master").group(REGISTERED_USERS)).update();
113114
QtDefer(c);
114-
deny(project, "refs/heads/master", Permission.ABANDON, REGISTERED_USERS);
115+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.deny(Permission.ABANDON).ref("refs/heads/master").group(REGISTERED_USERS)).update();
115116

116117
String result = qtSshStageExpectFail(c);
117118
assertThat(result).contains("Change is DEFERRED");
118119
}
119120

120121
@Test
121122
public void error_NoPermission() throws Exception {
122-
deny(project, "refs/heads/master", Permission.QT_STAGE, REGISTERED_USERS);
123+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.deny(Permission.QT_STAGE).ref("refs/heads/master").group(REGISTERED_USERS)).update();
123124
PushOneCommit.Result c = pushCommit("master", "commitmsg1", "file1", "content1");
124125
approve(c.getChangeId());
125126

126127
String result = qtSshStageExpectFail(c);
127128
assertThat(result).contains("not permitted");
128-
grant(project, "refs/heads/master", Permission.QT_STAGE, false, REGISTERED_USERS);
129+
projectOperations.project(project).forUpdate().add(TestProjectUpdate.allow(Permission.QT_STAGE).ref("refs/heads/master").group(REGISTERED_USERS)).update();
129130
}
130131

131132
@Test
@@ -146,7 +147,7 @@ private String qtSshStageExpectFail(PushOneCommit.Result c) throws Exception {
146147

147148
private String qtSshStageCommon(PushOneCommit.Result c, Boolean expectFail) throws Exception {
148149
String changes;
149-
changes = String.valueOf(c.getPatchSetId().getParentKey().get()) + ",";
150+
changes = String.valueOf(c.getPatchSetId().changeId().get()) + ",";
150151
changes += c.getPatchSetId().getId();
151152

152153
return qtSshStageCommon(c, changes, expectFail);

0 commit comments

Comments
 (0)