private void invalidateChecker()

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();
        }
      }
    }