in java/com/google/gerrit/plugins/checks/acceptance/testsuite/CheckerOperationsImpl.java [255:307]
private void invalidateChecker(TestCheckerInvalidation testCheckerInvalidation)
throws Exception {
Optional<Checker> checker = getChecker(checkerUuid);
checkState(checker.isPresent(), "Tried to invalidate a non-existing test checker");
if (testCheckerInvalidation.invalidUuid()) {
setValueInCheckerConfig("uuid", "invalid");
}
if (testCheckerInvalidation.invalidBlockingCondition()) {
addValueInCheckerConfig("blocking", "invalid");
}
if (testCheckerInvalidation.invalidStatus()) {
setValueInCheckerConfig("status", "invalid");
}
if (testCheckerInvalidation.unsetUuid()) {
unsetValueInCheckerConfig("uuid");
}
if (testCheckerInvalidation.unsetName()) {
unsetValueInCheckerConfig("name");
}
if (testCheckerInvalidation.unsetRepository()) {
unsetValueInCheckerConfig("repository");
}
if (testCheckerInvalidation.unsetStatus()) {
unsetValueInCheckerConfig("status");
}
if (testCheckerInvalidation.nonParseableConfig()) {
try (Repository repo = repoManager.openRepository(allProjectsName);
TestRepository<Repository> testRepo = new TestRepository<>(repo)) {
testRepo
.branch(checkerUuid.toRefName())
.commit()
.add(CheckerConfig.CHECKER_CONFIG_FILE, "non-parseable-config")
.create();
}
}
if (testCheckerInvalidation.deleteRef()) {
try (Repository repo = repoManager.openRepository(allProjectsName);
TestRepository<Repository> testRepo = new TestRepository<>(repo)) {
RefUpdate ru = testRepo.getRepository().updateRef(checkerUuid.toRefName(), true);
ru.setForceUpdate(true);
ru.delete();
}
}
}