Do not fetched owned_paths if codeOwners is disabled.

Google-Bug-Id: b/249101768
Release-Notes: skip
Change-Id: I13a4997a0bdcd5d65d8777703ce188f881e82e2e
diff --git a/web/code-owners-api.ts b/web/code-owners-api.ts
index 117fe13..109de1a 100644
--- a/web/code-owners-api.ts
+++ b/web/code-owners-api.ts
@@ -72,6 +72,7 @@
   required_approval?: Array<RequiredApprovalInfo>;
   override_approval?: Array<RequiredApprovalInfo>;
 }
+
 export interface RequiredApprovalInfo {
   label: string;
   value: number;
diff --git a/web/code-owners-service.ts b/web/code-owners-service.ts
index 599c49b..17b16ba 100644
--- a/web/code-owners-service.ts
+++ b/web/code-owners-service.ts
@@ -229,6 +229,10 @@
    * Gets which files are owned by the given user.
    */
   async getOwnedPaths() {
+    const enabled = await this.isCodeOwnerEnabled();
+    if (!enabled) {
+      return Promise.resolve(undefined);
+    }
     return this.codeOwnersCacheApi.listOwnedPaths();
   }
 
@@ -360,7 +364,7 @@
     ) {
       return false;
     }
-    const config = await this.codeOwnersCacheApi.getBranchConfig();
+    const config = await this.getBranchConfig();
     return config && !config.disabled;
   }
 
diff --git a/web/code-owners-service_test.ts b/web/code-owners-service_test.ts
index b1648a3..e9abbb1 100644
--- a/web/code-owners-service_test.ts
+++ b/web/code-owners-service_test.ts
@@ -29,7 +29,10 @@
       return Promise.resolve({});
     },
     getLoggedIn() {
-      return Promise.resolve(undefined);
+      return Promise.resolve(true);
+    },
+    getAccount() {
+      return Promise.resolve({email: 'someone@google.com'});
     },
   } as unknown as RestPluginApi;
 
@@ -165,6 +168,45 @@
     });
   });
 
+  suite('getOwnedPaths', () => {
+    async function setupBranchConfig(disabled: boolean | undefined) {
+      getApiStub
+        .withArgs(
+          sinon.match.any,
+          `/projects/${fakeChange.project}/branches/` +
+            `${fakeChange.branch}/code_owners.branch_config`,
+          sinon.match.any,
+          sinon.match.any
+        )
+        .returns(Promise.resolve({disabled}));
+      codeOwnersService = CodeOwnerService.getOwnerService(fakeRestApi, {
+        ...fakeChange,
+      });
+      await flush();
+      getApiStub.resetHistory();
+    }
+    test('should not fetch if disabled', async () => {
+      await setupBranchConfig(true);
+
+      await codeOwnersService.getOwnedPaths();
+      assert.equal(getApiStub.callCount, 0);
+    });
+
+    test('should fetch if enabled', async () => {
+      await setupBranchConfig(false);
+
+      await codeOwnersService.getOwnedPaths();
+      assert.equal(getApiStub.callCount, 1);
+    });
+
+    test('should fetch if enabled by default', async () => {
+      await setupBranchConfig(undefined);
+
+      await codeOwnersService.getOwnedPaths();
+      assert.equal(getApiStub.callCount, 1);
+    });
+  });
+
   suite('all approved case', () => {
     setup(async () => {
       getApiStub