def test_get_cachito_session(self, tmpdir, config, error): config += "\n" + REQUIRED_CONFIG if error: with pytest.raises(error): read_yaml(config, 'schemas/config.json') return config_json = read_yaml(config, 'schemas/config.json') auth_info = { 'insecure': config_json['cachito'].get('insecure', False), 'timeout': config_json['cachito'].get('timeout'), } ssl_dir_raise = False if 'ssl_certs_dir' in config_json['cachito']['auth']: if config_json['cachito']['auth']['ssl_certs_dir'] != "nonexistent": config_json['cachito']['auth']['ssl_certs_dir'] = str(tmpdir) filename = str(tmpdir.join('cert')) with open(filename, 'w') as fp: fp.write("my_cert") auth_info['cert'] = filename else: ssl_dir_raise = True conf = Configuration(raw_config=config_json) if not ssl_dir_raise: (flexmock(atomic_reactor.utils.cachito.CachitoAPI) .should_receive('__init__') .with_args(config_json['cachito']['api_url'], **auth_info) .once() .and_return(None)) get_cachito_session(conf) else: with pytest.raises(RuntimeError, match="Cachito ssl_certs_dir doesn't exist"): get_cachito_session(conf)
def cachito_session(self): if not self._cachito_session: self._cachito_session = get_cachito_session(self.workflow.conf) return self._cachito_session
def cachito_session(self): if not self.workflow.conf.cachito: raise RuntimeError('No Cachito configuration defined') return get_cachito_session(self.workflow.conf)