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)
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)
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')
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.')