import { getPkgReleases } from '../index.ts'; import { GithubRunnersDatasource } from './index.ts'; describe('modules/datasource/github-runners/index', () => { describe('getReleases', () => { it('returns releases for Ubuntu', async () => { const res = await getPkgReleases({ datasource: GithubRunnersDatasource.id, packageName: 'ubuntu', }); expect(res).toMatchObject({ releases: [ { version: '16.04', isDeprecated: true }, { version: '18.04', isDeprecated: true }, { version: '20.04', isDeprecated: true }, { version: '22.04-arm' }, { version: '22.04' }, { version: '24.04-arm' }, { version: '24.04' }, { version: '26.04-arm', isStable: false }, { version: '26.04', isStable: false }, ], sourceUrl: 'https://github.com/actions/runner-images', }); }); it('returns releases for macOS', async () => { const res = await getPkgReleases({ datasource: GithubRunnersDatasource.id, packageName: 'macos', }); expect(res).toMatchObject({ releases: [ { version: '10.15', isDeprecated: true }, { version: '11', isDeprecated: true }, { version: '12-large', isDeprecated: true }, { version: '12', isDeprecated: true }, { version: '13-xlarge', isDeprecated: true }, { version: '13-large', isDeprecated: true }, { version: '13', isDeprecated: true }, { version: '14-xlarge' }, { version: '14-large' }, { version: '14' }, { version: '15-xlarge' }, { version: '15-large' }, { version: '15-intel' }, { version: '15' }, { version: '26-xlarge' }, { version: '26-intel' }, { version: '26' }, ], sourceUrl: 'https://github.com/actions/runner-images', }); }); it('returns releases for Windows', async () => { const res = await getPkgReleases({ datasource: GithubRunnersDatasource.id, packageName: 'windows', }); expect(res).toMatchObject({ releases: [ { version: '11-arm' }, { version: '2016', isDeprecated: true }, { version: '2019', isDeprecated: true }, { version: '2022' }, { version: '2025' }, ], sourceUrl: 'https://github.com/actions/runner-images', }); }); it('returns null if package is unknown', async () => { const res = await getPkgReleases({ datasource: GithubRunnersDatasource.id, packageName: 'unknown', }); expect(res).toBeNull(); }); }); });