Пример #1
0
    def test___init__(self, add_option_group):
        """
        Ensure that the __init__() method sets all of the correct properties.
        """
        distributor_config_mixin = create_update.ISODistributorConfigMixin()

        # There should be publishing and authorization groups added to the CLI
        self.assertTrue(
            isinstance(distributor_config_mixin.publishing_group,
                       PulpCliOptionGroup))

        # Inspect the --serve-http option
        self.assertTrue(
            isinstance(distributor_config_mixin.opt_http, PulpCliOption))
        self.assertEqual(distributor_config_mixin.opt_http.name,
                         '--serve-http')
        # Make sure we have a description
        self.assertTrue(distributor_config_mixin.opt_http.description)
        self.assertEqual(distributor_config_mixin.opt_http.required, False)
        self.assertEqual(distributor_config_mixin.opt_http.parse_func,
                         parsers.parse_boolean)

        # Inspect the --serve-https option
        self.assertTrue(
            isinstance(distributor_config_mixin.opt_https, PulpCliOption))
        self.assertEqual(distributor_config_mixin.opt_https.name,
                         '--serve-https')
        # Make sure we have a description
        self.assertTrue(distributor_config_mixin.opt_https.description)
        self.assertEqual(distributor_config_mixin.opt_https.required, False)
        self.assertEqual(distributor_config_mixin.opt_https.parse_func,
                         parsers.parse_boolean)

        # Inspect the --auth-ca option
        self.assertTrue(
            isinstance(distributor_config_mixin.opt_auth_ca, PulpCliOption))
        self.assertEqual(distributor_config_mixin.opt_auth_ca.name,
                         '--auth-ca')
        # Make sure we have a description
        self.assertTrue(distributor_config_mixin.opt_auth_ca.description)
        self.assertEqual(distributor_config_mixin.opt_auth_ca.required, False)
        # We didn't set a parser on auth_ca, since it's a path
        self.assertEqual(distributor_config_mixin.opt_auth_ca.parse_func, None)

        # The HTTP, HTTPS, and CA options should be in the publishing group
        self.assertEqual(
            set(distributor_config_mixin.publishing_group.options),
            set([
                distributor_config_mixin.opt_http,
                distributor_config_mixin.opt_https,
                distributor_config_mixin.opt_auth_ca,
                distributor_config_mixin.opt_relative_url
            ]))

        # Lastly, the add_option_group mock should have been called once
        self.assertEqual(add_option_group.call_count, 1)
        self.assertEqual(add_option_group.mock_calls[0][1][0],
                         distributor_config_mixin.publishing_group)
Пример #2
0
    def test__parse_distributor_config_bad_file_path(self):
        """
        Test the _parse_distributor_config() method with a non-existing file path for the
        SSL authorization CA.
        """
        mixin = create_update.ISODistributorConfigMixin()
        user_input = {mixin.opt_auth_ca.keyword: '/path/to/nowhere'}

        self.assertRaises(arg_utils.InvalidConfig, mixin._parse_distributor_config,
                          user_input)
Пример #3
0
    def test__parse_distributor_config_only_http_set(self):
        """
        Test the _parse_distributor_config() method with only the http setting set.
        """
        mixin = create_update.ISODistributorConfigMixin()
        user_input = {mixin.opt_http.keyword: 'false'}

        config = mixin._parse_distributor_config(user_input)

        self.assertEqual(len(config), 1)
        self.assertEqual(config[constants.CONFIG_SERVE_HTTP], 'false')
Пример #4
0
    def test__parse_distributor_config_all_set(self):
        """
        Test the _parse_distributor_config() method with all three options set to stuff.
        """
        mixin = create_update.ISODistributorConfigMixin()
        user_input = {mixin.opt_http.keyword: 'true', mixin.opt_https.keyword: 'false',
                      mixin.opt_auth_ca.keyword: '/path/to/file'}

        config = mixin._parse_distributor_config(user_input)

        self.assertEqual(config[constants.CONFIG_SERVE_HTTP], 'true')
        self.assertEqual(config[constants.CONFIG_SERVE_HTTPS], 'false')
        self.assertEqual(config[constants.CONFIG_SSL_AUTH_CA_CERT], 'This is a file.')