Skip to content
Snippets Groups Projects
Select Git revision
  • 3e5a5889687e910c4a5160b2bf07590ec3e5271f
  • master default protected
  • docs/remove-link
  • v2.31.0
  • v2.30.0
  • v2.29.0
  • v2.28.0
  • v2.27.1
  • v2.27.0
  • v2.26.1
  • v2.26.0
  • v2.25.0
  • v2.24.1
  • v2.24.0
  • v2.23.1
  • v2.23.0
  • v2.22.4
  • v2.22.3
  • v2.22.2
  • v2.22.1
  • v2.22.0
  • v2.21.0
  • v2.20.2
23 results

commit_analyzer.proto

Blame
  • docker.spec.js 2.85 KiB
    const got = require('got');
    const docker = require('../../lib/datasource/docker');
    
    jest.mock('got');
    
    describe('api/docker', () => {
      describe('getDigest', () => {
        beforeEach(() => {
          jest.resetAllMocks();
        });
        it('returns null if no token', async () => {
          got.mockReturnValueOnce({ body: {} });
          const res = await docker.getDigest(
            { depName: 'some-dep' },
            'some-new-value'
          );
          expect(res).toBe(null);
        });
        it('returns null if errored', async () => {
          got.mockReturnValueOnce({ body: { token: 'some-token' } });
          const res = await docker.getDigest(
            { depName: 'some-dep' },
            'some-new-value'
          );
          expect(res).toBe(null);
        });
        it('returns digest', async () => {
          got.mockReturnValueOnce({ body: { token: 'some-token' } });
          got.mockReturnValueOnce({
            headers: { 'docker-content-digest': 'some-digest' },
          });
          const res = await docker.getDigest(
            { depName: 'some-dep' },
            'some-new-value'
          );
          expect(res).toBe('some-digest');
        });
        it('supports scoped names', async () => {
          got.mockReturnValueOnce({ body: { token: 'some-token' } });
          got.mockReturnValueOnce({
            headers: { 'docker-content-digest': 'some-digest' },
          });
          const res = await docker.getDigest(
            { depName: 'some-dep', tagSuffix: 'alpine' },
            '8.0.0'
          );
          expect(res).toBe('some-digest');
        });
      });
      describe('getDependency', () => {
        it('returns null if no token', async () => {
          got.mockReturnValueOnce({ body: {} });
          const res = await docker.getDependency({
            fullname: 'node',
            qualifiers: {},
          });
          expect(res).toBe(null);
        });
        it('returns tags with no suffix', async () => {
          const tags = ['a', 'b', '1.0.0', '1.1.0', '1.1.0-alpine'];
          got.mockReturnValueOnce({ headers: {}, body: { token: 'some-token ' } });
          got.mockReturnValueOnce({ headers: {}, body: { tags } });
          const res = await docker.getDependency({
            fullname: 'my/node',
            qualifiers: {},
          });
          expect(res).toMatchSnapshot();
          expect(res.releases).toHaveLength(3);
        });
        it('returns tags with suffix', async () => {
          const tags = ['a', 'b', '1.0.0', '1.1.0-alpine'];
          got.mockReturnValueOnce({ headers: {}, body: { token: 'some-token ' } });
          got.mockReturnValueOnce({ headers: {}, body: { tags } });
          const res = await docker.getDependency({
            fullname: 'my/node',
            qualifiers: { suffix: 'alpine' },
          });
          expect(res).toMatchSnapshot();
          expect(res.releases).toHaveLength(1);
        });
        it('returns null on error', async () => {
          got.mockReturnValueOnce({});
          const res = await docker.getDependency({
            fullname: 'my/node',
            qualifiers: {},
          });
          expect(res).toBe(null);
        });
      });
    });