Fix tests

This commit is contained in:
CrazyMax 2020-08-21 14:56:11 +02:00
parent 25aa6aa30c
commit 04f461cc60
No known key found for this signature in database
GPG Key ID: 3248E46B6BB8C7F7
4 changed files with 30 additions and 20 deletions

View File

@ -19,11 +19,19 @@ describe('getCLI', () => {
});
});
describe('getCLICmdOutput', () => {
it('--version not empty', async () => {
const cliCmdOutput = await aws.getCLICmdOutput(['--version']);
console.log(`cliCmdOutput: ${cliCmdOutput}`);
expect(cliCmdOutput).not.toEqual('');
});
});
describe('getCLIVersion', () => {
it('valid', async () => {
const cliVersion = await aws.getCLIVersion();
console.log(`cliVersion: ${cliVersion}`);
expect(semver.valid(cliVersion)).toBe(true);
expect(semver.valid(cliVersion)).not.toBeNull();
});
});

20
dist/index.js generated vendored
View File

@ -3023,13 +3023,10 @@ function loginECR(registry, username, password) {
core.info(`💡 AWS ECR registry detected with ${ecrRegion} region`);
process.env.AWS_ACCESS_KEY_ID = username;
process.env.AWS_SECRET_ACCESS_KEY = password;
core.info(`⬇️ Retrieving docker login command through AWS CLI ${cliVersion}...`);
yield execm.exec(cliPath, ['ecr', 'get-login', '--region', ecrRegion, '--no-include-email'], true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
}
core.info(`⬇️ Retrieving docker login command through AWS CLI ${cliVersion} (${cliPath})...`);
aws.getCLICmdOutput(['ecr', 'get-login', '--region', ecrRegion, '--no-include-email']).then(stdout => {
core.info(`🔑 Logging into ${registry}...`);
execm.exec(res.stdout, [], true).then(res => {
execm.exec(stdout, [], true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
}
@ -4102,7 +4099,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRegion = exports.parseCLIVersion = exports.getCLIVersion = exports.getCLI = exports.isECR = void 0;
exports.getRegion = exports.parseCLIVersion = exports.getCLIVersion = exports.getCLICmdOutput = exports.getCLI = exports.isECR = void 0;
const semver = __importStar(__webpack_require__(383));
const io = __importStar(__webpack_require__(436));
const execm = __importStar(__webpack_require__(757));
@ -4112,14 +4109,17 @@ exports.isECR = (registry) => __awaiter(void 0, void 0, void 0, function* () {
exports.getCLI = () => __awaiter(void 0, void 0, void 0, function* () {
return io.which('aws', true);
});
exports.getCLIVersion = () => __awaiter(void 0, void 0, void 0, function* () {
return execm.exec('aws', ['--version'], true).then(res => {
exports.getCLICmdOutput = (args) => __awaiter(void 0, void 0, void 0, function* () {
return execm.exec(yield exports.getCLI(), args, true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
}
return exports.parseCLIVersion(res.stdout);
return res.stdout;
});
});
exports.getCLIVersion = () => __awaiter(void 0, void 0, void 0, function* () {
return exports.parseCLIVersion(yield exports.getCLICmdOutput(['--version']));
});
exports.parseCLIVersion = (stdout) => __awaiter(void 0, void 0, void 0, function* () {
const matches = /aws-cli\/([0-9.]+)/.exec(stdout);
if (matches) {

View File

@ -10,15 +10,19 @@ export const getCLI = async (): Promise<string> => {
return io.which('aws', true);
};
export const getCLIVersion = async (): Promise<string | undefined> => {
return execm.exec('aws', ['--version'], true).then(res => {
export const getCLICmdOutput = async (args: string[]): Promise<string> => {
return execm.exec(await getCLI(), args, true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
}
return parseCLIVersion(res.stdout);
return res.stdout;
});
};
export const getCLIVersion = async (): Promise<string | undefined> => {
return parseCLIVersion(await getCLICmdOutput(['--version']));
};
export const parseCLIVersion = async (stdout: string): Promise<string | undefined> => {
const matches = /aws-cli\/([0-9.]+)/.exec(stdout);
if (matches) {

View File

@ -47,13 +47,11 @@ export async function loginECR(registry: string, username: string, password: str
process.env.AWS_ACCESS_KEY_ID = username;
process.env.AWS_SECRET_ACCESS_KEY = password;
core.info(`⬇️ Retrieving docker login command through AWS CLI ${cliVersion}...`);
await execm.exec(cliPath, ['ecr', 'get-login', '--region', ecrRegion, '--no-include-email'], true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
}
core.info(`⬇️ Retrieving docker login command through AWS CLI ${cliVersion} (${cliPath})...`);
aws.getCLICmdOutput(['ecr', 'get-login', '--region', ecrRegion, '--no-include-email']).then(stdout => {
core.info(`🔑 Logging into ${registry}...`);
execm.exec(res.stdout, [], true).then(res => {
execm.exec(stdout, [], true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
}