diff --git a/lib/workers/repository/process/lookup/index.spec.ts b/lib/workers/repository/process/lookup/index.spec.ts index d815c166a181f773e7d7f7367cebf6b78456c336..7bef29d6a80de6d2295ebde02e1dff94126cf93d 100644 --- a/lib/workers/repository/process/lookup/index.spec.ts +++ b/lib/workers/repository/process/lookup/index.spec.ts @@ -11,6 +11,7 @@ import { GithubTagsDatasource } from '../../../../modules/datasource/github-tags import { NpmDatasource } from '../../../../modules/datasource/npm'; import { PackagistDatasource } from '../../../../modules/datasource/packagist'; import { PypiDatasource } from '../../../../modules/datasource/pypi'; +import { id as composerVersioningId } from '../../../../modules/versioning/composer'; import { id as debianVersioningId } from '../../../../modules/versioning/debian'; import { id as dockerVersioningId } from '../../../../modules/versioning/docker'; import { id as gitVersioningId } from '../../../../modules/versioning/git'; @@ -1848,6 +1849,27 @@ describe('workers/repository/process/lookup/index', () => { }); }); + it('handles no fitting version and no version in lock file', async () => { + config.currentValue = '~9.5.0'; + config.packageName = 'typo3/cms-saltedpasswords'; + config.datasource = DockerDatasource.id; + config.versioning = composerVersioningId; + getDockerReleases.mockResolvedValueOnce({ + releases: [ + { + version: '8.0.0', + }, + { + version: '8.1.0', + }, + ], + }); + const res = await lookup.lookupUpdates(config); + expect(res).toMatchObject({ + skipReason: 'invalid-value', + }); + }); + it('handles digest pin for non-version', async () => { config.currentValue = 'alpine'; config.packageName = 'node'; diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts index 8cc98a26c3192beb79ddbba854485e4d4c1309a0..90d68a1e8e6b43587367c6108adaf16bdf7946d2 100644 --- a/lib/workers/repository/process/lookup/index.ts +++ b/lib/workers/repository/process/lookup/index.ts @@ -257,8 +257,11 @@ export async function lookupUpdates( latestVersion!, allVersions.map((v) => v.version), )!; - // istanbul ignore if - if (!currentVersion! && config.lockedVersion) { + + if (!currentVersion) { + if (!config.lockedVersion) { + res.skipReason = 'invalid-value'; + } return res; }