github: printActionsRuntimeToken

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2023-02-03 03:33:22 +01:00
parent 40e9a15129
commit ad59af8cf2
No known key found for this signature in database
GPG Key ID: 3248E46B6BB8C7F7
2 changed files with 41 additions and 0 deletions

View File

@ -17,6 +17,7 @@
import {describe, expect, jest, it, beforeEach, afterEach} from '@jest/globals';
import * as fs from 'fs';
import * as path from 'path';
import * as core from '@actions/core';
import {GitHub} from '../src/github';
import {GitHubRepo} from '../src/types/github';
@ -110,3 +111,33 @@ describe('actionsRuntimeToken', () => {
expect(runtimeToken.iss).toEqual('vstoken.actions.githubusercontent.com');
});
});
describe('printActionsRuntimeToken', () => {
const originalEnv = process.env;
beforeEach(() => {
jest.resetModules();
process.env = {
...originalEnv
};
});
afterEach(() => {
process.env = originalEnv;
});
it('empty', async () => {
const execSpy = jest.spyOn(core, 'info');
process.env.ACTIONS_RUNTIME_TOKEN = '';
GitHub.printActionsRuntimeToken();
expect(execSpy).toHaveBeenCalledWith(`ACTIONS_RUNTIME_TOKEN not set`);
});
it('prints ac', () => {
const execSpy = jest.spyOn(core, 'info');
process.env.ACTIONS_RUNTIME_TOKEN = fs.readFileSync(path.join(__dirname, 'fixtures', 'runtimeToken.txt')).toString().trim();
GitHub.printActionsRuntimeToken();
expect(execSpy).toHaveBeenCalledWith(`[
{
"Scope": "refs/heads/master",
"Permission": 3
}
]`);
});
});

View File

@ -15,6 +15,7 @@
*/
import {GitHub as Octokit} from '@actions/github/lib/utils';
import * as core from '@actions/core';
import * as github from '@actions/github';
import {Context} from '@actions/github/lib/context';
import jwt_decode from 'jwt-decode';
@ -52,4 +53,13 @@ export class GitHub {
const token = process.env['ACTIONS_RUNTIME_TOKEN'] || '';
return token ? jwt_decode<GitHubActionsRuntimeToken>(token) : {};
}
public static async printActionsRuntimeToken() {
const actionsRuntimeToken = process.env['ACTIONS_RUNTIME_TOKEN'];
if (actionsRuntimeToken) {
core.info(JSON.stringify(JSON.parse(GitHub.actionsRuntimeToken.ac as string), undefined, 2));
} else {
core.info(`ACTIONS_RUNTIME_TOKEN not set`);
}
}
}