Example #1
0
def get_test_reviews_window():
    appdetails_mock = Mock()
    appdetails_mock.version = "2.0"

    parent = Mock()
    parent.app_details = appdetails_mock

    review_data = Mock()
    review_data.app_name = "app"
    review_data.usefulness_favorable = 10
    review_data.usefulness_total = 12
    review_data.usefulness_submit_error = False
    review_data.reviewer_username = "******"
    review_data.reviewer_displayname = "displayname"
    review_data.date_created = "2011-01-01 18:00:00"
    review_data.summary = "summary"
    review_data.review_text = 10 * "loonng text"
    review_data.rating = "3.0"
    review_data.version = "1.0"

    # create reviewslist
    vb = reviews.UIReviewsList(parent)
    vb.add_review(review_data)
    vb.configure_reviews_ui()

    win = get_test_window(child=vb)
    return win
Example #2
0
def get_test_reviews_window():
    from mock import Mock

    appdetails_mock = Mock()
    appdetails_mock.version = "2.0"

    parent = Mock()
    parent.app_details = appdetails_mock

    review_data = Mock()
    review_data.app_name = "app"
    review_data.usefulness_favorable = 10
    review_data.usefulness_total = 12
    review_data.usefulness_submit_error = False
    review_data.reviewer_username = "******"
    review_data.reviewer_displayname = "displayname"
    review_data.date_created = "2011-01-01 18:00:00"
    review_data.summary = "summary"
    review_data.review_text = 10 * "loonng text"
    review_data.rating = "3.0"
    review_data.version = "1.0"

    # create reviewslist
    vb = UIReviewsList(parent)
    vb.add_review(review_data)
    vb.configure_reviews_ui()

    win = Gtk.Window()
    win.set_size_request(200, 200)
    win.add(vb)
    win.connect('destroy', Gtk.main_quit)
    win.show_all()
    return win
Example #3
0
def get_test_reviews_window():
    from mock import Mock

    appdetails_mock = Mock()
    appdetails_mock.version = "2.0"

    parent = Mock()
    parent.app_details = appdetails_mock

    review_data = Mock()
    review_data.app_name = "app"
    review_data.usefulness_favorable = 10
    review_data.usefulness_total = 12
    review_data.usefulness_submit_error = False
    review_data.reviewer_username = "******"
    review_data.reviewer_displayname = "displayname"
    review_data.date_created = "2011-01-01 18:00:00"
    review_data.summary = "summary"
    review_data.review_text = 10 * "loonng text"
    review_data.rating = "3.0"
    review_data.version = "1.0"

    # create reviewslist
    vb = UIReviewsList(parent)
    vb.add_review(review_data)
    vb.configure_reviews_ui()

    win = Gtk.Window()
    win.set_size_request(200, 200)
    win.add(vb)
    win.connect('destroy', Gtk.main_quit)
    win.show_all()
    return win
Example #4
0
    def test_get_current_version(self):
        mock_client = Mock(spec=["version"])
        mock_client.version = '2.0-beta4-trusty-amd64'
        ver = get_current_version(mock_client)
        self.assertEqual(ver, '2.0-beta4')

        mock_client.version = '1.25.4-trusty-amd64'
        ver = get_current_version(mock_client)
        self.assertEqual(ver, '1.25.4')
    def test_get_current_version(self):
        mock_client = Mock(spec=["version"])
        mock_client.version = '2.0-beta4-trusty-amd64'
        ver = get_current_version(mock_client)
        self.assertEqual(ver, '2.0-beta4')

        mock_client.version = '1.25.4-trusty-amd64'
        ver = get_current_version(mock_client)
        self.assertEqual(ver, '1.25.4')
Example #6
0
    def check_get_version(self):
        """Check default and override behavior of get_version"""
        node = None
        assert get_version(node) == DEV_BRANCH

        node = Mock()
        node.version = None
        assert get_version(node) == DEV_BRANCH

        node = Mock()
        node.version = V_0_8_2_2
        assert get_version(node) == V_0_8_2_2
Example #7
0
    def build_mac_mocks(self):

        mac1 = Mock()
        mac1.vendor = "Wirecloud"
        mac1.short_name = "mac1"
        mac1.version = "1.0"
        mac1.template_uri = "Wirecloud_mac1_1.0.wgt"

        mac2 = Mock()
        mac2.vendor = "Wirecloud"
        mac2.short_name = "mac2"
        mac2.version = "1.0"
        mac2.template_uri = "Wirecloud_mac2_1.0.wgt"

        return mac1, mac2
Example #8
0
    def build_mac_mocks(self):

        mac1 = Mock()
        mac1.vendor = "Wirecloud"
        mac1.short_name = "mac1"
        mac1.version = "1.0"
        mac1.template_uri = "Wirecloud_mac1_1.0.wgt"

        mac2 = Mock()
        mac2.vendor = "Wirecloud"
        mac2.short_name = "mac2"
        mac2.version = "1.0"
        mac2.template_uri = "Wirecloud_mac2_1.0.wgt"

        return mac1, mac2
Example #9
0
 def test_requirement_pinned(self):
     req = Mock()
     req.key = "django"
     req.is_pinned = True
     req.latest_version_within_specs = "1.10"
     req.version = "1.0"
     self.assertEqual(SequentialUpdate.get_branch(req), "pyup-update-django-1.0-to-1.10")
Example #10
0
    def test_all_duplicate_reviews_keeps_going(self, mock_get_reviews):
        """AppDetailsView._reviews_ready_callback will fetch another page if
           all data returned was already displayed in the reviews list.
        """
        # Fixme: Do we have a test factory?
        review = Mock()
        review.rating = 3
        review.date_created = "2011-01-01 18:00:00"
        review.version = "1.0"
        review.summary = 'some summary'
        review.review_text = 'Some text'
        review.reviewer_username = "******"
        review.reviewer_displayname = "displayname"

        reviews = [review]
        self.view.reviews.reviews = reviews
        self.view._do_load_reviews()

        self.assertEqual(1, mock_get_reviews.call_count)
        kwargs = mock_get_reviews.call_args[1]
        self.assertEqual(False, kwargs['relaxed'])
        self.assertEqual(1, kwargs['page'])

        # Now we come back with no NEW data
        application, callback = mock_get_reviews.call_args[0]
        callback(application, reviews)

        self.assertEqual(2, mock_get_reviews.call_count)
        kwargs = mock_get_reviews.call_args[1]
        self.assertEqual(False, kwargs['relaxed'])
        self.assertEqual(2, kwargs['page'])
Example #11
0
    def test_all_duplicate_reviews_keeps_going(self, mock_get_reviews):
        """AppDetailsView._reviews_ready_callback will fetch another page if
           all data returned was already displayed in the reviews list.
        """
        # Fixme: Do we have a test factory?
        review = Mock()
        review.rating = 3
        review.date_created = "2011-01-01 18:00:00"
        review.version = "1.0"
        review.summary = 'some summary'
        review.review_text = 'Some text'
        review.reviewer_username = "******"
        review.reviewer_displayname = "displayname"

        reviews = [review]
        self.view.reviews.reviews = reviews
        self.view._do_load_reviews()

        self.assertEqual(1, mock_get_reviews.call_count)
        kwargs = mock_get_reviews.call_args[1]
        self.assertEqual(False, kwargs['relaxed'])
        self.assertEqual(1, kwargs['page'])

        # Now we come back with no NEW data
        application = mock_get_reviews.call_args[0][0]
        self.view.review_loader.emit("get-reviews-finished", application,
                                     reviews)

        self.assertEqual(2, mock_get_reviews.call_count)
        kwargs = mock_get_reviews.call_args[1]
        self.assertEqual(False, kwargs['relaxed'])
        self.assertEqual(2, kwargs['page'])
Example #12
0
    def test_get_version(self, mock_get_distribution):
        mock_distribution = Mock()
        mock_distribution.version = "1.2.3"
        mock_get_distribution.return_value = mock_distribution

        self.assertEquals(status_manager.get_version(),
                          {'platform_version': '1.2.3'})
Example #13
0
def default_args():
    args = Mock()
    args.conf_file = '.lamvery.yml'
    args.alias = 'foo'
    args.version = '1'
    args.json = '{"foo": "bar"}'
    return args
Example #14
0
 def test_Adds_niprov_version(self):
     with patch('niprov.adding.pkg_resources') as pkgres:
         dist = Mock()
         dist.version = '5.4.1'
         pkgres.get_distribution.return_value = dist
         image = self.add('p/afile.f')
     self.assertEqual(self.lastProvenance['version-added'], 5.41)
Example #15
0
    def test_get_boot_names(self, mock_warning, mock_Path_which, mock_Kernel):
        boot_names_type = namedtuple('boot_names_type',
                                     ['kernel_name', 'initrd_name'])
        mock_Path_which.return_value = 'dracut'
        kernel = Mock()
        kernel_info = Mock()
        kernel_info.name = 'kernel_name'
        kernel_info.version = 'kernel_version'
        kernel.get_kernel.return_value = kernel_info
        mock_Kernel.return_value = kernel

        with patch('builtins.open', create=True) as mock_open:
            mock_open.return_value = MagicMock(spec=io.IOBase)
            file_handle = mock_open.return_value.__enter__.return_value
            file_handle.read.return_value = 'outfile="/boot/initrd-$kernel"'
            assert self.boot_image.get_boot_names() == boot_names_type(
                kernel_name='kernel_name', initrd_name='initrd-kernel_version')

        with patch('builtins.open', create=True) as mock_open:
            mock_open.return_value = MagicMock(spec=io.IOBase)
            file_handle = mock_open.return_value.__enter__.return_value
            file_handle.read.return_value = 'outfile="foo"'
            assert self.boot_image.get_boot_names() == boot_names_type(
                kernel_name='kernel_name',
                initrd_name='initramfs-kernel_version.img')

        self.xml_state.get_initrd_system.return_value = 'kiwi'
        mock_Path_which.return_value = None
        assert self.boot_image.get_boot_names() == boot_names_type(
            kernel_name='kernel_name', initrd_name='initrd-kernel_version')
    def test_error(self, mock_bc, mock_cl):
        class FakeError(Exception):
            """Custom exception to validate error handling."""

        error = FakeError('An error during test')
        client = Mock(spec=['is_jes_enabled', 'version'])
        client.version = '2.0.0'
        with patch('deploy_stack.client_from_config',
                   return_value=client) as mock_c:
            with patch('assess_recovery.parse_new_state_server_from_error',
                       autospec=True,
                       return_value='a-host') as mock_pe:
                with patch('assess_recovery.assess_recovery',
                           autospec=True,
                           side_effect=error) as mock_assess:
                    with self.assertRaises(FakeError) as ctx:
                        main([
                            'an-env', '/juju', 'log_dir', 'tmp-env', '--ha',
                            '--verbose', '--charm-series', 'a-series'
                        ])
                    self.assertIs(ctx.exception, error)
        mock_cl.assert_called_once_with(logging.DEBUG)
        mock_c.assert_called_once_with('an-env',
                                       '/juju',
                                       debug=False,
                                       soft_deadline=None)
        mock_pe.assert_called_once_with(error)
        self.assertEqual(mock_bc.call_count, 1)
        self.assertEqual(mock_assess.call_count, 1)
        bs_manager, strategy, series = mock_assess.call_args[0]
        self.assertEqual((bs_manager.client, strategy, series),
                         (client, 'ha', 'a-series'))
        self.assertEqual(bs_manager.known_hosts['0'], 'a-host')
 def test_assess_multi_series_charms_juju1x(self):
     mock_client = Mock(
         spec=[
             "deploy", "get_juju_output", "wait_for_started", "is_juju1x"])
     mock_client.version = '1.25.5'
     mock_client.is_juju1x.return_value = True
     mock_client.get_juju_output.return_value = "Codename:	trusty"
     mock_client.deploy.return_value = None
     with temp_dir() as charm_dir:
         with patch('assess_multi_series_charms.temp_dir',
                    autospec=True) as td_mock:
             td_mock.return_value.__enter__.return_value = charm_dir
             with patch('assess_multi_series_charms.check_series',
                        autospec=True) as cs_mock:
                 assess_multi_series_charms(mock_client, 'angsty')
     self.assertEqual(mock_client.wait_for_started.call_count, 2)
     charm = os.path.join('local:trusty', 'dummy')
     calls = [
         call(charm=charm, force=False, repository=charm_dir,
              series=None, service='test1'),
         call(charm=charm, force=False, repository=charm_dir,
              series='trusty', service='test2')
     ]
     self.assertEqual(mock_client.deploy.mock_calls, calls)
     td_mock.assert_called_once_with()
     cs_calls = [
         call(mock_client, machine='0', series=None),
         call(mock_client, machine='1', series='trusty')]
     self.assertEqual(cs_mock.mock_calls, cs_calls)
Example #18
0
 def test_pinned_requirement(self):
     req = Mock()
     req.key = "django"
     req.is_pinned = True
     req.latest_version_within_specs = "1.10"
     req.version = "1.0"
     self.assertEqual(Update.get_commit_message(req), "Update django from 1.0 to 1.10")
def test_execution_script_init_method_attempts_to_load_correct_azure_ml_model(
        sklearn_model, model_path):
    mlflow.sklearn.save_model(sk_model=sklearn_model, path=model_path)

    model_name = "test_model_name"
    model_version = 1

    model_mock = Mock()
    model_mock.name = model_name
    model_mock.version = model_version

    with TempDir() as tmp:
        execution_script_path = tmp.path("dest")
        mlflow.azureml._create_execution_script(
                output_path=execution_script_path, azure_model=model_mock)

        with open(execution_script_path, "r") as f:
            execution_script = f.read()

    # Define the `init` and `score` methods contained in the execution script
    # pylint: disable=exec-used
    exec(execution_script, globals())
    with AzureMLMocks() as aml_mocks:
        aml_mocks["get_model_path"].side_effect = lambda *args, **kwargs: model_path
        # Execute the `init` method of the execution script.
        # pylint: disable=undefined-variable
        init()

        assert aml_mocks["get_model_path"].call_count == 1
        get_model_path_call_args = aml_mocks["get_model_path"].call_args_list
        assert len(get_model_path_call_args) == 1
        _, get_model_path_call_kwargs = get_model_path_call_args[0]
        assert get_model_path_call_kwargs["model_name"] == model_name
        assert get_model_path_call_kwargs["version"] == model_version
def test_execution_script_run_method_scores_pandas_dataframes_successfully(
        sklearn_model, model_path):
    mlflow.sklearn.save_model(sk_model=sklearn_model, path=model_path)

    model_mock = Mock()
    model_mock.name = "model_name"
    model_mock.version = 1

    with TempDir() as tmp:
        execution_script_path = tmp.path("dest")
        mlflow.azureml._create_execution_script(
                output_path=execution_script_path, azure_model=model_mock)

        with open(execution_script_path, "r") as f:
            execution_script = f.read()

    # Define the `init` and `score` methods contained in the execution script
    # pylint: disable=exec-used
    exec(execution_script, globals())
    with AzureMLMocks() as aml_mocks:
        aml_mocks["get_model_path"].side_effect = lambda *args, **kwargs: model_path
        # Execute the `init` method of the execution script and load the sklearn model from the
        # mocked path
        # pylint: disable=undefined-variable
        init()

        # Invoke the `run` method of the execution script with sample input data and verify that
        # reasonable output data is produced
        input_data = datasets.load_iris().data[:, :2]
        # pylint: disable=undefined-variable
        output_data = run(pd.DataFrame(data=input_data).to_json(orient="split"))
        assert len(output_data) == len(input_data)
Example #21
0
 def test_storage_2x_with_aws(self):
     mock_client = Mock(spec=["juju", "wait_for_started",
                              "create_storage_pool", "remove_service",
                              "list_storage_pool", "deploy",
                              "get_juju_output", "add_storage",
                              "list_storage", "is_juju1x"])
     mock_client.series = 'trusty'
     mock_client.version = '2.0'
     mock_client.is_juju1x.return_value = False
     mock_client.env = JujuData('foo', {'type': 'ec2'}, 'data')
     expected_pool = dict(AWS_DEFAULT_STORAGE_POOL_DETAILS)
     expected_pool.update(storage_pool_details)
     mock_client.list_storage_pool.side_effect = [
         json.dumps(expected_pool)
     ]
     mock_client.list_storage.side_effect = self.make_expected_list_storage(
         mock_client)
     assess_storage(mock_client, mock_client.series)
     self.assertEqual(
         [
             call('ebsy', 'ebs', '1G'),
             call('loopy', 'loop', '1G'),
             call('rooty', 'rootfs', '1G'),
             call('tempy', 'tmpfs', '1G')
         ],
         mock_client.create_storage_pool.mock_calls)
     self.assertEqual(
         [
             call('dummy-storage-lp/0', 'disks', '1')
         ],
         mock_client.add_storage.mock_calls
     )
Example #22
0
 def test_storage_2x(self):
     mock_client = Mock(spec=["juju", "wait_for_started",
                              "create_storage_pool", "remove_service",
                              "list_storage_pool", "deploy",
                              "get_juju_output", "add_storage",
                              "list_storage", "is_juju1x"])
     mock_client.series = 'trusty'
     mock_client.version = '2.0'
     mock_client.is_juju1x.return_value = False
     mock_client.env = Mock(config={'type': 'local'})
     mock_client.list_storage_pool.side_effect = [
         json.dumps(storage_pool_details)
     ]
     mock_client.list_storage.side_effect = self.make_expected_list_storage(
         mock_client)
     assess_storage(mock_client, mock_client.series)
     self.assertEqual(
         [
             call('ebsy', 'ebs', '1G'),
             call('loopy', 'loop', '1G'),
             call('rooty', 'rootfs', '1G'),
             call('tempy', 'tmpfs', '1G')
         ],
         mock_client.create_storage_pool.mock_calls)
     self.assertEqual(
         [
             call('dummy-storage-lp/0', 'disks', '1')
         ],
         mock_client.add_storage.mock_calls
     )
Example #23
0
def default_args():
    args = Mock()
    args.conf_file = '.lamvery.yml'
    args.alias = 'foo'
    args.version = '1'
    args.json = '{"foo": "bar"}'
    return args
Example #24
0
 def test_get_output(self):
     pack = Mock()
     pack.package_format = 2
     pack.name = 'foopack'
     pack.version = '0.1.2'
     pack.maintainers = ['m1', 'm2']
     pack.build_depends = ['bd1', 'bd2']
     pack.buildtool_depends = ['catkin']
     pack.build_export_depends = ['bed1', 'bed2']
     pack.buildtool_export_depends = ['bted1', 'bted2']
     pack.exec_depends = ['ed1', 'ed2']
     pack.run_depends = ['rd1', 'rd2']
     pack.test_depends = ['td1', 'td2']
     pack.doc_depends = ['dd1', 'dd2']
     pack.exports = []
     result = _get_output(pack)
     self.assertEqual(
         set([
             'set(_CATKIN_CURRENT_PACKAGE "foopack")',
             'set(foopack_MAINTAINER "m1, m2")',
             'set(foopack_PACKAGE_FORMAT "2")',
             'set(foopack_DEPRECATED "")',
             'set(foopack_VERSION "0.1.2")',
             'set(foopack_BUILD_DEPENDS "bd1" "bd2")',
             'set(foopack_BUILDTOOL_DEPENDS "catkin")',
             'set(foopack_BUILD_EXPORT_DEPENDS "bed1" "bed2")',
             'set(foopack_BUILDTOOL_EXPORT_DEPENDS "bted1" "bted2")',
             'set(foopack_EXEC_DEPENDS "ed1" "ed2")',
             'set(foopack_RUN_DEPENDS "rd1" "rd2")',
             'set(foopack_TEST_DEPENDS "td1" "td2")',
             'set(foopack_DOC_DEPENDS "dd1" "dd2")',
         ]),
         set(result))
Example #25
0
    def test_version(self, test_dist):
        obj = Mock()
        obj.version = "shellfoundry_version"
        test_dist.get_distribution = Mock(return_value=obj)
        result = self.runner.invoke(version)

        assert result.exit_code == 0
        assert result.output == "shellfoundry version shellfoundry_version\n"
Example #26
0
 def test_get_upgrade_version(self, m_get_package_version,
                                      m_gitbuilder_project):
     gb = Mock()
     gb.version = "11.0.0"
     gb.project = "ceph"
     m_gitbuilder_project.return_value = gb
     m_get_package_version.return_value = "11.0.0"
     install.get_upgrade_version(Mock(), Mock(), Mock())
Example #27
0
def default_args():
    args = Mock()
    args.conf_file = '.lamvery.yml'
    args.dry_run = True
    args.publish = True
    args.alias = None
    args.version = None
    return args
Example #28
0
 def test_get_upgrade_version(self, m_get_package_version,
                              m_gitbuilder_project):
     gb = Mock()
     gb.version = "11.0.0"
     gb.project = "ceph"
     m_gitbuilder_project.return_value = gb
     m_get_package_version.return_value = "11.0.0"
     install.get_upgrade_version(Mock(), Mock(), Mock())
Example #29
0
 def test_pinned_requirement(self):
     req = Mock()
     req.key = "django"
     req.is_pinned = True
     req.latest_version_within_specs = "1.10"
     req.version = "1.0"
     self.assertEqual(self.update.get_commit_message(req),
                      "1.0 is old, update django to 1.10.")
Example #30
0
 def test_verify_ceph_version_success(self, m_get_package_version,
                                      m_gitbuilder_project):
     gb = Mock()
     gb.version = "0.89.0"
     gb.project = "ceph"
     m_gitbuilder_project.return_value = gb
     m_get_package_version.return_value = "0.89.0"
     install.verify_package_version(Mock(), Mock(), Mock())
Example #31
0
 def test_requirement_pinned(self):
     req = Mock()
     req.key = "django"
     req.is_pinned = True
     req.latest_version_within_specs = "1.10"
     req.version = "1.0"
     self.assertEqual(SequentialUpdate.get_branch(req),
                      "update-django-1.0-to-1.10")
Example #32
0
    def test_addon_not_found(self):
        class MockVersion:
            @property
            def addon(self):
                raise ObjectDoesNotExist

        file = Mock()
        file.version = MockVersion()
        self.assertRaises(http.Http404, allowed, self.request, file)
Example #33
0
    def _gen_rest_client(self):
        instance_a = Mock()
        instance_a.id = 'a_id'
        instance_a.node_id = 'a_type'
        instance_a.runtime_properties = {
            'name': 'value',
            '_transaction': '1'
        }
        instance_b = Mock()
        instance_b.id = 'b_id'
        instance_b.node_id = 'b_type'
        instance_b.runtime_properties = {
            'name': 'other',
            '_transaction': '1'
        }
        instance_c = Mock()
        instance_c.id = 'c_id'
        instance_c.node_id = 'c_type'
        instance_c.runtime_properties = {
            'name': 'other',
            '_transaction': '-'
        }
        instance_d = Mock()
        instance_d.id = 'b_id'
        instance_d.node_id = 'c_type'
        instance_d.runtime_properties = {
            'name': 'other',
        }

        client = Mock()
        client.node_instances.list = Mock(return_value=[
            instance_a, instance_b, instance_c, instance_d])
        client.deployments.get = Mock(return_value={
            'groups': {
                'one_scale': {
                    'members': ['one', 'two']
                },
                'any': {
                    'members': ['one', 'two', "three"]
                },
                'alfa_types': {
                    'members': ['a_type', 'b_type']
                }
            }
        })

        # update instances
        target_node = Mock()
        target_node.id = 'target'
        target_node.version = 1
        target_node.state = 'deleted'
        target_node.runtime_properties = {'a': 'b', 'd': 'e'}

        client.node_instances.update = Mock()
        client.node_instances.get = Mock(return_value=target_node)

        return client
Example #34
0
    def test_no_update(self):
        cluster = Mock()
        cluster.version = None

        endpoint = 'test.lwgyhw.cfg.usw2.cache.amazonaws.com:11211'
        mc = MemcacheClient(endpoint)
        mc.cluster = cluster
        mc._update()
        assert not mc.need_update
    def test_addon_not_found(self):
        class MockVersion:
            @property
            def addon(self):
                raise ObjectDoesNotExist

        file = Mock()
        file.version = MockVersion()
        self.assertRaises(http.Http404, allowed, self.request, file)
Example #36
0
    def test_no_update(self):
        cluster = Mock()
        cluster.version = None

        endpoint = 'test.lwgyhw.cfg.usw2.cache.amazonaws.com:11211'
        mc = MemcacheClient(endpoint)
        mc.cluster = cluster
        mc._update()
        assert not mc.need_update
Example #37
0
 def test_create_initrd(
     self, mock_MountManager, mock_Profile, mock_prepared,
     mock_command, mock_kernel
 ):
     profile = Mock()
     profile.dot_profile = dict()
     mock_Profile.return_value = profile
     kernel = Mock()
     kernel_details = Mock()
     kernel_details.version = '1.2.3'
     kernel.get_kernel = Mock(return_value=kernel_details)
     mock_kernel.return_value = kernel
     self.boot_image.include_file('system-directory/etc/foo')
     self.boot_image.include_module('foo')
     self.boot_image.omit_module('bar')
     self.boot_image.create_initrd()
     profile.create.assert_called_once_with(
         'system-directory/.profile'
     )
     assert mock_MountManager.call_args_list == [
         call(device='/dev', mountpoint='system-directory/dev'),
         call(device='/proc', mountpoint='system-directory/proc')
     ]
     assert mock_command.call_args_list == [
         call([
             'chroot', 'system-directory',
             'dracut', '--verbose', '--no-hostonly',
             '--no-hostonly-cmdline', '--xz',
             '--add', ' foo ', '--omit', ' bar ',
             '--install', 'system-directory/etc/foo',
             'LimeJeOS.x86_64-1.13.2.initrd.xz', '1.2.3'
         ], stderr_to_stdout=True),
         call([
             'mv',
             'system-directory/'
             'LimeJeOS.x86_64-1.13.2.initrd.xz',
             'some-target-dir'
         ])
     ]
     mock_command.reset_mock()
     self.boot_image.create_initrd(basename='foo')
     assert mock_command.call_args_list == [
         call([
             'chroot', 'system-directory',
             'dracut', '--verbose', '--no-hostonly',
             '--no-hostonly-cmdline', '--xz',
             '--add', ' foo ', '--omit', ' bar ',
             '--install', 'system-directory/etc/foo',
             'foo.xz', '1.2.3'
         ], stderr_to_stdout=True),
         call([
             'mv',
             'system-directory/foo.xz',
             'some-target-dir'
         ])
     ]
Example #38
0
 def test_push_resource_attach(self):
     mock_client = Mock(
         spec=["attach", "wait_for_started", "list_resources",
               "wait_for_resource", "show_status"])
     mock_client.version = '2.0.0'
     mock_client.list_resources.return_value = make_resource_list()
     push_resource(mock_client, 'foo', '1234', 27, 1800, 1800, deploy=False)
     mock_client.attach.assert_called_once_with(
         'dummy-resource', resource='foo=dummy-resource/foo.txt')
     mock_client.wait_for_started.assert_called_once_with(timeout=1800)
Example #39
0
 def test_verify_ceph_version_failed(self, m_get_package_version,
                                     m_gitbuilder_project):
     gb = Mock()
     gb.version = "0.89.0"
     gb.project = "ceph"
     m_gitbuilder_project.return_value = gb
     m_get_package_version.return_value = "0.89.1"
     config = dict()
     with pytest.raises(RuntimeError):
         install.verify_package_version(Mock(), config, Mock())
Example #40
0
def make_file(pk, file_path, **kwargs):
    obj = Mock()
    obj.id = pk
    for k, v in kwargs.items():
        setattr(obj, k, v)
    obj.file_path = file_path
    obj.__str__ = lambda x: x.pk
    obj.version = Mock()
    obj.version.version = 1
    return obj
Example #41
0
def make_file(pk, file_path, **kwargs):
    obj = Mock()
    obj.id = pk
    for k, v in kwargs.items():
        setattr(obj, k, v)
    obj.file_path = file_path
    obj.__str__ = lambda x: x.pk
    obj.version = Mock()
    obj.version.version = 1
    return obj
Example #42
0
 def test_verify_ceph_version_failed(self, m_get_package_version,
                                     m_gitbuilder_project):
     gb = Mock()
     gb.version = "0.89.0"
     gb.project = "ceph"
     m_gitbuilder_project.return_value = gb
     m_get_package_version.return_value = "0.89.1"
     config = dict()
     with pytest.raises(RuntimeError):
         install.verify_package_version(Mock(), config, Mock())
Example #43
0
    def test_dir_from_spec(self):
        mock = Mock(spec=unittest.TestCase)
        testcase_attrs = set(dir(unittest.TestCase))
        attrs = set(dir(mock))

        # all attributes from the spec are included
        self.assertEqual(set(), testcase_attrs - attrs)

        # shadow a sys attribute
        mock.version = 3
        self.assertEqual(dir(mock).count('version'), 1)
    def test_fetch_layer_uri_is_successful(self):
        lambda_client_mock = Mock()
        lambda_client_mock.get_layer_version.return_value = {"Content": {"Location": "some/uri"}}
        download_layers = LayerDownloader("/", ".", lambda_client_mock)

        layer = Mock()
        layer.layer_arn = "arn"
        layer.version = 1
        actual_uri = download_layers._fetch_layer_uri(layer=layer)

        self.assertEquals(actual_uri, "some/uri")
    def test_fetch_layer_uri_fails_with_no_creds(self):
        lambda_client_mock = Mock()
        lambda_client_mock.get_layer_version.side_effect = NoCredentialsError()
        download_layers = LayerDownloader("/", ".", lambda_client_mock)

        layer = Mock()
        layer.layer_arn = "arn"
        layer.version = 1

        with self.assertRaises(CredentialsRequired):
            download_layers._fetch_layer_uri(layer=layer)
Example #46
0
 def test_skip_when_using_ceph_deploy(self, m_get_package_version,
                                      m_gitbuilder_project):
     gb = Mock()
     gb.version = "0.89.0"
     gb.project = "ceph"
     m_gitbuilder_project.return_value = gb
     # ceph isn't installed because ceph-deploy would install it
     m_get_package_version.return_value = None
     config = Mock()
     config.extras = True
     install.verify_package_version(Mock(), config, Mock())
Example #47
0
 def test_verify_ceph_version_failed(self, m_get_package_version,
                                     m_gitbuilder_project):
     gb = Mock()
     gb.version = "0.89.0"
     gb.project = "ceph"
     m_gitbuilder_project.return_value = gb
     m_get_package_version.return_value = "0.89.1"
     config = Mock()
     # when it looks for config.get('extras') it won't find it
     config.get.return_value = False
     with pytest.raises(RuntimeError):
         install.verify_package_version(Mock(), config, Mock())
    def test_fetch_layer_uri_fails_with_ResourceNotFoundException(self):
        lambda_client_mock = Mock()
        lambda_client_mock.get_layer_version.side_effect = ClientError(
            error_response={'Error': {'Code': 'ResourceNotFoundException'}}, operation_name="lambda")
        download_layers = LayerDownloader("/", ".", lambda_client_mock)

        layer = Mock()
        layer.layer_arn = "arn"
        layer.version = 1

        with self.assertRaises(ResourceNotFound):
            download_layers._fetch_layer_uri(layer=layer)
    def test_fetch_layer_uri_re_raises_client_error(self):
        lambda_client_mock = Mock()
        lambda_client_mock.get_layer_version.side_effect = ClientError(
            error_response={'Error': {'Code': 'Unknown'}}, operation_name="lambda")
        download_layers = LayerDownloader("/", ".", lambda_client_mock)

        layer = Mock()
        layer.layer_arn = "arn"
        layer.version = 1

        with self.assertRaises(ClientError):
            download_layers._fetch_layer_uri(layer=layer)
Example #50
0
    def test_nightly_feed(self, get_list_or_404):
        """Nightly Notes feed should be served with public changes"""
        release_1 = Mock()
        release_1.version = '55.0a1'
        release_1.is_public = True
        release_1.release_date = date_parse('2017-03-06T00:00:00')
        release_1.notes.return_value = ([
            Note(id=1, tag='New', note='New 1', is_public=True,
                 modified=date_parse('2017-04-20T13:27:28')),
            Note(id=2, tag='New', note='New 2', is_public=True,
                 modified=date_parse('2017-04-20T13:28:32')),
            Note(id=11, tag='Changed', note='Change 1', is_public=True,
                 modified=date_parse('2017-04-20T13:27:50')),
            Note(id=12, tag='Changed', note='Change 2', is_public=True,
                 modified=date_parse('2017-04-20T13:28:03')),
            Note(id=13, tag='Changed', note='Change 3', is_public=False,
                 modified=date_parse('2017-04-20T13:28:16')),
        ], [
            Note(id=21, tag='', note='Known issue 1', is_public=True,
                 modified=date_parse('2017-04-20T13:30:12')),
        ])

        release_2 = Mock()
        release_2.version = '56.0a1'
        release_2.is_public = True
        release_2.release_date = date_parse('2017-05-08T00:00:00')
        release_2.notes.return_value = ([
            Note(id=31, tag='New', note='New 1', is_public=True,
                 modified=date_parse('2017-05-08T13:27:28')),
        ], [])

        get_list_or_404.return_value = [release_1, release_2]
        views.nightly_feed(self.request)

        eq_(len(self.last_ctx['notes']), 5)
        eq_(self.last_ctx['notes'][0].id, 31)
        eq_(self.last_ctx['notes'][1].id, 2)
        eq_(self.last_ctx['notes'][2].id, 12)
        eq_(self.last_ctx['notes'][3].id, 11)
        eq_(self.last_ctx['notes'][4].id, 1)
    def test_should_use_usage_information(self, mock_option_parser_class):

        mock_option_parser = Mock()
        mock_values = Mock()
        mock_values.version = False
        mock_values.debug = False
        mock_arguments = ["foo", "bar"]
        mock_option_parser.parse_args.return_value = (mock_values, mock_arguments)
        mock_option_parser_class.return_value = mock_option_parser

        parse_arguments([], version="")

        mock_option_parser_class.assert_called_with(usage=USAGE_INFORMATION)