

def _get_config(self):
    config_file = os.environ.get('IRONICCLIENT_TEST_CONFIG', DEFAULT_CONFIG_FILE)
    config = config_parser.SafeConfigParser()
    if (not config.read(config_file)):
        self.skipTest(('Skipping, no test config found @ %s' % config_file))
    try:
        auth_strategy = config.get('functional', 'auth_strategy')
    except config_parser.NoOptionError:
        auth_strategy = 'keystone'
    if (auth_strategy not in ['keystone', 'noauth']):
        raise self.fail(('Invalid auth type specified: %s in functional must be one of: [keystone, noauth]' % auth_strategy))
    conf_settings = []
    keystone_v3_conf_settings = []
    if (auth_strategy == 'keystone'):
        conf_settings += ['os_auth_url', 'os_username', 'os_password', 'os_tenant_name']
        keystone_v3_conf_settings += ['os_user_domain_id', 'os_project_domain_id']
    else:
        conf_settings += ['os_auth_token', 'ironic_url']
    cli_flags = {
        
    }
    missing = []
    for c in (conf_settings + keystone_v3_conf_settings):
        try:
            cli_flags[c] = config.get('functional', c)
        except config_parser.NoOptionError:
            if (c not in keystone_v3_conf_settings):
                missing.append(c)
    if missing:
        cli_flags.fail(('Missing required setting in test.conf (%(conf)s) for auth_strategy=%(auth)s: %(missing)s' % {
            'conf': config_file,
            'auth': auth_strategy,
            'missing': ','.join(missing),
        }))
    return cli_flags

dataset/ETHPy150Open openstack/python-ironicclient/ironicclient/tests/functional/base.py FunctionalTestBase._get_config/VarMisuse@238/444 `self`->`cli_flags`