3
0
Fork 0
mirror of https://gitea.com/docker/login-action.git synced 2024-11-26 11:29:36 +01:00

Username required

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2020-10-16 18:24:41 +02:00
parent 4b15841c41
commit 1c2cf9942d
No known key found for this signature in database
GPG key ID: 3248E46B6BB8C7F7
4 changed files with 30 additions and 40 deletions

View file

@ -29,22 +29,22 @@ test('errors without password', async () => {
}); });
test('successful with only password', async () => { test('successful with only password', async () => {
const platSpy = jest.spyOn(osm, 'platform'); const platSpy = jest.spyOn(osm, 'platform');
platSpy.mockImplementation(() => 'linux'); platSpy.mockImplementation(() => 'linux');
const setRegistrySpy: jest.SpyInstance = jest.spyOn(stateHelper, 'setRegistry'); const setRegistrySpy: jest.SpyInstance = jest.spyOn(stateHelper, 'setRegistry');
const setLogoutSpy: jest.SpyInstance = jest.spyOn(stateHelper, 'setLogout'); const setLogoutSpy: jest.SpyInstance = jest.spyOn(stateHelper, 'setLogout');
const dockerSpy: jest.SpyInstance = jest.spyOn(docker, 'login'); const dockerSpy: jest.SpyInstance = jest.spyOn(docker, 'login');
dockerSpy.mockImplementation(() => {}); dockerSpy.mockImplementation(() => {});
const password: string = 'groundcontrol'; const password: string = 'groundcontrol';
process.env[`INPUT_PASSWORD`] = password; process.env[`INPUT_PASSWORD`] = password;
await run(); await run();
expect(setRegistrySpy).toHaveBeenCalledWith(''); expect(setRegistrySpy).toHaveBeenCalledWith('');
expect(setLogoutSpy).toHaveBeenCalledWith(''); expect(setLogoutSpy).toHaveBeenCalledWith('');
expect(dockerSpy).toHaveBeenCalledWith('', '', password); expect(dockerSpy).toHaveBeenCalledWith('', '', password);
}); });
test('calls docker login', async () => { test('calls docker login', async () => {
@ -66,7 +66,7 @@ test('calls docker login', async () => {
process.env[`INPUT_REGISTRY`] = registry; process.env[`INPUT_REGISTRY`] = registry;
const logout: string = 'true'; const logout: string = 'true';
process.env['INPUT_LOGOUT'] = logout process.env['INPUT_LOGOUT'] = logout;
await run(); await run();

View file

@ -12,7 +12,7 @@ inputs:
required: false required: false
username: username:
description: 'Username used to log against the Docker registry' description: 'Username used to log against the Docker registry'
required: false required: true
password: password:
description: 'Password or personal access token used to log against the Docker registry' description: 'Password or personal access token used to log against the Docker registry'
required: true required: true

36
dist/index.js generated vendored
View file

@ -496,6 +496,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
}); });
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.run = void 0;
const os = __importStar(__webpack_require__(87)); const os = __importStar(__webpack_require__(87));
const core = __importStar(__webpack_require__(186)); const core = __importStar(__webpack_require__(186));
const context_1 = __webpack_require__(842); const context_1 = __webpack_require__(842);
@ -505,19 +506,19 @@ function run() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
try { try {
if (os.platform() !== 'linux') { if (os.platform() !== 'linux') {
core.setFailed('Only supported on linux platform'); throw new Error('Only supported on linux platform');
return;
} }
let inputs = yield context_1.getInputs(); const { registry, username, password, logout } = context_1.getInputs();
stateHelper.setRegistry(inputs.registry); stateHelper.setRegistry(registry);
stateHelper.setLogout(inputs.logout); stateHelper.setLogout(logout);
yield docker.login(inputs.registry, inputs.username, inputs.password); yield docker.login(registry, username, password);
} }
catch (error) { catch (error) {
core.setFailed(error.message); core.setFailed(error.message);
} }
}); });
} }
exports.run = run;
function logout() { function logout() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
if (!stateHelper.logout) { if (!stateHelper.logout) {
@ -3640,27 +3641,16 @@ var __importStar = (this && this.__importStar) || function (mod) {
__setModuleDefault(result, mod); __setModuleDefault(result, mod);
return result; return result;
}; };
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.getInputs = void 0; exports.getInputs = void 0;
const core = __importStar(__webpack_require__(186)); const core = __importStar(__webpack_require__(186));
function getInputs() { function getInputs() {
return __awaiter(this, void 0, void 0, function* () { return {
return { registry: core.getInput('registry'),
registry: core.getInput('registry'), username: core.getInput('username', { required: true }),
username: core.getInput('username'), password: core.getInput('password', { required: true }),
password: core.getInput('password', { required: true }), logout: core.getInput('logout')
logout: core.getInput('logout') };
};
});
} }
exports.getInputs = getInputs; exports.getInputs = getInputs;
//# sourceMappingURL=context.js.map //# sourceMappingURL=context.js.map

View file

@ -10,7 +10,7 @@ export interface Inputs {
export function getInputs(): Inputs { export function getInputs(): Inputs {
return { return {
registry: core.getInput('registry'), registry: core.getInput('registry'),
username: core.getInput('username'), username: core.getInput('username', {required: true}),
password: core.getInput('password', {required: true}), password: core.getInput('password', {required: true}),
logout: core.getInput('logout') logout: core.getInput('logout')
}; };