Exemplo n.º 1
0
 def test_has_image_multiple(self):
     with patch("Atomic.util.image_by_name") as mockobj:
         mockobj.return_value = _multiple_images
         db = DockerBackend()
         db._get_images = MagicMock(return_value=d_images)
         db._inspect_image = MagicMock(return_value=None)
         self.assertRaises(ValueError, db.has_image, "registry.access.redhat.com/rhel7")
Exemplo n.º 2
0
 def test_has_image_multiple(self):
     with patch('Atomic.util.image_by_name') as mockobj:
         mockobj.return_value = _multiple_images
         db = DockerBackend()
         db._get_images = MagicMock(return_value=d_images)
         db._inspect_image = MagicMock(return_value=None)
         self.assertRaises(ValueError, db.has_image,
                           'registry.access.redhat.com/rhel7')
Exemplo n.º 3
0
 def test_has_image_by_inspect(self):
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=_rsyslog_image_inspect)
     img_object = db.has_image(
         'registry.access.redhat.com/rhel7/rsyslog:latest')
     self.assertEqual(
         img_object.id,
         '04f7e9543b939537000296e38c11d5d422653f74a6dd2a3905b931bb8f4c3265')
Exemplo n.º 4
0
 def test_has_image_by_name(self):
     with patch("Atomic.util.image_by_name") as mockobj:
         mockobj.return_value = _centos_name_search
         db = DockerBackend()
         db.inspect_image = MagicMock(return_value=None)
         db._inspect_image = MagicMock(return_value=_centos_inspect_image)
         img_obj = db.has_image("centos")
         self.assertEqual(img_obj.id, "0584b3d2cf6d235ee310cf14b54667d889887b838d3f3d3033acd70fc3c48b8a")
Exemplo n.º 5
0
 def test_image_not_installed(self):
     MockIO.reset_data()
     args = self.Args()
     args.storage = 'docker'
     args.image = 'registry.access.redhat.com/rhel7'
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=rhel_docker_inspect)
     local_image_object = db.inspect_image(args.image)
     self.assertFalse(util.InstallData.image_installed(local_image_object))
Exemplo n.º 6
0
 def test_image_not_installed(self):
     MockIO.reset_data()
     args = self.Args()
     args.storage = 'docker'
     args.image = 'registry.access.redhat.com/rhel7'
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=rhel_docker_inspect)
     local_image_object = db.inspect_image(args.image)
     self.assertFalse(util.InstallData.image_installed(local_image_object))
Exemplo n.º 7
0
 def test_image_installed_name(self):
     MockIO.reset_data()
     MockIO.grow_data('new_data_fq', 'docker.io/library/centos:latest')
     args = self.Args()
     args.storage = 'docker'
     args.image = 'docker.io/library/centos:latest'
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=local_centos_inspect)
     local_image_object = db.inspect_image(args.image)
     self.assertTrue(util.InstallData.image_installed(local_image_object))
Exemplo n.º 8
0
 def test_image_installed_id(self):
     MockIO.reset_data()
     MockIO.grow_data('new_data_fq', '16e9fdecc1febc87fb1ca09271009cf5f28eb8d4aec5515922ef298c145a6726')
     args = self.Args()
     args.storage = 'docker'
     args.image = 'docker.io/library/centos:latest'
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=local_centos_inspect)
     local_image_object = db.inspect_image(args.image)
     self.assertTrue(util.InstallData.image_installed(local_image_object))
Exemplo n.º 9
0
 def test_image_installed_id(self):
     MockIO.reset_data()
     MockIO.grow_data('new_data_fq', '16e9fdecc1febc87fb1ca09271009cf5f28eb8d4aec5515922ef298c145a6726')
     args = self.Args()
     args.storage = 'docker'
     args.image = 'docker.io/library/centos:latest'
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=local_centos_inspect)
     local_image_object = db.inspect_image(args.image)
     self.assertTrue(util.InstallData.image_installed(local_image_object))
Exemplo n.º 10
0
 def test_image_installed_name(self):
     MockIO.reset_data()
     MockIO.grow_data('new_data_fq', 'docker.io/library/centos:latest')
     args = self.Args()
     args.storage = 'docker'
     args.image = 'docker.io/library/centos:latest'
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=local_centos_inspect)
     local_image_object = db.inspect_image(args.image)
     self.assertTrue(util.InstallData.image_installed(local_image_object))
Exemplo n.º 11
0
 def test_container_obj_id(self):
     db = DockerBackend()
     db._inspect_container = MagicMock(
         return_value=_rsyslog_container_inspect)
     con_obj = db.inspect_container('3e014f35a7d0')
     self.assertEqual(
         con_obj.id,
         '3e014f35a7d0a22579cdad033edefd287fe01cac0e52dd68162e477fc150dc64')
     self.assertEqual(
         con_obj.image,
         '04f7e9543b939537000296e38c11d5d422653f74a6dd2a3905b931bb8f4c3265')
Exemplo n.º 12
0
 def test_docker_info(self):
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=_centos_inspect_image)
     img_obj = db.inspect_image('docker.io/library/centos:latest')
     info = Info()
     args = self.Args()
     args.storage = 'docker'
     info.set_args(args)
     info.beu.get_backend_and_image_obj = MagicMock(return_value=(db, img_obj))
     result = info.info()
     self.assertEqual(result, _docker_centos_result)
Exemplo n.º 13
0
 def test_docker_info(self):
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=_centos_inspect_image)
     img_obj = db.inspect_image('docker.io/library/centos:latest')
     info = Info()
     args = self.Args()
     args.storage = 'docker'
     info.set_args(args)
     info.beu.get_backend_and_image = MagicMock(return_value=(db, img_obj))
     result = info.info()
     self.assertEqual(result, _docker_centos_result)
Exemplo n.º 14
0
 def test_has_image_by_name(self):
     with patch('Atomic.util.image_by_name') as mockobj:
         mockobj.return_value = _centos_name_search
         db = DockerBackend()
         db.inspect_image = MagicMock(return_value=None)
         db._inspect_image = MagicMock(return_value=_centos_inspect_image)
         img_obj = db.has_image('centos')
         self.assertEqual(
             img_obj.id,
             '0584b3d2cf6d235ee310cf14b54667d889887b838d3f3d3033acd70fc3c48b8a'
         )
Exemplo n.º 15
0
 def test_version_json_docker(self):
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=_rhel_docker_inspect)
     img_obj = db.inspect_image('registry.access.redhat.com/rhel7')
     info = Info()
     info.get_layer_objects = MagicMock(return_value=img_obj.layers)
     args = self.Args()
     args.storage = 'docker'
     args.images = 'registry.access.redhat.com/rhel7'
     info.set_args(args)
     results = info.dbus_version()
     self.assertEqual(results, _rhel_version_json)
Exemplo n.º 16
0
 def test_images(self):
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=_docker_images)
     ob = OSTreeBackend()
     ob.syscontainers.get_system_images = MagicMock(return_value=_system_images)
     images = Images()
     args = self.Args()
     args.storage = 'docker'
     args.json = True
     images.set_args(args)
     return_value = images.display_all_image_info()
     self.assertEqual(return_value, 0)
Exemplo n.º 17
0
 def test_version_json_docker(self):
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=_rhel_docker_inspect)
     img_obj = db.inspect_image('registry.access.redhat.com/rhel7')
     info = Info()
     info.get_layer_objects = MagicMock(return_value=img_obj.layers)
     args = self.Args()
     args.storage = 'docker'
     args.images = 'registry.access.redhat.com/rhel7'
     info.set_args(args)
     results = info.dbus_version()
     self.assertEqual(results, _rhel_version_json)
Exemplo n.º 18
0
 def test_verify_docker_diff(self):
     with patch('Atomic.backendutils.BackendUtils.get_backend_and_image_obj') as mockobj:
         args = self.Args()
         args.storage = 'docker'
         args.image = 'docker.io/library/centos:centos7.0.1406'
         db = DockerBackend()
         db._inspect_image = MagicMock(return_value=local_centos_inspect_old)
         local_image_object = db.inspect_image(args.image)
         mockobj.return_value = (db, local_image_object)
         v = Verify()
         v.set_args(args)
         Image.remote_inspect = MagicMock(return_value=remote_centos_inspect_latest)
         self.assertNotEqual(v.verify_dbus(), docker_dbus_result)
Exemplo n.º 19
0
 def test_verify_docker_diff(self):
     with patch('Atomic.backendutils.BackendUtils.get_backend_and_image_obj') as mockobj:
         args = self.Args()
         args.storage = 'docker'
         args.image = 'docker.io/library/centos:centos7.0.1406'
         db = DockerBackend()
         db._inspect_image = MagicMock(return_value=local_centos_inspect_old)
         local_image_object = db.inspect_image(args.image)
         mockobj.return_value = (db, local_image_object)
         v = Verify()
         v.set_args(args)
         Image.remote_inspect = MagicMock(return_value=remote_centos_inspect_latest)
         self.assertNotEqual(v.verify_dbus(), docker_dbus_result)
Exemplo n.º 20
0
 def test_images(self):
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=_docker_images)
     ob = OSTreeBackend()
     ob.syscontainers.get_system_images = MagicMock(
         return_value=_system_images)
     images = Images()
     args = self.Args()
     args.storage = 'docker'
     args.json = True
     images.set_args(args)
     return_value = images.display_all_image_info()
     self.assertEqual(return_value, 0)
Exemplo n.º 21
0
 def test_pull_by_digest(self):
     image_name = "docker.io/busybox@sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912"
     db = DockerBackend()
     img_obj = db._make_remote_image(image_name)
     img_obj.remote_inspect = MagicMock(return_value=remote_inspect_info)
     img_obj.populate_remote_inspect_info()
     db.make_remote_image = MagicMock(return_value=img_obj)
     db.has_image = MagicMock(return_value=None)
     util.skopeo_inspect = MagicMock(return_value=remote_inspect_info)
     args = self.Args()
     args.image = image_name
     args.storage = 'docker'
     pull = Pull()
     pull.set_args(args)
     pull.be_utils.get_backend_from_string = MagicMock(return_value=db)
     util.skopeo_copy = MagicMock(return_value=None)
     pull.pull_image()
Exemplo n.º 22
0
 def test_pull_by_digest(self):
     image_name = "docker.io/busybox@sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912"
     db = DockerBackend()
     img_obj = db._make_remote_image(image_name)
     img_obj.remote_inspect = MagicMock(return_value=remote_inspect_info)
     img_obj.populate_remote_inspect_info()
     db.make_remote_image = MagicMock(return_value=img_obj)
     db.has_image = MagicMock(return_value=None)
     util.skopeo_inspect = MagicMock(return_value=remote_inspect_info)
     args = self.Args()
     args.image = image_name
     args.storage = 'docker'
     pull = Pull()
     pull.set_args(args)
     pull.be_utils.get_backend_from_string = MagicMock(return_value=db)
     util.skopeo_copy = MagicMock(return_value=None)
     pull.pull_image()
Exemplo n.º 23
0
 def run(self):
     storage_set = False if self.args.storage is None else True
     storage = _storage if not storage_set else self.args.storage
     be_utils = BackendUtils()
     if self.name:
         try:
             be, con_obj = be_utils.get_backend_and_container_obj(self.name)
             return be.run(con_obj, atomic=self, args=self.args)
         except ValueError:
             pass
     be = be_utils.get_backend_from_string(storage)
     db = DockerBackend()
     img_object = be.has_image(self.image)
     if img_object is None and storage == 'docker':
         self.display("Need to pull %s" % self.image)
         remote_image_obj = db.make_remote_image(self.args.image)
         # If the image has a atomic.type of system, then we need to land
         # this in the ostree backend.  Install it and then start it
         # because this is run
         if remote_image_obj.is_system_type and not storage_set:
             be = be_utils.get_backend_from_string('ostree')
             be_utils.message_backend_change('docker', 'ostree')
             be.install(self.image, self.name)
             con_obj = be.has_container(self.name)
             return be.run(con_obj)
         if self.args.display:
             return 0
         try:
             db.pull_image(self.image, remote_image_obj)
             img_object = db.has_image(self.image)
         except RegistryInspectError:
             raise ValueError("Unable to find image {}".format(self.image))
     if storage == 'ostree':
         if img_object is None:
             be.pull_image(self.args.image, None)
         # For system containers, the run method really needs a container obj
         con_obj = be.has_container(self.name)
         if con_obj is None:
             be.install(self.image, self.name)
         img_object = be.has_container(self.name)
     return be.run(img_object, atomic=self, args=self.args)
Exemplo n.º 24
0
 def run(self):
     storage_set = False if self.args.storage is None else True
     storage = _storage if not storage_set else self.args.storage
     be_utils = BackendUtils()
     if self.name:
         try:
             be, con_obj = be_utils.get_backend_and_container_obj(self.name)
             return be.run(con_obj, atomic=self, args=self.args)
         except ValueError:
             pass
     be = be_utils.get_backend_from_string(storage)
     db = DockerBackend()
     img_object = be.has_image(self.image)
     if img_object is None and storage == 'docker':
         self.display("Need to pull %s" % self.image)
         remote_image_obj = db.make_remote_image(self.args.image)
         # If the image has a atomic.type of system, then we need to land
         # this in the ostree backend.  Install it and then start it
         # because this is run
         if remote_image_obj.is_system_type and not storage_set:
             be = be_utils.get_backend_from_string('ostree')
             be_utils.message_backend_change('docker', 'ostree')
             be.install(self.image, self.name)
             con_obj = be.has_container(self.name)
             return be.run(con_obj)
         if self.args.display:
             return 0
         try:
             db.pull_image(self.image, remote_image_obj)
             img_object = db.has_image(self.image)
         except RegistryInspectError:
             raise ValueError("Unable to find image {}".format(self.image))
     return be.run(img_object, atomic=self, args=self.args)
Exemplo n.º 25
0
    def run(self):
        if self.name:
            be_utils = BackendUtils()
            try:
                be, con_obj = be_utils.get_backend_and_container_obj(self.name)
                return be.run(con_obj, atomic=self, args=self.args)
            except ValueError:
                pass

        db = DockerBackend()
        img_object = db.has_image(self.image)
        if img_object is None:
            self.display("Need to pull %s" % self.image)
            if self.args.display:
                return 0
            try:
                db.pull_image(self.image)
                img_object = db.has_image(self.image)
            except RegistryInspectError:
                raise ValueError("Unable to find image {}".format(self.image))

        db.run(img_object, atomic=self, args=self.args)
Exemplo n.º 26
0
    def run(self):
        if self.name:
            be_utils = BackendUtils()
            try:
                be, con_obj = be_utils.get_backend_and_container_obj(self.name)
                return be.run(con_obj, atomic=self, args=self.args)
            except ValueError:
                pass


        db = DockerBackend()
        img_object = db.has_image(self.image)
        if img_object is None:
            self.display("Need to pull %s" % self.image)
            if self.args.display:
                return 0
            try:
                db.pull_image(self.image)
                img_object = db.has_image(self.image)
            except RegistryInspectError:
                util.write_err("Unable to find image {}".format(self.image))

        db.run(img_object, atomic=self, args=self.args)
def run_scanner(image):
    run_object = run.Run()
    run_object.image = image
    return DockerBackend.check_args(run_object.get_label("RUN"))
Exemplo n.º 28
0
 def test_inspect_image(self):
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=_rsyslog_image_inspect)
     img_obj = db.inspect_image(
         'registry.access.redhat.com/rhel7/rsyslog:latest')
     self.assertIsNotNone(img_obj)
Exemplo n.º 29
0
 def test_get_images(self):
     db = DockerBackend()
     db.d.images = MagicMock(return_value=d_images)
     images = db.get_images()
     self.assertTrue(len(images) > 0)
Exemplo n.º 30
0
 def test_inspect_container(self):
     db = DockerBackend()
     db._inspect_container = MagicMock(
         return_value=_rsyslog_container_inspect)
     con_obj = db.inspect_container('3e014f35a7d0')
     self.assertIsNotNone(con_obj)
Exemplo n.º 31
0
 def test_long_version(self):
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=_rsyslog_image_inspect)
     img_obj = db.inspect_image(
         'registry.access.redhat.com/rhel7/rsyslog:latest')
     self.assertEqual(img_obj.long_version, "rhel7/rsyslog-7.3-8")
def run_scanner(image):
    run_object = run.Run()
    run_object.image = image
    return DockerBackend.check_args(run_object.get_label("RUN"))
Exemplo n.º 33
0
 def test_has_image_not_found(self):
     with patch('Atomic.util.image_by_name') as mockobj:
         mockobj.return_value = []
         db = DockerBackend()
         db._inspect_image = MagicMock(return_value=None)
         self.assertIsNone(db.has_image('foobar'))
Exemplo n.º 34
0
 def test_inspect_image(self):
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=_rsyslog_image_inspect)
     img_obj = db.inspect_image("registry.access.redhat.com/rhel7/rsyslog:latest")
     self.assertIsNotNone(img_obj)
Exemplo n.º 35
0
 def test_get_images(self):
     db = DockerBackend()
     db.d.images = MagicMock(return_value=d_images)
     images = db.get_images()
     self.assertTrue(len(images) > 0)
Exemplo n.º 36
0
 def test_long_version(self):
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=_rsyslog_image_inspect)
     img_obj = db.inspect_image("registry.access.redhat.com/rhel7/rsyslog:latest")
     self.assertEqual(img_obj.long_version, "rhel7/rsyslog-7.3-8")
Exemplo n.º 37
0
 def test_has_image_not_found(self):
     with patch("Atomic.util.image_by_name") as mockobj:
         mockobj.return_value = []
         db = DockerBackend()
         db._inspect_image = MagicMock(return_value=None)
         self.assertIsNone(db.has_image("foobar"))
Exemplo n.º 38
0
 def test_inspect_container(self):
     db = DockerBackend()
     db._inspect_container = MagicMock(return_value=_rsyslog_container_inspect)
     con_obj = db.inspect_container("3e014f35a7d0")
     self.assertIsNotNone(con_obj)
Exemplo n.º 39
0
 def test_has_image_by_inspect(self):
     db = DockerBackend()
     db._inspect_image = MagicMock(return_value=_rsyslog_image_inspect)
     img_object = db.has_image("registry.access.redhat.com/rhel7/rsyslog:latest")
     self.assertEqual(img_object.id, "04f7e9543b939537000296e38c11d5d422653f74a6dd2a3905b931bb8f4c3265")
Exemplo n.º 40
0
 def test_container_obj_id(self):
     db = DockerBackend()
     db._inspect_container = MagicMock(return_value=_rsyslog_container_inspect)
     con_obj = db.inspect_container("3e014f35a7d0")
     self.assertEqual(con_obj.id, "3e014f35a7d0a22579cdad033edefd287fe01cac0e52dd68162e477fc150dc64")
     self.assertEqual(con_obj.image, "04f7e9543b939537000296e38c11d5d422653f74a6dd2a3905b931bb8f4c3265")