Skip to content
Snippets Groups Projects
Commit 34061cf5 authored by Rhys Arkins's avatar Rhys Arkins
Browse files

feat: go datasource getDigest

Closes #2603
parent c0e8e51b
No related merge requests found
......@@ -3,6 +3,7 @@ const github = require('./github');
module.exports = {
getPkgReleases,
getDigest,
};
async function getSourcePurl(name) {
......@@ -53,3 +54,13 @@ async function getPkgReleases(purl, config) {
}
return null;
}
async function getDigest(config) {
const githubPurl = await getSourcePurl(config.depName);
if (githubPurl) {
const githubRepo = githubPurl.fullname;
const digest = await github.getDigest({ ...config, githubRepo });
return digest;
}
return null;
}
const got = require('got');
const datasource = require('../../lib/datasource');
const github = require('../../lib/datasource/github');
const go = require('../../lib/datasource/go');
jest.mock('got');
jest.mock('../../lib/datasource/github');
......@@ -19,6 +20,24 @@ Nothing to see here; <a href="https://godoc.org/golang.org/x/text">move along</a
</html>`;
describe('datasource/go', () => {
describe('getPkgReleases', () => {
it('returns null for wrong name', async () => {
got.mockReturnValueOnce({
body: res1,
});
github.getDigest.mockReturnValueOnce('abcdefabcdefabcdefabcdef');
const res = await go.getDigest({ depName: 'golang.org/y/text' }, null);
expect(res).toBeNull();
});
it('returns digest', async () => {
got.mockReturnValueOnce({
body: res1,
});
github.getDigest.mockReturnValueOnce('abcdefabcdefabcdefabcdef');
const res = await go.getDigest({ depName: 'golang.org/x/text' }, null);
expect(res).toBe('abcdefabcdefabcdefabcdef');
});
});
describe('getPkgReleases', () => {
it('returns null for empty result', async () => {
got.mockReturnValueOnce(null);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment