mirror of
https://github.com/renovatebot/renovate.git
synced 2026-11-01 18:19:51 +00:00
54407b683d
* fix(datasource/puppet-forge): filter out deleted forge releases so that they don't count as updates anymore Signed-off-by: Robert Waffen <rw@betadots.de> * Update lib/modules/datasource/puppet-forge/schema.ts Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com> * Update lib/modules/datasource/puppet-forge/schema.ts Co-authored-by: Michael Kriese <michael.kriese@gmx.de> * fix: add missing import for isTruthy Signed-off-by: Robert Waffen <rw@betadots.de> Co-authored-by: ChatGPT Codex <codex@openai.com> * fix: uses Nullish zod helper Signed-off-by: Robert Waffen <rw@betadots.de> Co-authored-by: ChatGPT Codex <codex@openai.com> --------- Signed-off-by: Robert Waffen <rw@betadots.de> Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com> Co-authored-by: Michael Kriese <michael.kriese@gmx.de> Co-authored-by: ChatGPT Codex <codex@openai.com>
65 lines
2.2 KiB
TypeScript
65 lines
2.2 KiB
TypeScript
import { PuppetModule, PuppetReleaseAbbreviated } from './schema.ts';
|
|
|
|
describe('modules/datasource/puppet-forge/schema', () => {
|
|
describe('PuppetReleaseAbbreviatedSchema', () => {
|
|
it('maps file_uri and created_at when present', () => {
|
|
const result = PuppetReleaseAbbreviated.parse({
|
|
version: '1.0.0',
|
|
created_at: '2021-10-11 07:47:24 -0700',
|
|
file_uri: '/v3/files/puppetlabs-apache-1.0.0.tar.gz',
|
|
});
|
|
expect(result).toEqual({
|
|
version: '1.0.0',
|
|
downloadUrl: '/v3/files/puppetlabs-apache-1.0.0.tar.gz',
|
|
releaseTimestamp: '2021-10-11T14:47:24.000Z',
|
|
});
|
|
});
|
|
|
|
it('omits download and timestamp when file_uri and created_at are null', () => {
|
|
const result = PuppetReleaseAbbreviated.parse({
|
|
version: '1.0.0',
|
|
created_at: null,
|
|
deleted_at: null,
|
|
file_uri: null,
|
|
});
|
|
expect(result).toEqual({ version: '1.0.0' });
|
|
});
|
|
|
|
it('returns null for deleted releases', () => {
|
|
const result = PuppetReleaseAbbreviated.parse({
|
|
version: '1.0.0',
|
|
created_at: '2021-10-11 07:47:24 -0700',
|
|
deleted_at: '2021-10-12 07:47:24 -0700',
|
|
file_uri: '/v3/files/puppetlabs-apache-1.0.0.tar.gz',
|
|
});
|
|
expect(result).toBeNull();
|
|
});
|
|
});
|
|
|
|
describe('PuppetModuleSchema', () => {
|
|
it('maps homepage and deprecation message when present', () => {
|
|
const result = PuppetModule.parse({
|
|
releases: [
|
|
{ version: '2.0.0', deleted_at: '2021-10-12 07:47:24 -0700' },
|
|
{ version: '1.0.0', deleted_at: null },
|
|
],
|
|
homepage_url: 'https://github.com/puppetlabs/puppetlabs-apache',
|
|
deprecated_for: 'use another module ...',
|
|
});
|
|
expect(result).toEqual({
|
|
releases: [{ version: '1.0.0' }],
|
|
homepage: 'https://github.com/puppetlabs/puppetlabs-apache',
|
|
deprecationMessage: 'use another module ...',
|
|
});
|
|
});
|
|
|
|
it('omits homepage and deprecation message when null and defaults releases', () => {
|
|
const result = PuppetModule.parse({
|
|
homepage_url: null,
|
|
deprecated_for: null,
|
|
});
|
|
expect(result).toEqual({ releases: [] });
|
|
});
|
|
});
|
|
});
|