Merge branch 'stable-3.1'

* stable-3.1:
  Import from com.google.inject rather than javax.inject
  ProjectCache: Remove declarations of unthrown IOException
  ProjectIT: Remove unused executor
  e2e-tests: Collapse the load-tests directory level
  ChangeSubmitRequirementIT: Show that submit rules are cached on change query
  Update git submodules
  Update git submodules
  Update git submodules
  QueryChangeIT: Rename to QueryChangesIT
  QueryChangeIT: Backport moreChangesIndicatorDoesNotWronglyCopyToUnrelatedChanges
  Backport QueryChangeIT
  JettyServer: Stop using deprecated SslContextFactory constructor

Change-Id: Idf396f762f59eb91c813de985b1bb1b6f11d13c1
This commit is contained in:
David Pursehouse
2020-03-13 15:49:42 +09:00
20 changed files with 56 additions and 11 deletions

View File

@@ -18,11 +18,11 @@ import com.google.common.flogger.FluentLogger;
import com.google.gerrit.entities.Account;
import com.google.gerrit.entities.RefNames;
import com.google.gerrit.server.CurrentUser;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
import java.io.IOException;
import java.util.Map;
import javax.inject.Inject;
import javax.inject.Provider;
import javax.inject.Singleton;
import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.lib.RefDatabase;
import org.eclipse.jgit.lib.SymbolicRef;

View File

@@ -25,11 +25,11 @@ import com.google.gerrit.git.RefUpdateUtil;
import com.google.gerrit.server.FanOutExecutor;
import com.google.gerrit.server.config.AllUsersName;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.inject.Inject;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import javax.inject.Inject;
import org.eclipse.jgit.lib.BatchRefUpdate;
import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.transport.PushCertificate;

View File

@@ -28,9 +28,13 @@ import com.google.gerrit.extensions.common.SubmitRequirementInfo;
import com.google.gerrit.extensions.config.FactoryModule;
import com.google.gerrit.server.query.change.ChangeData;
import com.google.gerrit.server.rules.SubmitRule;
import com.google.inject.Inject;
import com.google.inject.Module;
import com.google.inject.Singleton;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicBoolean;
import org.junit.Test;
public class ChangeSubmitRequirementIT extends AbstractDaemonTest {
@@ -56,22 +60,63 @@ public class ChangeSubmitRequirementIT extends AbstractDaemonTest {
};
}
@Inject CustomSubmitRule rule;
@Test
public void checkSubmitRequirementIsPropagated() throws Exception {
public void submitRequirementIsPropagated() throws Exception {
rule.block(false);
PushOneCommit.Result r = createChange();
ChangeInfo result = gApi.changes().id(r.getChangeId()).get();
assertThat(result.requirements).isEmpty();
rule.block(true);
result = gApi.changes().id(r.getChangeId()).get();
assertThat(result.requirements).containsExactly(reqInfo);
}
@Test
public void submitRequirementIsPropagatedInQuery() throws Exception {
rule.block(false);
PushOneCommit.Result r = createChange();
String query = "status:open project:" + project.get();
List<ChangeInfo> result = gApi.changes().query(query).get();
assertThat(result).hasSize(1);
assertThat(result.get(0).requirements).isEmpty();
// Submit rule behavior is changed, but the query still returns
// the previous result from the index
rule.block(true);
result = gApi.changes().query(query).get();
assertThat(result).hasSize(1);
assertThat(result.get(0).requirements).isEmpty();
// The submit rule result is updated after the change is reindexed
gApi.changes().id(r.getChangeId()).index();
result = gApi.changes().query(query).get();
assertThat(result).hasSize(1);
assertThat(result.get(0).requirements).containsExactly(reqInfo);
}
@Singleton
private static class CustomSubmitRule implements SubmitRule {
private final AtomicBoolean block = new AtomicBoolean(true);
public void block(boolean block) {
this.block.set(block);
}
@Override
public Optional<SubmitRecord> evaluate(ChangeData changeData) {
SubmitRecord record = new SubmitRecord();
record.labels = new ArrayList<>();
record.status = SubmitRecord.Status.NOT_READY;
record.requirements = ImmutableList.of(req);
return Optional.of(record);
if (block.get()) {
SubmitRecord record = new SubmitRecord();
record.labels = new ArrayList<>();
record.status = SubmitRecord.Status.NOT_READY;
record.requirements = ImmutableList.of(req);
return Optional.of(record);
}
return Optional.empty();
}
}
}

View File

@@ -46,7 +46,7 @@ import org.eclipse.jgit.junit.TestRepository;
import org.junit.Test;
@NoHttpd
public class QueryChangeIT extends AbstractDaemonTest {
public class QueryChangesIT extends AbstractDaemonTest {
@Inject private AccountOperations accountOperations;
@Inject private ProjectOperations projectOperations;
@Inject private Provider<QueryChanges> queryChangesProvider;