Skip to content

Commit

Permalink
test: docker datasource refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
rarkins committed Jun 19, 2020
1 parent df1aa26 commit 460b0a8
Showing 1 changed file with 40 additions and 25 deletions.
65 changes: 40 additions & 25 deletions lib/datasource/docker/index.spec.ts
@@ -1,6 +1,6 @@
import AWS from 'aws-sdk';
import AWSMock from 'aws-sdk-mock';
import { getPkgReleases } from '..';
import { getDigest, getPkgReleases } from '..';
import * as httpMock from '../../../test/httpMock';
import { DATASOURCE_FAILURE } from '../../constants/error-messages';
import * as _hostRules from '../../util/host-rules';
Expand Down Expand Up @@ -50,8 +50,8 @@ describe('api/docker', () => {
.reply(200, '', {})
.get('/library/some-dep/manifests/some-new-value')
.reply(401);
const res = await docker.getDigest(
{ lookupName: 'some-dep' },
const res = await getDigest(
{ datasource: 'docker', depName: 'some-dep' },
'some-new-value'
);
expect(res).toBeNull();
Expand All @@ -64,8 +64,8 @@ describe('api/docker', () => {
.reply(200, { token: 'some-token' })
.get('/library/some-dep/manifests/some-new-value')
.replyWithError('error');
const res = await docker.getDigest(
{ lookupName: 'some-dep' },
const res = await getDigest(
{ datasource: 'docker', depName: 'some-dep' },
'some-new-value'
);
expect(res).toBeNull();
Expand All @@ -87,7 +87,10 @@ describe('api/docker', () => {
'/token?service=registry.docker.io&scope=repository:library/some-dep:pull'
)
.reply(200, { token: 'some-token' });
const res = await docker.getDigest({ lookupName: 'some-dep' });
const res = await getDigest({
datasource: 'docker',
depName: 'some-dep',
});
expect(res).toBe('some-digest');
expect(httpMock.getTrace()).toMatchSnapshot();
});
Expand Down Expand Up @@ -130,8 +133,8 @@ describe('api/docker', () => {
'/token?service=registry.docker.io&scope=repository:library/some-dep:pull'
)
.reply(200, { token: 'some-token' });
const res = await docker.getDigest(
{ lookupName: 'some-dep' },
const res = await getDigest(
{ datasource: 'docker', depName: 'some-dep' },
'some-new-value'
);
expect(res).toBe(
Expand All @@ -147,7 +150,10 @@ describe('api/docker', () => {
.get('/library/some-dep/manifests/latest')
.reply(200, '', { 'docker-content-digest': 'some-digest' });
hostRules.find.mockReturnValueOnce({ insecureRegistry: true });
const res = await docker.getDigest({ lookupName: 'some-dep' });
const res = await getDigest({
datasource: 'docker',
depName: 'some-dep',
});
expect(res).toBe('some-digest');
expect(httpMock.getTrace()).toMatchSnapshot();
});
Expand All @@ -162,8 +168,8 @@ describe('api/docker', () => {
.reply(200)
.get('/library/some-dep/manifests/some-tag')
.reply(200, '', { 'docker-content-digest': 'some-digest' });
const res = await docker.getDigest(
{ lookupName: 'some-dep' },
const res = await getDigest(
{ datasource: 'docker', depName: 'some-dep' },
'some-tag'
);
const trace = httpMock.getTrace();
Expand All @@ -182,8 +188,8 @@ describe('api/docker', () => {
})
.get('/')
.reply(403);
const res = await docker.getDigest(
{ lookupName: 'some-dep' },
const res = await getDigest(
{ datasource: 'docker', depName: 'some-dep' },
'some-tag'
);
expect(res).toBeNull();
Expand All @@ -210,8 +216,11 @@ describe('api/docker', () => {
});
}
);
const res = await docker.getDigest(
{ lookupName: '123456789.dkr.ecr.us-east-1.amazonaws.com/node' },
const res = await getDigest(
{
datasource: 'docker',
depName: '123456789.dkr.ecr.us-east-1.amazonaws.com/node',
},
'some-tag'
);
const trace = httpMock.getTrace();
Expand All @@ -237,8 +246,11 @@ describe('api/docker', () => {
callback(null, {});
}
);
const res = await docker.getDigest(
{ lookupName: '123456789.dkr.ecr.us-east-1.amazonaws.com/node' },
const res = await getDigest(
{
datasource: 'docker',
depName: '123456789.dkr.ecr.us-east-1.amazonaws.com/node',
},
'some-tag'
);
expect(res).toBeNull();
Expand All @@ -262,8 +274,11 @@ describe('api/docker', () => {
callback(Error('some error'), null);
}
);
const res = await docker.getDigest(
{ lookupName: '123456789.dkr.ecr.us-east-1.amazonaws.com/node' },
const res = await getDigest(
{
datasource: 'docker',
depName: '123456789.dkr.ecr.us-east-1.amazonaws.com/node',
},
'some-tag'
);
expect(res).toBeNull();
Expand All @@ -279,8 +294,8 @@ describe('api/docker', () => {
})
.get('/library/some-dep/manifests/some-new-value')
.reply(200, {}, { 'docker-content-digest': 'some-digest' });
const res = await docker.getDigest(
{ lookupName: 'some-dep' },
const res = await getDigest(
{ datasource: 'docker', depName: 'some-dep' },
'some-new-value'
);
expect(res).toBe('some-digest');
Expand All @@ -302,8 +317,8 @@ describe('api/docker', () => {
'/token?service=registry.docker.io&scope=repository:library/some-other-dep:pull'
)
.reply(200, { token: 'some-token' });
const res = await docker.getDigest(
{ lookupName: 'some-other-dep' },
const res = await getDigest(
{ datasource: 'docker', depName: 'some-other-dep' },
'8.0.0-alpine'
);
expect(res).toBe('some-digest');
Expand All @@ -312,13 +327,13 @@ describe('api/docker', () => {
it('should throw error for 429', async () => {
httpMock.scope(baseUrl).get('/').replyWithError({ statusCode: 429 });
await expect(
docker.getDigest({ lookupName: 'some-dep' }, 'latest')
getDigest({ datasource: 'docker', depName: 'some-dep' }, 'latest')
).rejects.toThrow(Error(DATASOURCE_FAILURE));
});
it('should throw error for 5xx', async () => {
httpMock.scope(baseUrl).get('/').replyWithError({ statusCode: 504 });
await expect(
docker.getDigest({ lookupName: 'some-dep' }, 'latest')
getDigest({ datasource: 'docker', depName: 'some-dep' }, 'latest')
).rejects.toThrow(Error(DATASOURCE_FAILURE));
});
});
Expand Down

0 comments on commit 460b0a8

Please sign in to comment.