AbstractQueryChangesTest#reviewerin: Expand to cover CC

Test the behavior of the reviewerin: query when a user is added to a
change as CC.

On NoteDb, reviewer and CC are separate so the query result should not
include users that were added as CC. However under ReviewDb there is
no distinction between reviewer and CC so the results should include
users that were added as CC.

Change-Id: I9f1d53d9ae6aef1e2c10da586951fb7d76978151
This commit is contained in:
David Pursehouse
2018-04-25 21:06:19 +09:00
parent ec12294301
commit 5dd0174832

View File

@@ -1715,11 +1715,12 @@ public abstract class AbstractQueryChangesTest extends GerritServerTests {
public void reviewerin() throws Exception { public void reviewerin() throws Exception {
Account.Id user1 = accountManager.authenticate(AuthRequest.forUser("user1")).getAccountId(); Account.Id user1 = accountManager.authenticate(AuthRequest.forUser("user1")).getAccountId();
Account.Id user2 = accountManager.authenticate(AuthRequest.forUser("user2")).getAccountId(); Account.Id user2 = accountManager.authenticate(AuthRequest.forUser("user2")).getAccountId();
Account.Id user3 = accountManager.authenticate(AuthRequest.forUser("user3")).getAccountId();
TestRepository<Repo> repo = createProject("repo"); TestRepository<Repo> repo = createProject("repo");
Change change1 = insert(repo, newChange(repo)); Change change1 = insert(repo, newChange(repo));
Change change2 = insert(repo, newChange(repo)); Change change2 = insert(repo, newChange(repo));
insert(repo, newChange(repo)); Change change3 = insert(repo, newChange(repo));
AddReviewerInput rin = new AddReviewerInput(); AddReviewerInput rin = new AddReviewerInput();
rin.reviewer = user1.toString(); rin.reviewer = user1.toString();
@@ -1731,8 +1732,13 @@ public abstract class AbstractQueryChangesTest extends GerritServerTests {
rin.state = ReviewerState.REVIEWER; rin.state = ReviewerState.REVIEWER;
gApi.changes().id(change2.getId().get()).addReviewer(rin); gApi.changes().id(change2.getId().get()).addReviewer(rin);
rin = new AddReviewerInput();
rin.reviewer = user3.toString();
rin.state = ReviewerState.CC;
gApi.changes().id(change3.getId().get()).addReviewer(rin);
String group = gApi.groups().create("foo").get().name; String group = gApi.groups().create("foo").get().name;
gApi.groups().id(group).addMembers(user2.toString()); gApi.groups().id(group).addMembers(user2.toString(), user3.toString());
List<String> members = List<String> members =
gApi.groups() gApi.groups()
@@ -1743,15 +1749,30 @@ public abstract class AbstractQueryChangesTest extends GerritServerTests {
.collect(toList()); .collect(toList());
assertThat(members).contains(user2.toString()); assertThat(members).contains(user2.toString());
assertQuery("reviewerin:\"Registered Users\"", change2, change1); if (notesMigration.readChanges()) {
assertQuery("reviewerin:" + group, change2); // CC and REVIEWER are separate in NoteDB
assertQuery("reviewerin:\"Registered Users\"", change2, change1);
assertQuery("reviewerin:" + group, change2);
} else {
// CC and REVIEWER are the same in ReviewDb
assertQuery("reviewerin:\"Registered Users\"", change3, change2, change1);
assertQuery("reviewerin:" + group, change3, change2);
}
gApi.changes().id(change2.getId().get()).current().review(ReviewInput.approve()); gApi.changes().id(change2.getId().get()).current().review(ReviewInput.approve());
gApi.changes().id(change2.getId().get()).current().submit(); gApi.changes().id(change2.getId().get()).current().submit();
assertQuery("reviewerin:" + group); if (notesMigration.readChanges()) {
assertQuery("project:repo reviewerin:" + group, change2); // CC and REVIEWER are separate in NoteDB
assertQuery("status:merged reviewerin:" + group, change2); assertQuery("reviewerin:" + group);
assertQuery("project:repo reviewerin:" + group, change2);
assertQuery("status:merged reviewerin:" + group, change2);
} else {
// CC and REVIEWER are the same in ReviewDb
assertQuery("reviewerin:" + group, change3);
assertQuery("project:repo reviewerin:" + group, change2, change3);
assertQuery("status:merged reviewerin:" + group, change2);
}
} }
@Test @Test