buildx: make inputs methods static

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax
2023-03-12 23:40:54 +01:00
parent 8df8cee02f
commit 03977693c1
3 changed files with 26 additions and 37 deletions

View File

@@ -20,7 +20,6 @@ import * as path from 'path';
import * as rimraf from 'rimraf';
import {Context} from '../../src/context';
import {Buildx} from '../../src/buildx/buildx';
import {Inputs} from '../../src/buildx/inputs';
const fixturesDir = path.join(__dirname, '..', 'fixtures');
@@ -53,31 +52,28 @@ afterEach(() => {
describe('resolveBuildImageID', () => {
it('matches', async () => {
const buildx = new Buildx();
const imageID = 'sha256:bfb45ab72e46908183546477a08f8867fc40cebadd00af54b071b097aed127a9';
const imageIDFile = buildx.inputs.getBuildImageIDFilePath();
const imageIDFile = Inputs.getBuildImageIDFilePath();
await fs.writeFileSync(imageIDFile, imageID);
const expected = buildx.inputs.resolveBuildImageID();
const expected = Inputs.resolveBuildImageID();
expect(expected).toEqual(imageID);
});
});
describe('resolveBuildMetadata', () => {
it('matches', async () => {
const buildx = new Buildx();
const metadataFile = buildx.inputs.getBuildMetadataFilePath();
const metadataFile = Inputs.getBuildMetadataFilePath();
await fs.writeFileSync(metadataFile, metadata);
const expected = buildx.inputs.resolveBuildMetadata();
const expected = Inputs.resolveBuildMetadata();
expect(expected).toEqual(metadata);
});
});
describe('resolveDigest', () => {
it('matches', async () => {
const buildx = new Buildx();
const metadataFile = buildx.inputs.getBuildMetadataFilePath();
const metadataFile = Inputs.getBuildMetadataFilePath();
await fs.writeFileSync(metadataFile, metadata);
const expected = buildx.inputs.resolveDigest();
const expected = Inputs.resolveDigest();
expect(expected).toEqual('sha256:b09b9482c72371486bb2c1d2c2a2633ed1d0b8389e12c8d52b9e052725c0c83c');
});
});
@@ -124,8 +120,7 @@ describe('getProvenanceInput', () => {
],
])('given input %p', async (input: string, expected: string) => {
await setInput('provenance', input);
const buildx = new Buildx();
expect(buildx.inputs.getProvenanceInput('provenance')).toEqual(expected);
expect(Inputs.getProvenanceInput('provenance')).toEqual(expected);
});
});
@@ -153,8 +148,7 @@ describe('resolveProvenanceAttrs', () => {
'builder-id=https://github.com/docker/actions-toolkit/actions/runs/123'
],
])('given %p', async (input: string, expected: string) => {
const buildx = new Buildx();
expect(buildx.inputs.resolveProvenanceAttrs(input)).toEqual(expected);
expect(Inputs.resolveProvenanceAttrs(input)).toEqual(expected);
});
});
@@ -170,12 +164,11 @@ describe('resolveBuildSecret', () => {
[`notfound=secret`, true, '', '', new Error('secret file secret not found')]
])('given %p key and %p secret', async (kvp: string, file: boolean, exKey: string, exValue: string, error: Error) => {
try {
const buildx = new Buildx();
let secret: string;
if (file) {
secret = buildx.inputs.resolveBuildSecretFile(kvp);
secret = Inputs.resolveBuildSecretFile(kvp);
} else {
secret = buildx.inputs.resolveBuildSecretString(kvp);
secret = Inputs.resolveBuildSecretString(kvp);
}
expect(secret).toEqual(`id=${exKey},src=${tmpName}`);
expect(fs.readFileSync(tmpName, 'utf-8')).toEqual(exValue);