mirror of
https://github.com/docker/metadata-action.git
synced 2024-11-08 13:15:40 +01:00
83 lines
1.5 KiB
TypeScript
83 lines
1.5 KiB
TypeScript
|
import {describe, expect, test} from '@jest/globals';
|
||
|
import {Transform, Image} from '../src/image';
|
||
|
|
||
|
describe('transform', () => {
|
||
|
// prettier-ignore
|
||
|
test.each([
|
||
|
[
|
||
|
[
|
||
|
`name/foo`
|
||
|
],
|
||
|
[
|
||
|
{
|
||
|
name: `name/foo`,
|
||
|
enable: true,
|
||
|
}
|
||
|
] as Image[],
|
||
|
false
|
||
|
],
|
||
|
[
|
||
|
[
|
||
|
`name/foo`,
|
||
|
`name/bar`
|
||
|
],
|
||
|
[
|
||
|
{
|
||
|
name: `name/foo`,
|
||
|
enable: true,
|
||
|
},
|
||
|
{
|
||
|
name: `name/bar`,
|
||
|
enable: true,
|
||
|
}
|
||
|
] as Image[],
|
||
|
false
|
||
|
],
|
||
|
[
|
||
|
[
|
||
|
`name=name/bar`,
|
||
|
`name/foo,enable=false`,
|
||
|
`name=ghcr.io/name/foo,enable=true`
|
||
|
],
|
||
|
[
|
||
|
{
|
||
|
name: `name/bar`,
|
||
|
enable: true,
|
||
|
},
|
||
|
{
|
||
|
name: `name/foo`,
|
||
|
enable: false,
|
||
|
},
|
||
|
{
|
||
|
name: `ghcr.io/name/foo`,
|
||
|
enable: true,
|
||
|
},
|
||
|
] as Image[],
|
||
|
false
|
||
|
],
|
||
|
[
|
||
|
[`value=name/foo`], undefined, true
|
||
|
],
|
||
|
[
|
||
|
[`name/foo,enable=bar`], undefined, true
|
||
|
],
|
||
|
[
|
||
|
[`name/foo,bar=baz`], undefined, true
|
||
|
],
|
||
|
[
|
||
|
[`name=,enable=true`], undefined, true
|
||
|
]
|
||
|
])('given %p', async (l: string[], expected: Image[], invalid: boolean) => {
|
||
|
try {
|
||
|
const images = Transform(l);
|
||
|
expect(images).toEqual(expected);
|
||
|
} catch (err) {
|
||
|
if (!invalid) {
|
||
|
console.error(err);
|
||
|
}
|
||
|
// eslint-disable-next-line jest/no-conditional-expect
|
||
|
expect(true).toBe(invalid);
|
||
|
}
|
||
|
});
|
||
|
});
|