Support ids
This commit is contained in:
parent
1b0417032a
commit
b0e5cf270d
|
@ -29,30 +29,36 @@ describe('auth tests', () => {
|
|||
}, 100000);
|
||||
|
||||
it('creates settings.xml with username and password', async () => {
|
||||
const id = 'packages';
|
||||
const username = 'bluebottle';
|
||||
const password = 'SingleOrigin';
|
||||
|
||||
await auth.configAuthentication(username, password);
|
||||
await auth.configAuthentication(id, username, password);
|
||||
|
||||
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||
expect(fs.existsSync(settingsFile)).toBe(true);
|
||||
expect(fs.readFileSync(settingsFile, 'utf-8')).toEqual(
|
||||
auth.generate(username, password)
|
||||
auth.generate(id, username, password)
|
||||
);
|
||||
}, 100000);
|
||||
|
||||
it('does not create settings.xml without username and / or password', async () => {
|
||||
await auth.configAuthentication('FOO', '');
|
||||
await auth.configAuthentication('FOO', '', '');
|
||||
|
||||
expect(fs.existsSync(m2Dir)).toBe(false);
|
||||
expect(fs.existsSync(settingsFile)).toBe(false);
|
||||
|
||||
await auth.configAuthentication('', 'BAR');
|
||||
await auth.configAuthentication('', 'BAR', '');
|
||||
|
||||
expect(fs.existsSync(m2Dir)).toBe(false);
|
||||
expect(fs.existsSync(settingsFile)).toBe(false);
|
||||
|
||||
await auth.configAuthentication('', ''); // BAZ!!!
|
||||
await auth.configAuthentication('', '', 'BAZ');
|
||||
|
||||
expect(fs.existsSync(m2Dir)).toBe(false);
|
||||
expect(fs.existsSync(settingsFile)).toBe(false);
|
||||
|
||||
await auth.configAuthentication('', '', '');
|
||||
|
||||
expect(fs.existsSync(m2Dir)).toBe(false);
|
||||
expect(fs.existsSync(settingsFile)).toBe(false);
|
||||
|
|
|
@ -7,13 +7,13 @@ import * as io from '@actions/io';
|
|||
export const M2_DIR = '.m2';
|
||||
export const SETTINGS_FILE = 'settings.xml';
|
||||
|
||||
export async function configAuthentication(username: string, password: string) {
|
||||
if (username && password) {
|
||||
export async function configAuthentication(id: string, username: string, password: string) {
|
||||
if (id && username && password) {
|
||||
core.debug(`configAuthentication with ${username} and a password`);
|
||||
const directory: string = path.join(os.homedir(), M2_DIR);
|
||||
await io.mkdirP(directory);
|
||||
core.debug(`created directory ${directory}`);
|
||||
await write(directory, generate(username, password));
|
||||
await write(directory, generate(id, username, password));
|
||||
} else {
|
||||
core.debug(
|
||||
`no auth without username: ${username} and password: ${password}`
|
||||
|
@ -22,11 +22,12 @@ export async function configAuthentication(username: string, password: string) {
|
|||
}
|
||||
|
||||
// only exported for testing purposes
|
||||
export function generate(username: string, password: string) {
|
||||
export function generate(id: string, username: string, password: string) {
|
||||
return `
|
||||
<settings>
|
||||
<servers>
|
||||
<server>
|
||||
<id>${id}</id>
|
||||
<username>${username}</username>
|
||||
<password>${password}</password>
|
||||
</server>
|
||||
|
|
|
@ -18,11 +18,12 @@ async function run() {
|
|||
const matchersPath = path.join(__dirname, '..', '.github');
|
||||
console.log(`##[add-matcher]${path.join(matchersPath, 'java.json')}`);
|
||||
|
||||
const id = core.getInput('id', {required: false});
|
||||
const username = core.getInput('username', {required: false});
|
||||
const password = core.getInput('password', {required: false});
|
||||
|
||||
if (username && password) {
|
||||
await auth.configAuthentication(username, password);
|
||||
if (id && username && password) {
|
||||
await auth.configAuthentication(id, username, password);
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
|
|
Loading…
Reference in New Issue