def test_constructor(self): ch = ConfigHolder() ch.context = {} ch.options = {} ch.config = {} Client(ch) ch.context = {} ch.options = {} ch.config = {'endpoint': 'foo/bar'} c = Client(ch) assert c.ch.endpoint == c.ch.serviceurl == 'foo/bar' ch.context = {} ch.options = {} ch.config = {'serviceurl': 'bar/baz'} c = Client(ch) assert c.ch.serviceurl == 'bar/baz' assert not hasattr(c.ch, 'endpoint')
def get_ss_client_for_user_info(self): ch = ConfigHolder(config={'foo': 'bar'}, context={}) ch.context = {} client = SlipStreamHttpClient(ch) client._get_user = Mock(return_value=client._strip_unwanted_attrs(self.resource_user)) client._get_user_params = Mock(return_value=client._strip_unwanted_attrs( self.resource_user_param.get('userParam')[0])) client._get_cloud_creds = Mock(return_value=client._strip_unwanted_attrs(self.resource_cloud_cred)) client._get_connector_conf = Mock(return_value=client._strip_unwanted_attrs(self.resource_connector)) return client
def test_init_session_login_apikey(self): ch = ConfigHolder() ch.context = {} ch.set('verboseLevel', 0) ch.set('cookie_filename', '/dev/null') ch.set('api_key', 'key') ch.set('api_secret', 'secret') client = HttpClient(ch) client.init_session('http://foo.bar') assert client.session is not None assert client.session.login_params assert 'key' in client.session.login_params assert 'secret' in client.session.login_params
def test_init_session_login_internal(self): ch = ConfigHolder() ch.context = {} ch.set('verboseLevel', 0) ch.set('cookie_filename', '/dev/null') ch.set('username', 'foo') ch.set('password', 'bar') client = HttpClient(ch) client.init_session('http://foo.bar') assert client.session is not None assert client.session.login_params assert 'username' in client.session.login_params assert 'password' in client.session.login_params
def test_init_session_fail_no_creds(self): ch = ConfigHolder() ch.context = {} ch.set('verboseLevel', 0) ch.set('cookie_filename', '/dev/null') client = HttpClient(ch) client.init_session('http://foo.bar') assert client.session is not None assert client.session.login_params == {} resp = Mock(spec=Response) resp.status_code = 403 resp.cookies = None resp.headers = {} client.session._request = Mock(return_value=resp) client.session.cimi_login = Mock(return_value=resp) try: client.get('http://foo.bar', retry=False) except Exception as ex: assert ex.code == 403 assert client.session.cimi_login.called is True
def test_post_with_data(self): ch = ConfigHolder() ch.context = {} ch.set('verboseLevel', 0) ch.set('cookie_filename', '/dev/null') ch.set('api_key', 'key') ch.set('api_secret', 'secret') client = HttpClient(ch) resp = requests.Response() resp.status_code = 200 resp.get = Mock(return_value=None) resp.request = Mock() resp.request.headers = {} requests.sessions.Session.send = Mock(return_value=resp) client.post('http://example.com', 'a=b\nc=d') args, kwargs = requests.sessions.Session.send.call_args self.assertEqual(len(args), 1) req = args[0] self.assertEqual(req.body, 'a=b\nc=d')