use of com.google.gerrit.extensions.common.ChangeInfo in project gerrit by GerritCodeReview.
the class QueryChangesIT method aliasQuery.
@Test
@SuppressWarnings("unchecked")
@GerritConfig(name = "operator-alias.change.numberaliastest", value = "change")
public void aliasQuery() throws Exception {
String cId1 = createChange().getChangeId();
String cId2 = createChange().getChangeId();
int numericId1 = gApi.changes().id(cId1).get()._number;
int numericId2 = gApi.changes().id(cId2).get()._number;
QueryChanges queryChanges = queryChangesProvider.get();
queryChanges.addQuery("numberaliastest:12345");
queryChanges.addQuery("numberaliastest:" + numericId1);
queryChanges.addQuery("numberaliastest:" + numericId2);
List<List<ChangeInfo>> result = (List<List<ChangeInfo>>) queryChanges.apply(TopLevelResource.INSTANCE).value();
assertThat(result).hasSize(3);
assertThat(result.get(0)).hasSize(0);
assertThat(result.get(1)).hasSize(1);
assertThat(result.get(2)).hasSize(1);
assertThat(result.get(1).get(0)._number).isEqualTo(numericId1);
assertThat(result.get(2).get(0)._number).isEqualTo(numericId2);
}
use of com.google.gerrit.extensions.common.ChangeInfo in project gerrit by GerritCodeReview.
the class QueryChangesIT method skipVisibility_privateChange.
@Test
@SuppressWarnings("unchecked")
public void skipVisibility_privateChange() throws Exception {
TestRepository<InMemoryRepository> userRepo = cloneProject(project, user);
PushOneCommit.Result result = pushFactory.create(user.newIdent(), userRepo).to("refs/for/master");
requestScopeOperations.setApiUser(user.id());
gApi.changes().id(result.getChangeId()).setPrivate(true);
requestScopeOperations.setApiUser(admin.id());
QueryChanges queryChanges = queryChangesProvider.get();
queryChanges.addQuery("is:open repo:" + project.get());
List<List<ChangeInfo>> result2 = (List<List<ChangeInfo>>) queryChanges.apply(TopLevelResource.INSTANCE).value();
assertThat(result2).hasSize(0);
queryChanges = queryChangesProvider.get();
queryChanges.addQuery("is:open repo:" + project.get());
queryChanges.skipVisibility(true);
List<List<ChangeInfo>> result3 = (List<List<ChangeInfo>>) queryChanges.apply(TopLevelResource.INSTANCE).value();
assertThat(result3).hasSize(1);
}
use of com.google.gerrit.extensions.common.ChangeInfo in project gerrit by GerritCodeReview.
the class QueryChangesIT method hasOperandAliasQuery.
@Test
@SuppressWarnings("unchecked")
@GerritConfig(name = "has-operand-alias.change.unaddressedaliastest", value = "unresolved")
public void hasOperandAliasQuery() throws Exception {
String cId1 = createChange().getChangeId();
String cId2 = createChange().getChangeId();
int numericId1 = gApi.changes().id(cId1).get()._number;
int numericId2 = gApi.changes().id(cId2).get()._number;
ReviewInput input = new ReviewInput();
ReviewInput.CommentInput comment = new ReviewInput.CommentInput();
comment.line = 1;
comment.message = "comment";
comment.unresolved = true;
input.comments = ImmutableMap.of(Patch.COMMIT_MSG, ImmutableList.of(comment));
gApi.changes().id(cId2).current().review(input);
QueryChanges queryChanges = queryChangesProvider.get();
queryChanges.addQuery("is:open repo:" + project.get());
queryChanges.addQuery("has:unaddressedaliastest repo:" + project.get());
List<List<ChangeInfo>> result = (List<List<ChangeInfo>>) queryChanges.apply(TopLevelResource.INSTANCE).value();
assertThat(result).hasSize(2);
assertThat(result.get(0)).hasSize(2);
assertThat(result.get(1)).hasSize(1);
List<Integer> firstResultIds = ImmutableList.of(result.get(0).get(0)._number, result.get(0).get(1)._number);
assertThat(firstResultIds).containsExactly(numericId1, numericId2);
assertThat(result.get(1).get(0)._number).isEqualTo(numericId2);
}
use of com.google.gerrit.extensions.common.ChangeInfo in project gerrit by GerritCodeReview.
the class QueryChangesIT method moreChangesIndicatorDoesNotWronglyCopyToUnrelatedChanges.
@Test
@SuppressWarnings("unchecked")
public void moreChangesIndicatorDoesNotWronglyCopyToUnrelatedChanges() throws Exception {
String queryWithMoreChanges = "is:wip limit:1 repo:" + project.get();
String queryWithNoMoreChanges = "is:open limit:10 repo:" + project.get();
createChange().getChangeId();
String cId2 = createChange().getChangeId();
String cId3 = createChange().getChangeId();
gApi.changes().id(cId2).setWorkInProgress();
gApi.changes().id(cId3).setWorkInProgress();
// Run the capped query first
QueryChanges queryChanges = queryChangesProvider.get();
queryChanges.addQuery(queryWithMoreChanges);
queryChanges.addQuery(queryWithNoMoreChanges);
List<List<ChangeInfo>> result = (List<List<ChangeInfo>>) queryChanges.apply(TopLevelResource.INSTANCE).value();
assertThat(result).hasSize(2);
assertThat(result.get(0)).hasSize(1);
assertThat(result.get(1)).hasSize(3);
// _moreChanges is set on the first response, but not on the second.
assertThat(result.get(0).get(0)._moreChanges).isTrue();
assertNoChangeHasMoreChangesSet(result.get(1));
// Run the capped query second
QueryChanges queryChanges2 = queryChangesProvider.get();
queryChanges2.addQuery(queryWithNoMoreChanges);
queryChanges2.addQuery(queryWithMoreChanges);
List<List<ChangeInfo>> result2 = (List<List<ChangeInfo>>) queryChanges2.apply(TopLevelResource.INSTANCE).value();
assertThat(result2).hasSize(2);
assertThat(result2.get(0)).hasSize(3);
assertThat(result2.get(1)).hasSize(1);
// _moreChanges is set on the second response, but not on the first.
assertNoChangeHasMoreChangesSet(result2.get(0));
assertThat(result2.get(1).get(0)._moreChanges).isTrue();
}
use of com.google.gerrit.extensions.common.ChangeInfo in project gerrit by GerritCodeReview.
the class RevertIT method revertSubmissionWithSetMessageChangeIdIgnored.
@Test
public void revertSubmissionWithSetMessageChangeIdIgnored() throws Exception {
String firstResult = createChange("first change", "a.txt", "message").getChangeId();
String secondResult = createChange("second change", "b.txt", "message").getChangeId();
approve(firstResult);
approve(secondResult);
gApi.changes().id(secondResult).current().submit();
RevertInput revertInput = new RevertInput();
String fakeChangeId = "Ideadbeefdeadbeefdeadbeefdeadbeefdeadbeef";
String commitSubject = "Message from input";
String revertMessage = String.format("%s\n\nChange-Id: %s\n", commitSubject, fakeChangeId);
revertInput.message = revertMessage;
List<ChangeInfo> revertChanges = gApi.changes().id(firstResult).revertSubmission(revertInput).revertChanges;
assertThat(revertChanges.get(0).subject).isEqualTo("Revert \"first change\"");
// ChangeId provided in revert input is ignored.
assertThat(revertChanges.get(0).changeId).isNotEqualTo(fakeChangeId);
assertThat(revertChanges.get(1).changeId).isNotEqualTo(fakeChangeId);
// ChangeId footer was replaced in revert commit message.
assertThat(gApi.changes().id(revertChanges.get(0).id).current().commit(false).message).isEqualTo(String.format("Revert \"first change\"\n\n%s\n\nChange-Id: %s\n", commitSubject, revertChanges.get(0).changeId));
assertThat(revertChanges.get(1).subject).isEqualTo("Revert \"second change\"");
assertThat(gApi.changes().id(revertChanges.get(1).id).current().commit(false).message).isEqualTo(String.format("Revert \"second change\"\n\n%s\n\nChange-Id: %s\n", commitSubject, revertChanges.get(1).changeId));
}
Aggregations