Skip to content

Commit 15c2532

Browse files
committed
Add unit tests
1 parent c1712a6 commit 15c2532

File tree

4 files changed

+71
-5
lines changed

4 files changed

+71
-5
lines changed

__tests__/authutil.test.ts

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import * as path from 'path';
44
import * as core from '@actions/core';
55
import * as io from '@actions/io';
66
import * as auth from '../src/authutil';
7+
import * as cacheUtils from '../src/cache-utils';
8+
import {getCacheDirectoryPath} from '../src/cache-utils';
79

810
let rcFile: string;
911

@@ -209,4 +211,66 @@ describe('authutil tests', () => {
209211
`@otherscope:registry=MMM${os.EOL}//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}${os.EOL}@myscope:registry=https://registry.npmjs.org/${os.EOL}always-auth=true`
210212
);
211213
});
214+
215+
it('getPackageManagerWorkingDir should return null for not yarn', async () => {
216+
process.env['INPUT_CACHE'] = 'some';
217+
delete process.env['INPUT_CACHE-DEPENDENCY-PATH'];
218+
const dir = cacheUtils.getPackageManagerWorkingDir();
219+
expect(dir).toBeNull();
220+
});
221+
222+
it('getPackageManagerWorkingDir should return null for not yarn with cache-dependency-path', async () => {
223+
process.env['INPUT_CACHE'] = 'some';
224+
process.env['INPUT_CACHE-DEPENDENCY-PATH'] = '/foo/bar';
225+
const dir = cacheUtils.getPackageManagerWorkingDir();
226+
expect(dir).toBeNull();
227+
});
228+
229+
it('getPackageManagerWorkingDir should return null for yarn but without cache-dependency-path', async () => {
230+
process.env['INPUT_CACHE'] = 'yarn';
231+
delete process.env['INPUT_CACHE-DEPENDENCY-PATH'];
232+
const dir = cacheUtils.getPackageManagerWorkingDir();
233+
expect(dir).toBeNull();
234+
});
235+
236+
it('getPackageManagerWorkingDir should return path for yarn with cache-dependency-path', async () => {
237+
process.env['INPUT_CACHE'] = 'yarn';
238+
const cachePath = '/foo/bar';
239+
process.env['INPUT_CACHE-DEPENDENCY-PATH'] = cachePath;
240+
const dir = cacheUtils.getPackageManagerWorkingDir();
241+
expect(dir).toEqual(path.dirname(cachePath));
242+
});
243+
244+
it('getCommandOutput(getPackageManagerVersion) should be called from with getPackageManagerWorkingDir result', async () => {
245+
process.env['INPUT_CACHE'] = 'yarn';
246+
const cachePath = '/foo/bar';
247+
process.env['INPUT_CACHE-DEPENDENCY-PATH'] = cachePath;
248+
const getCommandOutputSpy = jest
249+
.spyOn(cacheUtils, 'getCommandOutput')
250+
.mockReturnValue(Promise.resolve('baz'));
251+
252+
const version = await cacheUtils.getPackageManagerVersion('foo', 'bar');
253+
expect(getCommandOutputSpy).toHaveBeenCalledWith(
254+
`foo bar`,
255+
path.dirname(cachePath)
256+
);
257+
});
258+
259+
it('getCommandOutput(getCacheDirectoryPath) should be called from with getPackageManagerWorkingDir result', async () => {
260+
process.env['INPUT_CACHE'] = 'yarn';
261+
const cachePath = '/foo/bar';
262+
process.env['INPUT_CACHE-DEPENDENCY-PATH'] = cachePath;
263+
const getCommandOutputSpy = jest
264+
.spyOn(cacheUtils, 'getCommandOutput')
265+
.mockReturnValue(Promise.resolve('baz'));
266+
267+
const version = await cacheUtils.getCacheDirectoryPath(
268+
{lockFilePatterns: [], getCacheFolderCommand: 'quz'},
269+
''
270+
);
271+
expect(getCommandOutputSpy).toHaveBeenCalledWith(
272+
`quz`,
273+
path.dirname(cachePath)
274+
);
275+
});
212276
});

dist/cache-save/index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59628,7 +59628,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5962859628
return (mod && mod.__esModule) ? mod : { "default": mod };
5962959629
};
5963059630
Object.defineProperty(exports, "__esModule", ({ value: true }));
59631-
exports.isCacheFeatureAvailable = exports.isGhes = exports.getCacheDirectoryPath = exports.getPackageManagerInfo = exports.getPackageManagerWorkingDir = exports.getCommandOutput = exports.supportedPackageManagers = void 0;
59631+
exports.isCacheFeatureAvailable = exports.isGhes = exports.getCacheDirectoryPath = exports.getPackageManagerInfo = exports.getPackageManagerVersion = exports.getPackageManagerWorkingDir = exports.getCommandOutput = exports.supportedPackageManagers = void 0;
5963259632
const core = __importStar(__nccwpck_require__(2186));
5963359633
const exec = __importStar(__nccwpck_require__(1514));
5963459634
const cache = __importStar(__nccwpck_require__(7799));
@@ -59678,6 +59678,7 @@ const getPackageManagerVersion = (packageManager, command) => __awaiter(void 0,
5967859678
}
5967959679
return stdOut;
5968059680
});
59681+
exports.getPackageManagerVersion = getPackageManagerVersion;
5968159682
const getPackageManagerInfo = (packageManager) => __awaiter(void 0, void 0, void 0, function* () {
5968259683
if (packageManager === 'npm') {
5968359684
return exports.supportedPackageManagers.npm;
@@ -59686,7 +59687,7 @@ const getPackageManagerInfo = (packageManager) => __awaiter(void 0, void 0, void
5968659687
return exports.supportedPackageManagers.pnpm;
5968759688
}
5968859689
else if (packageManager === 'yarn') {
59689-
const yarnVersion = yield getPackageManagerVersion('yarn', '--version');
59690+
const yarnVersion = yield exports.getPackageManagerVersion('yarn', '--version');
5969059691
core.debug(`Consumed yarn version is ${yarnVersion}`);
5969159692
if (yarnVersion.startsWith('1.')) {
5969259693
return exports.supportedPackageManagers.yarn1;

dist/setup/index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71596,7 +71596,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7159671596
return (mod && mod.__esModule) ? mod : { "default": mod };
7159771597
};
7159871598
Object.defineProperty(exports, "__esModule", ({ value: true }));
71599-
exports.isCacheFeatureAvailable = exports.isGhes = exports.getCacheDirectoryPath = exports.getPackageManagerInfo = exports.getPackageManagerWorkingDir = exports.getCommandOutput = exports.supportedPackageManagers = void 0;
71599+
exports.isCacheFeatureAvailable = exports.isGhes = exports.getCacheDirectoryPath = exports.getPackageManagerInfo = exports.getPackageManagerVersion = exports.getPackageManagerWorkingDir = exports.getCommandOutput = exports.supportedPackageManagers = void 0;
7160071600
const core = __importStar(__nccwpck_require__(2186));
7160171601
const exec = __importStar(__nccwpck_require__(1514));
7160271602
const cache = __importStar(__nccwpck_require__(7799));
@@ -71646,6 +71646,7 @@ const getPackageManagerVersion = (packageManager, command) => __awaiter(void 0,
7164671646
}
7164771647
return stdOut;
7164871648
});
71649+
exports.getPackageManagerVersion = getPackageManagerVersion;
7164971650
const getPackageManagerInfo = (packageManager) => __awaiter(void 0, void 0, void 0, function* () {
7165071651
if (packageManager === 'npm') {
7165171652
return exports.supportedPackageManagers.npm;
@@ -71654,7 +71655,7 @@ const getPackageManagerInfo = (packageManager) => __awaiter(void 0, void 0, void
7165471655
return exports.supportedPackageManagers.pnpm;
7165571656
}
7165671657
else if (packageManager === 'yarn') {
71657-
const yarnVersion = yield getPackageManagerVersion('yarn', '--version');
71658+
const yarnVersion = yield exports.getPackageManagerVersion('yarn', '--version');
7165871659
core.debug(`Consumed yarn version is ${yarnVersion}`);
7165971660
if (yarnVersion.startsWith('1.')) {
7166071661
return exports.supportedPackageManagers.yarn1;

src/cache-utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export const getPackageManagerWorkingDir = (): string | null => {
6161
return cacheDependencyPath ? path.dirname(cacheDependencyPath) : null;
6262
};
6363

64-
const getPackageManagerVersion = async (
64+
export const getPackageManagerVersion = async (
6565
packageManager: string,
6666
command: string
6767
) => {

0 commit comments

Comments
 (0)