Esempio n. 1
0
    def test_build_image_appliance(self):
        """Test _build_image function build appliance"""

        self.task_opts = Options(APPLIANCE_OPTIONS)
        self.task_opts.ksurl = 'http://somewhere.org'

        expected = "Created task: %d" % self.task_id + "\n"
        expected += "Task info: %s/taskinfo?taskID=%s" % (self.weburl, self.task_id) + "\n"

        args = [self.options, self.task_opts, self.session,
                self.arguments, 'appliance']
        with mock.patch('sys.stdout', new_callable=six.StringIO) as stdout:
            _build_image(*args)
        self.assert_console_message(stdout, expected)
        self.session.buildImage.assert_called_once()
        self.watch_tasks.assert_called_once()
Esempio n. 2
0
    def test_build_image_livemedia_without_ksurl(self):
        """Test _build_image function build livemedia without ksurl"""

        self.task_opts = Options(LIVEMEDIA_OPTIONS)
        self.task_opts.optional_arches = 'ppc, arm64'

        expected = "\n"
        expected += "Created task: %d" % self.task_id + "\n"
        expected += "Task info: %s/taskinfo?taskID=%s" % (self.weburl,
                                                          self.task_id) + "\n"

        # set return value for check
        self.watch_tasks.return_value = self.task_id

        args = [
            self.options, self.task_opts, self.session, self.arguments,
            'livemedia'
        ]
        with mock.patch('sys.stdout', new_callable=six.StringIO) as stdout:
            self.assertEqual(self.task_id, _build_image(*args))
        args, kwargs = self.session.buildImage.call_args
        self.assert_console_message(stdout, expected)
        self.session.buildImage.assert_called_once()
        self.watch_tasks.assert_called_once()
        opts = kwargs['opts']
        self.assertIn('optional_arches', opts)
        self.assertEqual(self.task_opts.optional_arches.split(','),
                         opts['optional_arches'])
    def test_build_image_livemedia_without_ksurl(self):
        """Test _build_image function build livemedia without ksurl"""

        self.task_opts = Options(LIVEMEDIA_OPTIONS)
        self.task_opts.optional_arches = 'ppc, arm64'

        expected = "\n"
        expected += "Created task: %d" % self.task_id + "\n"
        expected += "Task info: %s/taskinfo?taskID=%s" % (self.weburl, self.task_id) + "\n"

        # set return value for check
        self.watch_tasks.return_value = self.task_id

        args = [self.options, self.task_opts, self.session,
                self.arguments, 'livemedia']
        with mock.patch('sys.stdout', new_callable=six.StringIO) as stdout:
            self.assertEqual(self.task_id, _build_image(*args))
        args, kwargs = self.session.buildImage.call_args
        self.assert_console_message(stdout, expected)
        self.session.buildImage.assert_called_once()
        self.watch_tasks.assert_called_once()
        opts = kwargs['opts']
        self.assertIn('optional_arches', opts)
        self.assertEqual(
            self.task_opts.optional_arches.split(','), opts['optional_arches'])
    def test_build_image_appliance(self):
        """Test _build_image function build appliance"""

        self.task_opts = Options(APPLIANCE_OPTIONS)
        self.task_opts.ksurl = 'http://somewhere.org'

        expected = "Created task: %d" % self.task_id + "\n"
        expected += "Task info: %s/taskinfo?taskID=%s" % (self.weburl, self.task_id) + "\n"

        args = [self.options, self.task_opts, self.session,
                self.arguments, 'appliance']
        with mock.patch('sys.stdout', new_callable=six.StringIO) as stdout:
            _build_image(*args)
        self.assert_console_message(stdout, expected)
        self.session.buildImage.assert_called_once()
        self.watch_tasks.assert_called_once()
Esempio n. 5
0
    def test_build_image_livemedia_no_progress(self):
        """Test _build_image function build livemedia with noprogress option"""
        self.task_opts = Options(LIVEMEDIA_OPTIONS)
        self.task_opts.noprogress = True
        self.task_opts.wait = False

        expected = "\n"
        expected += "Created task: %d" % self.task_id + "\n"
        expected += "Task info: %s/taskinfo?taskID=%s" % (self.weburl, self.task_id) + "\n"

        args = [self.options, self.task_opts, self.session,
                self.arguments, 'livemedia']
        with mock.patch('sys.stdout', new_callable=six.StringIO) as stdout:
            self.assertEqual(None, _build_image(*args))
        args, kwargs = self.session.buildImage.call_args
        self.assert_console_message(stdout, expected)
        self.session.buildImage.assert_called_once()
        self.session.logout.assert_not_called()
        self.watch_tasks.assert_not_called()
    def test_build_image_livemedia_no_progress(self):
        """Test _build_image function build livemedia with noprogress option"""
        self.task_opts = Options(LIVEMEDIA_OPTIONS)
        self.task_opts.noprogress = True
        self.task_opts.wait = False

        expected = "\n"
        expected += "Created task: %d" % self.task_id + "\n"
        expected += "Task info: %s/taskinfo?taskID=%s" % (self.weburl, self.task_id) + "\n"

        args = [self.options, self.task_opts, self.session,
                self.arguments, 'livemedia']
        with mock.patch('sys.stdout', new_callable=six.StringIO) as stdout:
            self.assertEqual(None, _build_image(*args))
        args, kwargs = self.session.buildImage.call_args
        self.assert_console_message(stdout, expected)
        self.session.buildImage.assert_called_once()
        self.session.logout.assert_not_called()
        self.watch_tasks.assert_not_called()
Esempio n. 7
0
    def test_build_image_expections(self):
        """Test _build_image all exceptions"""

        self.task_opts = Options(LIVEMEDIA_OPTIONS)

        # Case 1. sanity check for image type
        img_type = 'unknown_type'
        expected = 'Unrecognized image type: %s' % img_type
        args = [
            self.options, self.task_opts, self.session, self.arguments,
            img_type
        ]
        with self.assertRaises(koji.GenericError) as cm:
            _build_image(*args)
        self.assertEqual(str(cm.exception), expected)
        self.activate_session.assert_not_called()

        img_type = 'livemedia'

        # Case 2. target not found error
        self.activate_session.reset_mock()
        self.session.getBuildTarget.return_value = {}
        expected = "Unknown build target: %s" % self.arguments[2]
        args[-1] = img_type
        with self.assertRaises(koji.GenericError) as cm:
            _build_image(*args)
        self.assertEqual(str(cm.exception), expected)
        self.activate_session.assert_called_with(self.session, self.options)

        # Case 3. tag not found error
        self.activate_session.reset_mock()
        self.session.getBuildTarget.return_value = self.build_target
        self.session.getTag.return_value = {}
        expected = "Unknown destination tag: %s" % self.build_target[
            'dest_tag_name']
        args[-1] = img_type
        with self.assertRaises(koji.GenericError) as cm:
            _build_image(*args)
        self.assertEqual(str(cm.exception), expected)
        self.activate_session.assert_called_with(self.session, self.options)
    def test_build_image_expections(self):
        """Test _build_image all exceptions"""

        self.task_opts = Options(LIVEMEDIA_OPTIONS)

        # Case 1. sanity check for image type
        img_type = 'unknown_type'
        expected = 'Unrecognized image type: %s' % img_type
        args = [self.options, self.task_opts, self.session,
                self.arguments, img_type]
        with self.assertRaises(koji.GenericError) as cm:
            _build_image(*args)
        self.assertEqual(str(cm.exception), expected)
        self.activate_session.assert_not_called()

        img_type = 'livemedia'

        # Case 2. target not found error
        self.activate_session.reset_mock()
        self.session.getBuildTarget.return_value = {}
        expected = "Unknown build target: %s" % self.arguments[2]
        args[-1] = img_type
        with self.assertRaises(koji.GenericError) as cm:
            _build_image(*args)
        self.assertEqual(str(cm.exception), expected)
        self.activate_session.assert_called_with(self.session, self.options)

        # Case 3. tag not found error
        self.activate_session.reset_mock()
        self.session.getBuildTarget.return_value = self.build_target
        self.session.getTag.return_value = {}
        expected = "Unknown destination tag: %s" % self.build_target['dest_tag_name']
        args[-1] = img_type
        with self.assertRaises(koji.GenericError) as cm:
            _build_image(*args)
        self.assertEqual(str(cm.exception), expected)
        self.activate_session.assert_called_with(self.session, self.options)