示例#1
0
 def test_get_layer_link_from_sha_basic(self):
     s = Scraper('local', 'data-copy')
     sha = 'sha256:abcd123'
     true_path = 'data-copy/docker/registry/v2/repositories/someimage/'\
                 '_layers/sha256/abcd123/link'
     self.assertEqual(s._get_layer_link_from_sha('someimage', sha),
                      true_path)
示例#2
0
    def test_get_signature_blob_paths(self, mock_storage):
        signatures_path = 'fakebucket/docker/registry/v2/repositories/' \
                          'someimage/_manifests/revisions/sha256/foo/' \
                          'signatures'
        blob_path = 'fakebucket/docker/registry/v2/blobs/sha256'
        expected = set(
                [os.path.join(blob_path, p) for p in ['bar/link', 'baz/link']]
                )
        expected.add(signatures_path)

        mock_storage.walk_files.return_value = list(expected)

        s = Scraper('s3', 'fakebucket')
        rv = s._get_signature_blob_paths('sha256:foo', 'someimage')

        self.assertEqual(rv, expected)
        self.assertEqual(rv, set())
示例#3
0
    def test_get_layers_basic(self):
        image = 'someimage'
        manifest = {
            'fsLayers': [
                {'blobSum': 'sha256:foo'},
                {'blobSum': 'sha256:foo'},
                {'blobSum': 'sha256:bar'}
                ]
            }

        true_paths = set([
            'data-copy/docker/registry/v2/blobs/sha256/fo/foo/data',
            'data-copy/docker/registry/v2/blobs/sha256/ba/bar/data',
            'data-copy/docker/registry/v2/repositories/someimage/'
            '_layers/sha256/foo/link',
            'data-copy/docker/registry/v2/repositories/someimage/'
            '_layers/sha256/bar/link'
            ])
        s = Scraper('local', 'data-copy')
        layer_paths = s._get_layers(image, manifest)

        self.assertEqual(layer_paths, true_paths)
示例#4
0
 def test_get_blob_path_from_sha_basic(self):
     s = Scraper('local', 'data-copy')
     sha = 'sha256:abcd123'
     true_path = 'data-copy/docker/registry/v2/blobs/sha256/ab/abcd123/data'
     self.assertEqual(s._get_blob_path_from_sha(sha), true_path)