diff --git a/packages/cache/__tests__/saveCache.test.ts b/packages/cache/__tests__/saveCache.test.ts index eed8f23f..8bae833e 100644 --- a/packages/cache/__tests__/saveCache.test.ts +++ b/packages/cache/__tests__/saveCache.test.ts @@ -6,7 +6,10 @@ import * as cacheUtils from '../src/internal/cacheUtils' import {CacheFilename, CompressionMethod} from '../src/internal/constants' import * as tar from '../src/internal/tar' import {ITypedResponse} from '@actions/http-client/interfaces' -import {ReserveCacheResponse, ITypedResponseWithErrorMessage} from '../src/internal/contracts' +import { + ReserveCacheResponse, + ITypedResponseWithErrorMessage +} from '../src/internal/contracts' jest.mock('../src/internal/cacheHttpClient') jest.mock('../src/internal/cacheUtils') @@ -56,12 +59,17 @@ test('save with large cache outputs should fail', async () => { const getCompressionMock = jest .spyOn(cacheUtils, 'getCompressionMethod') .mockReturnValueOnce(Promise.resolve(compression)) - + const reserveCacheMock = jest .spyOn(cacheHttpClient, 'reserveCache') .mockImplementation(async () => { - let response: ITypedResponseWithErrorMessage = {statusCode:400, result: null, headers:{}, typeKey:"InvalidReserveCacheRequestException"} - return response + const response: ITypedResponseWithErrorMessage = { + statusCode: 400, + result: null, + headers: {}, + typeKey: 'InvalidReserveCacheRequestException' + } + return response }) await expect(saveCache([filePath], primaryKey)).rejects.toThrowError( @@ -86,8 +94,12 @@ test('save with reserve cache failure should fail', async () => { const reserveCacheMock = jest .spyOn(cacheHttpClient, 'reserveCache') .mockImplementation(async () => { - let response: ITypedResponseWithErrorMessage = {statusCode:500, result: null, headers:{}} - return response + const response: ITypedResponseWithErrorMessage = { + statusCode: 500, + result: null, + headers: {} + } + return response }) const createTarMock = jest.spyOn(tar, 'createTar') @@ -118,8 +130,12 @@ test('save with server error should fail', async () => { const reserveCacheMock = jest .spyOn(cacheHttpClient, 'reserveCache') .mockImplementation(async () => { - let response: ITypedResponse = {statusCode:500, result: {cacheId}, headers:{}} - return response + const response: ITypedResponse = { + statusCode: 500, + result: {cacheId}, + headers: {} + } + return response }) const createTarMock = jest.spyOn(tar, 'createTar') @@ -166,8 +182,12 @@ test('save with valid inputs uploads a cache', async () => { const reserveCacheMock = jest .spyOn(cacheHttpClient, 'reserveCache') .mockImplementation(async () => { - let response: ITypedResponse = {statusCode:500, result: {cacheId}, headers:{}} - return response + const response: ITypedResponse = { + statusCode: 500, + result: {cacheId}, + headers: {} + } + return response }) const createTarMock = jest.spyOn(tar, 'createTar') diff --git a/packages/cache/src/cache.ts b/packages/cache/src/cache.ts index d5b39709..aea2c560 100644 --- a/packages/cache/src/cache.ts +++ b/packages/cache/src/cache.ts @@ -177,21 +177,30 @@ export async function saveCache( const cacheSize = archiveFileSize core.debug('Reserving Cache') - let reserveCacheResponse = await cacheHttpClient.reserveCache(key, paths, { - compressionMethod, - cacheSize - }) + const reserveCacheResponse = await cacheHttpClient.reserveCache( + key, + paths, + { + compressionMethod, + cacheSize + } + ) - if(reserveCacheResponse?.statusCode === 400 && reserveCacheResponse?.typeKey === "InvalidReserveCacheRequestException"){ + if ( + reserveCacheResponse?.statusCode === 400 && + reserveCacheResponse?.typeKey === 'InvalidReserveCacheRequestException' + ) { throw new ReserveCacheError( reserveCacheResponse?.message ?? - `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.` + `Cache size of ~${Math.round( + archiveFileSize / (1024 * 1024) + )} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.` ) } - if(reserveCacheResponse?.result?.cacheId){ + if (reserveCacheResponse?.result?.cacheId) { cacheId = reserveCacheResponse?.result?.cacheId - }else{ + } else { throw new ReserveCacheError( `Unable to reserve cache with key ${key}, another job may be creating this cache.` ) diff --git a/packages/cache/src/internal/contracts.d.ts b/packages/cache/src/internal/contracts.d.ts index d60fd447..dd4c1b99 100644 --- a/packages/cache/src/internal/contracts.d.ts +++ b/packages/cache/src/internal/contracts.d.ts @@ -1,7 +1,5 @@ import {CompressionMethod} from './constants' -import { - ITypedResponse -} from '@actions/http-client/interfaces' +import {ITypedResponse} from '@actions/http-client/interfaces' export interface ITypedResponseWithErrorMessage extends ITypedResponse { message?: string diff --git a/packages/cache/src/internal/requestUtils.ts b/packages/cache/src/internal/requestUtils.ts index 41244a3a..71babd4a 100644 --- a/packages/cache/src/internal/requestUtils.ts +++ b/packages/cache/src/internal/requestUtils.ts @@ -1,8 +1,7 @@ import * as core from '@actions/core' import {HttpCodes, HttpClientError} from '@actions/http-client' import { - IHttpClientResponse, - ITypedResponse + IHttpClientResponse } from '@actions/http-client/interfaces' import {DefaultRetryDelay, DefaultRetryAttempts} from './constants' import {ITypedResponseWithErrorMessage} from './contracts' @@ -113,8 +112,8 @@ export async function retryTypedResponse( statusCode: error.statusCode, result: null, headers: {}, - message:error.message, - typeKey:error.result.typeKey + message: error.message, + typeKey: error.result.typeKey } } else { return undefined