mirror of
https://github.com/docker/metadata-action.git
synced 2025-06-23 11:17:58 +02:00
115
__tests__/flavor.test.ts
Normal file
115
__tests__/flavor.test.ts
Normal file
@ -0,0 +1,115 @@
|
||||
import {Flavor, Transform} from '../src/flavor';
|
||||
|
||||
describe('transform', () => {
|
||||
// prettier-ignore
|
||||
test.each([
|
||||
[
|
||||
[
|
||||
`randomstr`,
|
||||
`latest=auto`
|
||||
],
|
||||
{} as Flavor,
|
||||
true
|
||||
],
|
||||
[
|
||||
[
|
||||
`unknwown=foo`
|
||||
],
|
||||
{} as Flavor,
|
||||
true
|
||||
],
|
||||
[
|
||||
[
|
||||
`latest`,
|
||||
],
|
||||
{} as Flavor,
|
||||
true
|
||||
],
|
||||
[
|
||||
[
|
||||
`latest=true`
|
||||
],
|
||||
{
|
||||
latest: "true",
|
||||
prefix: "",
|
||||
suffix: ""
|
||||
} as Flavor,
|
||||
false
|
||||
],
|
||||
[
|
||||
[
|
||||
`latest=false`
|
||||
],
|
||||
{
|
||||
latest: "false",
|
||||
prefix: "",
|
||||
suffix: ""
|
||||
} as Flavor,
|
||||
false
|
||||
],
|
||||
[
|
||||
[
|
||||
`latest=auto`
|
||||
],
|
||||
{
|
||||
latest: "auto",
|
||||
prefix: "",
|
||||
suffix: ""
|
||||
} as Flavor,
|
||||
false
|
||||
],
|
||||
[
|
||||
[
|
||||
`latest=foo`
|
||||
],
|
||||
{} as Flavor,
|
||||
true
|
||||
],
|
||||
[
|
||||
[
|
||||
`prefix=sha-`
|
||||
],
|
||||
{
|
||||
latest: "auto",
|
||||
prefix: "sha-",
|
||||
suffix: ""
|
||||
} as Flavor,
|
||||
false
|
||||
],
|
||||
[
|
||||
[
|
||||
`suffix=-alpine`
|
||||
],
|
||||
{
|
||||
latest: "auto",
|
||||
prefix: "",
|
||||
suffix: "-alpine"
|
||||
} as Flavor,
|
||||
false
|
||||
],
|
||||
[
|
||||
[
|
||||
`latest=false`,
|
||||
`prefix=dev-`,
|
||||
`suffix=-alpine`
|
||||
],
|
||||
{
|
||||
latest: "false",
|
||||
prefix: "dev-",
|
||||
suffix: "-alpine"
|
||||
} as Flavor,
|
||||
false
|
||||
],
|
||||
])('given %p attributes ', async (inputs: string[], expected: Flavor, invalid: boolean) => {
|
||||
try {
|
||||
const flavor = Transform(inputs);
|
||||
console.log(flavor);
|
||||
expect(flavor).toEqual(expected);
|
||||
} catch (err) {
|
||||
if (!invalid) {
|
||||
console.error(err);
|
||||
}
|
||||
expect(true).toBe(invalid);
|
||||
}
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user