diff options
Diffstat (limited to 'contrib/python/podman/test/test_images.py')
| -rw-r--r-- | contrib/python/podman/test/test_images.py | 174 | 
1 files changed, 0 insertions, 174 deletions
diff --git a/contrib/python/podman/test/test_images.py b/contrib/python/podman/test/test_images.py deleted file mode 100644 index af6d4741e..000000000 --- a/contrib/python/podman/test/test_images.py +++ /dev/null @@ -1,174 +0,0 @@ -import itertools -import os -import unittest -from collections import Counter -from datetime import datetime, timezone -from test.podman_testcase import PodmanTestCase - -import podman -from podman import FoldedString - - -class TestImages(PodmanTestCase): -    @classmethod -    def setUpClass(cls): -        super().setUpClass() - -    @classmethod -    def tearDownClass(cls): -        super().tearDownClass() - -    def setUp(self): -        self.tmpdir = os.environ['TMPDIR'] -        self.host = os.environ['PODMAN_HOST'] - -        self.pclient = podman.Client(self.host) -        self.images = self.loadCache() - -    def tearDown(self): -        pass - -    def loadCache(self): -        with podman.Client(self.host) as pclient: -            self.images = list(pclient.images.list()) - -        self.alpine_image = next( -            iter([ -                i for i in self.images -                if 'docker.io/library/alpine:latest' in i['repoTags'] -            ] or []), None) - -        return self.images - -    def test_list(self): -        actual = self.loadCache() -        self.assertGreaterEqual(len(actual), 2) -        self.assertIsNotNone(self.alpine_image) - -    @unittest.skip('TODO: missing buildah json file') -    def test_build(self): -        path = os.path.join(self.tmpdir, 'ctnr', 'Dockerfile') -        img, logs = self.pclient.images.build( -            dockerfile=[path], -            tags=['alpine-unittest'], -        ) -        self.assertIsNotNone(img) -        self.assertIn('localhost/alpine-unittest:latest', img.repoTags) -        self.assertLess( -            podman.datetime_parse(img.created), datetime.now(timezone.utc)) -        self.assertTrue(logs) - -    def test_create(self): -        img_details = self.alpine_image.inspect() - -        actual = self.alpine_image.container(command=['sleep',  '1h']) -        self.assertIsNotNone(actual) -        self.assertEqual(FoldedString(actual.status), 'configured') - -        ctnr = actual.start() -        self.assertEqual(FoldedString(ctnr.status), 'running') - -        ctnr_details = ctnr.inspect() -        for e in img_details.config['env']: -            self.assertIn(e, ctnr_details.config['env']) - -    def test_export(self): -        path = os.path.join(self.tmpdir, 'alpine_export.tar') -        target = 'oci-archive:{}:latest'.format(path) - -        actual = self.alpine_image.export(target, False) -        self.assertTrue(actual) -        self.assertTrue(os.path.isfile(path)) - -    def test_get(self): -        actual = self.pclient.images.get(self.alpine_image.id) -        self.assertEqual(actual, self.alpine_image) - -    def test_history(self): -        records = [] -        bucket = Counter() -        for record in self.alpine_image.history(): -            self.assertIn(record.id, (self.alpine_image.id, '<missing>')) -            bucket[record.id] += 1 -            records.append(record) - -        self.assertGreater(bucket[self.alpine_image.id], 0) -        self.assertEqual(sum(bucket.values()), len(records)) - -    def test_inspect(self): -        actual = self.alpine_image.inspect() -        self.assertEqual(actual.id, self.alpine_image.id) - -    def test_push(self): -        path = '{}/alpine_push'.format(self.tmpdir) -        target = 'dir:{}'.format(path) -        self.alpine_image.push(target, tlsverify=False) - -        self.assertTrue(os.path.isfile(os.path.join(path, 'manifest.json'))) -        self.assertTrue(os.path.isfile(os.path.join(path, 'version'))) - -    def test_tag(self): -        self.assertEqual(self.alpine_image.id, -                         self.alpine_image.tag('alpine:fubar')) -        self.loadCache() -        self.assertIn('localhost/alpine:fubar', self.alpine_image.repoTags) - -    def test_remove(self): -        before = self.loadCache() - -        # assertRaises doesn't follow the import name :( -        with self.assertRaises(podman.ErrorOccurred): -            self.alpine_image.remove() - -        actual = self.alpine_image.remove(force=True) -        self.assertEqual(self.alpine_image.id, actual) -        after = self.loadCache() - -        self.assertLess(len(after), len(before)) -        TestImages.setUpClass() -        self.loadCache() - -    def test_import_delete_unused(self): -        before = self.loadCache() -        # create unused image, so we have something to delete -        source = os.path.join(self.tmpdir, 'alpine_gold.tar') -        new_img = self.pclient.images.import_image( -            source, -            'alpine2:latest', -            'unittest.test_import', -        ) -        after = self.loadCache() - -        self.assertEqual(len(before) + 1, len(after)) -        self.assertIsNotNone( -            next(iter([i for i in after if new_img in i['id']] or []), None)) - -        actual = self.pclient.images.delete_unused() -        self.assertIn(new_img, actual) - -        after = self.loadCache() -        self.assertGreaterEqual(len(before), len(after)) - -        TestImages.setUpClass() -        self.loadCache() - -    def test_pull(self): -        before = self.loadCache() -        actual = self.pclient.images.pull('prom/busybox:latest') -        after = self.loadCache() - -        self.assertEqual(len(before) + 1, len(after)) -        self.assertIsNotNone( -            next(iter([i for i in after if actual in i['id']] or []), None)) - -    def test_search(self): -        actual = self.pclient.images.search('alpine', 25) -        names, length = itertools.tee(actual) - -        for img in names: -            self.assertIn('alpine', img.name) -        self.assertTrue(0 < len(list(length)) <= 25) - - -if __name__ == '__main__': -    unittest.main()  | 
