mirror of
https://github.com/renovatebot/renovate.git
synced 2025-02-28 18:44:03 +00:00

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
146 lines
5.5 KiB
TypeScript
146 lines
5.5 KiB
TypeScript
import aws from '.';
|
|
|
|
describe('modules/versioning/aws-eks-addon/index', () => {
|
|
describe('parse(version)', () => {
|
|
it('should return 1.23.7 and release version', () => {
|
|
expect(aws.getMajor('v1.20.7-eksbuild.1')).toBe(1);
|
|
expect(aws.getMinor('v1.23.7-eksbuild.1')).toBe(23);
|
|
expect(aws.getPatch('v1.20.7-eksbuild.1')).toBe(7);
|
|
});
|
|
});
|
|
|
|
describe('isValid(version)', () => {
|
|
it.each`
|
|
input | expected
|
|
${''} | ${false}
|
|
${'.1..'} | ${false}
|
|
${'abrakadabra'} | ${false}
|
|
${'v1'} | ${false}
|
|
${'v1.'} | ${false}
|
|
${'v1...-eksbuild.1'} | ${false}
|
|
${'v1-eksbuild.1'} | ${false}
|
|
${'v1.a-eksbuild.1'} | ${false}
|
|
${'v1.23-eksbuild.1'} | ${false}
|
|
${'1.23.1-eksbuild.a'} | ${false}
|
|
${'v1.11.7'} | ${false}
|
|
${'v1.11.7.6'} | ${false}
|
|
${'v1.11.7-noneksbuild'} | ${false}
|
|
${'v1.11.7-noneksbuild.1'} | ${false}
|
|
${'v1.11.7-eksbuild'} | ${false}
|
|
${'v1.11.7.3-eksbuild.1'} | ${false}
|
|
${'v1.23.1-eksbuild.1'} | ${true}
|
|
${'1.23.1-eksbuild.1'} | ${true}
|
|
${'v1.23.1-eksbuild.11'} | ${true}
|
|
`('isValid("$input") === $expected', ({ input, expected }) => {
|
|
const actual = aws.isValid(input);
|
|
expect(actual).toBe(expected);
|
|
});
|
|
});
|
|
|
|
describe('isVersion(version)', () => {
|
|
it.each`
|
|
input | expected
|
|
${''} | ${false}
|
|
${'abrakadabra'} | ${false}
|
|
${'v1'} | ${false}
|
|
${'v1.'} | ${false}
|
|
${'v1-eksbuild.1'} | ${false}
|
|
${'v1.a-eksbuild.1'} | ${false}
|
|
${'v1.23-eksbuild.1'} | ${false}
|
|
${'1.23.1-eksbuild.a'} | ${false}
|
|
${'v1.11.7'} | ${false}
|
|
${'v1.11.7.6'} | ${false}
|
|
${'v1.11.7-noneksbuild'} | ${false}
|
|
${'v1.11.7-noneksbuild.1'} | ${false}
|
|
${'v1.11.7-eksbuild'} | ${false}
|
|
${'v1.11.7.3-eksbuild.1'} | ${false}
|
|
${'v1.23.1-eksbuild.1'} | ${true}
|
|
${'1.23.1-eksbuild.1'} | ${true}
|
|
${'v1.23.1-eksbuild.11'} | ${true}
|
|
`('isValid("$input") === $expected', ({ input, expected }) => {
|
|
const actual = aws.isVersion(input);
|
|
expect(actual).toBe(expected);
|
|
});
|
|
});
|
|
|
|
describe('isCompatible(version)', () => {
|
|
it.each`
|
|
input | expected
|
|
${''} | ${false}
|
|
${'abrakadabra'} | ${false}
|
|
${'v1'} | ${false}
|
|
${'v1.'} | ${false}
|
|
${'v1-eksbuild.1'} | ${false}
|
|
${'v1.a-eksbuild.1'} | ${false}
|
|
${'v1.23-eksbuild.1'} | ${false}
|
|
${'1.23.1-eksbuild.1'} | ${false}
|
|
${'1.23.1-eksbuild.a'} | ${false}
|
|
${'v1.11.7'} | ${false}
|
|
${'v1.11.7.6'} | ${false}
|
|
${'v1.11.7-noneksbuild'} | ${false}
|
|
${'v1.11.7-noneksbuild.1'} | ${false}
|
|
${'v1.11.7-eksbuild'} | ${false}
|
|
${'v1.11.7.3-eksbuild.1'} | ${false}
|
|
`('isCompatible("$input") === $expected', ({ input, expected }) => {
|
|
const actual = aws.isCompatible(input);
|
|
expect(actual).toBe(expected);
|
|
});
|
|
});
|
|
|
|
describe('isCompatible(version,range)', () => {
|
|
it.each`
|
|
version | current | expected
|
|
${'1.23.1-eksbuild.1'} | ${'1.23.1-eksbuild.2'} | ${true}
|
|
${'v1.23.1-eksbuild.1'} | ${'1.23.1-eksbuild.2'} | ${true}
|
|
${'v1.23.1-eksbuild.1'} | ${'1.23.1-eksbuild.21'} | ${true}
|
|
${'v1.11.7-eksbuild.1'} | ${'v1.11.7-noneksbuild.1'} | ${false}
|
|
${'v1.11.7'} | ${'v1.11.7-noneksbuild.1'} | ${false}
|
|
${'v1-eksbuild.1'} | ${'artful'} | ${false}
|
|
${'v1.11.7.1-eksbuild.1'} | ${'v1.11.7-eksbuild.1'} | ${false}
|
|
`(
|
|
'isCompatible($version, $current) === $expected',
|
|
({ version, current, expected }) => {
|
|
const actual = aws.isCompatible(version, current);
|
|
expect(actual).toBe(expected);
|
|
},
|
|
);
|
|
});
|
|
|
|
describe('isGreaterThan(version1, version2)', () => {
|
|
it.each`
|
|
version | other | expected
|
|
${'v1.11.7-eksbuild.1'} | ${'v1.11.7-eksbuild.0'} | ${true}
|
|
${'v1.11.7-eksbuild.11'} | ${'v1.11.7-eksbuild.1'} | ${true}
|
|
${'v1.22.7-eksbuild.2'} | ${'v1.20.7-eksbuild.1'} | ${true}
|
|
${'v1.22.7-eksbuild.2'} | ${'v1.22.7'} | ${true}
|
|
${'v1.20.7-eksbuild.1'} | ${'v2.0.0'} | ${true}
|
|
${'v1.20.7-eksbuild.1'} | ${'v1.20.7-eksbuild.2'} | ${false}
|
|
${'v1.20.6-eksbuild.1'} | ${'v1.20.7-eksbuild.2'} | ${false}
|
|
${'v1.20.7-eksbuild.1'} | ${'v2.0.0-eksbuild.1'} | ${false}
|
|
`(
|
|
'isGreaterThan($version, $other) === $expected',
|
|
({ version, other, expected }) => {
|
|
const actual = aws.isGreaterThan(version, other);
|
|
expect(actual).toBe(expected);
|
|
},
|
|
);
|
|
});
|
|
|
|
it('getSatisfyingVersion', () => {
|
|
expect(
|
|
aws.getSatisfyingVersion(['v1.20.7-eksbuild.1'], 'v1.20.7-eksbuild.1'),
|
|
).toBe('v1.20.7-eksbuild.1');
|
|
expect(
|
|
aws.getSatisfyingVersion(
|
|
['v1.20.7-eksbuild.1', 'v1.20.7-eksbuild.2', 'v1.20.7-eksbuild.7'],
|
|
'v1.20.7-eksbuild.3',
|
|
),
|
|
).toBeNull();
|
|
expect(
|
|
aws.getSatisfyingVersion(
|
|
['v1.20.7-eksbuild.1', 'v1.20.7-eksbuild.2'],
|
|
'v1.20.7-eksbuild.3',
|
|
),
|
|
).toBeNull();
|
|
});
|
|
});
|