diff --git a/__tests__/utils.test.ts b/__tests__/utils.test.ts
index 9463849f..9c764ffe 100644
--- a/__tests__/utils.test.ts
+++ b/__tests__/utils.test.ts
@@ -1,8 +1,12 @@
+import * as cache from '@actions/cache';
 import {
   validateVersion,
-  validatePythonVersionFormatForPyPy
+  validatePythonVersionFormatForPyPy,
+  isCacheFeatureAvailable
 } from '../src/utils';
 
+jest.mock('@actions/cache');
+
 describe('validatePythonVersionFormatForPyPy', () => {
   it.each([
     ['3.6', true],
@@ -32,3 +36,40 @@ describe('validateVersion', () => {
     expect(validateVersion(input)).toEqual(expected);
   });
 });
+
+describe('isCacheFeatureAvailable', () => {
+  it('isCacheFeatureAvailable disabled on GHES', () => {
+    jest.spyOn(cache, 'isFeatureAvailable').mockImplementation(() => false);
+    try {
+      process.env['GITHUB_SERVER_URL'] = 'http://example.com';
+      isCacheFeatureAvailable();
+    } catch (error) {
+      expect(error).toHaveProperty(
+        'message',
+        'Caching is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'
+      );
+    } finally {
+      delete process.env['GITHUB_SERVER_URL'];
+    }
+  });
+
+  it('isCacheFeatureAvailable disabled on dotcom', () => {
+    jest.spyOn(cache, 'isFeatureAvailable').mockImplementation(() => false);
+    try {
+      process.env['GITHUB_SERVER_URL'] = 'http://github.com';
+      isCacheFeatureAvailable();
+    } catch (error) {
+      expect(error).toHaveProperty(
+        'message',
+        'An internal error has occurred in cache backend. Please check https://www.githubstatus.com/ for any ongoing issue in actions.'
+      );
+    } finally {
+      delete process.env['GITHUB_SERVER_URL'];
+    }
+  });
+
+  it('isCacheFeatureAvailable is enabled', () => {
+    jest.spyOn(cache, 'isFeatureAvailable').mockImplementation(() => true);
+    expect(isCacheFeatureAvailable()).toBe(true);
+  });
+});