Merge "Add further tests for disabled branch configuration"
diff --git a/javatests/com/google/gerrit/plugins/codeowners/backend/config/CodeOwnersPluginConfigSnapshotTest.java b/javatests/com/google/gerrit/plugins/codeowners/backend/config/CodeOwnersPluginConfigSnapshotTest.java
index 6da19e4..d1a4adb 100644
--- a/javatests/com/google/gerrit/plugins/codeowners/backend/config/CodeOwnersPluginConfigSnapshotTest.java
+++ b/javatests/com/google/gerrit/plugins/codeowners/backend/config/CodeOwnersPluginConfigSnapshotTest.java
@@ -631,7 +631,18 @@
   @Test
   public void inheritedDisabledBranchCanBeOverridden() throws Exception {
     configureDisabledBranch(allProjects, "refs/heads/master");
-    enableCodeOwnersForAllBranches(project);
+    configureDisabledBranch(project, "refs/heads/test");
+    assertThat(cfgSnapshot().isDisabled("master")).isFalse();
+    assertThat(cfgSnapshot().isDisabled("test")).isTrue();
+  }
+
+  @Test
+  public void inheritedDisabledBranchCanBeRemoved() throws Exception {
+    configureDisabledBranch(allProjects, "refs/heads/master");
+
+    // override the inherited config with an empty value to enable code owners for all branches
+    configureDisabledBranch(project, "");
+
     assertThat(cfgSnapshot().isDisabled("master")).isFalse();
   }
 
@@ -1561,10 +1572,6 @@
         project, /* subsection= */ null, StatusConfig.KEY_DISABLED_BRANCH, disabledBranch);
   }
 
-  private void enableCodeOwnersForAllBranches(Project.NameKey project) throws Exception {
-    setCodeOwnersConfig(project, /* subsection= */ null, StatusConfig.KEY_DISABLED_BRANCH, "");
-  }
-
   private void configureBackend(Project.NameKey project, String backendName) throws Exception {
     configureBackend(project, /* branch= */ null, backendName);
   }
diff --git a/javatests/com/google/gerrit/plugins/codeowners/backend/config/StatusConfigTest.java b/javatests/com/google/gerrit/plugins/codeowners/backend/config/StatusConfigTest.java
index 2d892e4..4e82aeb 100644
--- a/javatests/com/google/gerrit/plugins/codeowners/backend/config/StatusConfigTest.java
+++ b/javatests/com/google/gerrit/plugins/codeowners/backend/config/StatusConfigTest.java
@@ -238,6 +238,19 @@
       disabledBranchConfigurationInPluginConfigOverridesDisabledBranchConfigurationInGerritConfig()
           throws Exception {
     Config cfg = new Config();
+    cfg.setString(SECTION_CODE_OWNERS, null, KEY_DISABLED_BRANCH, "refs/heads/test");
+    assertThat(statusConfig.isDisabledForBranch(cfg, BranchNameKey.create(project, "master")))
+        .isFalse();
+    assertThat(statusConfig.isDisabledForBranch(cfg, BranchNameKey.create(project, "test")))
+        .isTrue();
+  }
+
+  @Test
+  @GerritConfig(name = "plugin.code-owners.disabledBranch", value = "refs/heads/master")
+  public void
+      disabledBranchConfigurationInPluginConfigCanRemoveDisabledBranchConfigurationInGerritConfig()
+          throws Exception {
+    Config cfg = new Config();
     cfg.setString(SECTION_CODE_OWNERS, null, KEY_DISABLED_BRANCH, "");
     assertThat(statusConfig.isDisabledForBranch(cfg, BranchNameKey.create(project, "master")))
         .isFalse();