test: fix tests after toolkit update
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									a64852414f
								
							
						
					
					
						commit
						0e7803459f
					
				@ -1,5 +1,6 @@
 | 
			
		||||
import {beforeEach, describe, expect, jest, test} from '@jest/globals';
 | 
			
		||||
import {AuthorizationData} from '@aws-sdk/client-ecr';
 | 
			
		||||
 | 
			
		||||
import * as aws from '../src/aws';
 | 
			
		||||
 | 
			
		||||
describe('isECR', () => {
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,5 @@
 | 
			
		||||
import {expect, test} from '@jest/globals';
 | 
			
		||||
 | 
			
		||||
import {getInputs} from '../src/context';
 | 
			
		||||
 | 
			
		||||
test('with password and username getInputs does not throw error', async () => {
 | 
			
		||||
 | 
			
		||||
@ -1,14 +1,15 @@
 | 
			
		||||
import {expect, jest, test} from '@jest/globals';
 | 
			
		||||
import {loginStandard, logout} from '../src/docker';
 | 
			
		||||
import * as path from 'path';
 | 
			
		||||
import * as exec from '@actions/exec';
 | 
			
		||||
 | 
			
		||||
import {loginStandard, logout} from '../src/docker';
 | 
			
		||||
import {Exec} from '@docker/actions-toolkit/lib/exec';
 | 
			
		||||
 | 
			
		||||
process.env['RUNNER_TEMP'] = path.join(__dirname, 'runner');
 | 
			
		||||
 | 
			
		||||
test('loginStandard calls exec', async () => {
 | 
			
		||||
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
 | 
			
		||||
  // @ts-ignore
 | 
			
		||||
  const execSpy = jest.spyOn(exec, 'getExecOutput').mockImplementation(async () => {
 | 
			
		||||
  const execSpy = jest.spyOn(Exec, 'getExecOutput').mockImplementation(async () => {
 | 
			
		||||
    return {
 | 
			
		||||
      exitCode: expect.any(Number),
 | 
			
		||||
      stdout: expect.any(Function),
 | 
			
		||||
@ -32,7 +33,7 @@ test('loginStandard calls exec', async () => {
 | 
			
		||||
test('logout calls exec', async () => {
 | 
			
		||||
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
 | 
			
		||||
  // @ts-ignore
 | 
			
		||||
  const execSpy = jest.spyOn(exec, 'getExecOutput').mockImplementation(async () => {
 | 
			
		||||
  const execSpy = jest.spyOn(Exec, 'getExecOutput').mockImplementation(async () => {
 | 
			
		||||
    return {
 | 
			
		||||
      exitCode: expect.any(Number),
 | 
			
		||||
      stdout: expect.any(Function),
 | 
			
		||||
 | 
			
		||||
@ -1,65 +0,0 @@
 | 
			
		||||
import {expect, jest, test} from '@jest/globals';
 | 
			
		||||
import osm = require('os');
 | 
			
		||||
 | 
			
		||||
import {main} from '../src/main';
 | 
			
		||||
import * as docker from '../src/docker';
 | 
			
		||||
import * as stateHelper from '../src/state-helper';
 | 
			
		||||
 | 
			
		||||
test('errors without username and password', async () => {
 | 
			
		||||
  jest.spyOn(osm, 'platform').mockImplementation(() => 'linux');
 | 
			
		||||
  process.env['INPUT_LOGOUT'] = 'true'; // default value
 | 
			
		||||
  await expect(main()).rejects.toThrow(new Error('Username and password required'));
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('successful with username and password', async () => {
 | 
			
		||||
  jest.spyOn(osm, 'platform').mockImplementation(() => 'linux');
 | 
			
		||||
  const setRegistrySpy = jest.spyOn(stateHelper, 'setRegistry');
 | 
			
		||||
  const setLogoutSpy = jest.spyOn(stateHelper, 'setLogout');
 | 
			
		||||
  const dockerSpy = jest.spyOn(docker, 'login').mockImplementation(() => Promise.resolve());
 | 
			
		||||
 | 
			
		||||
  const username = 'dbowie';
 | 
			
		||||
  process.env[`INPUT_USERNAME`] = username;
 | 
			
		||||
 | 
			
		||||
  const password = 'groundcontrol';
 | 
			
		||||
  process.env[`INPUT_PASSWORD`] = password;
 | 
			
		||||
 | 
			
		||||
  const ecr = 'auto';
 | 
			
		||||
  process.env['INPUT_ECR'] = ecr;
 | 
			
		||||
 | 
			
		||||
  const logout = false;
 | 
			
		||||
  process.env['INPUT_LOGOUT'] = String(logout);
 | 
			
		||||
 | 
			
		||||
  await main();
 | 
			
		||||
 | 
			
		||||
  expect(setRegistrySpy).toHaveBeenCalledWith('');
 | 
			
		||||
  expect(setLogoutSpy).toHaveBeenCalledWith(logout);
 | 
			
		||||
  expect(dockerSpy).toHaveBeenCalledWith('', username, password, ecr);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('calls docker login', async () => {
 | 
			
		||||
  jest.spyOn(osm, 'platform').mockImplementation(() => 'linux');
 | 
			
		||||
  const setRegistrySpy = jest.spyOn(stateHelper, 'setRegistry');
 | 
			
		||||
  const setLogoutSpy = jest.spyOn(stateHelper, 'setLogout');
 | 
			
		||||
  const dockerSpy = jest.spyOn(docker, 'login').mockImplementation(() => Promise.resolve());
 | 
			
		||||
 | 
			
		||||
  const username = 'dbowie';
 | 
			
		||||
  process.env[`INPUT_USERNAME`] = username;
 | 
			
		||||
 | 
			
		||||
  const password = 'groundcontrol';
 | 
			
		||||
  process.env[`INPUT_PASSWORD`] = password;
 | 
			
		||||
 | 
			
		||||
  const registry = 'ghcr.io';
 | 
			
		||||
  process.env[`INPUT_REGISTRY`] = registry;
 | 
			
		||||
 | 
			
		||||
  const ecr = 'auto';
 | 
			
		||||
  process.env['INPUT_ECR'] = ecr;
 | 
			
		||||
 | 
			
		||||
  const logout = true;
 | 
			
		||||
  process.env['INPUT_LOGOUT'] = String(logout);
 | 
			
		||||
 | 
			
		||||
  await main();
 | 
			
		||||
 | 
			
		||||
  expect(setRegistrySpy).toHaveBeenCalledWith(registry);
 | 
			
		||||
  expect(setLogoutSpy).toHaveBeenCalledWith(logout);
 | 
			
		||||
  expect(dockerSpy).toHaveBeenCalledWith(registry, username, password, ecr);
 | 
			
		||||
});
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user