def test_connect_exchange(self): client = Client(user_api_key, user_secret, base_uri, user_id=user_id) body = { 'credentials': { 'api_key': user_api_key, 'secret': user_secret }, 'exchange_id': exchange_id } response = client.connect_exchange(body) self.assertEqual(response.json()['data'], mock_item)
def test_request_includes_auth_headers(self): def server_response(request, uri, response_headers): headers = ['BB-ACCESS-KEY', 'BB-ACCESS-SIGN', 'BB-TIMESTAMP', 'Accept', 'Content-Type', 'User-Agent'] for header in headers: self.assertIn(header, request.headers) self.assertNotEqual(request.headers[header], '') if 'BB-PARTNER-ID' in request.headers: self.assertNotIn('BB-USER-ID', request.headers) return 200, response_headers, '{}' if 'BB-USER-ID' in request.headers: self.assertNotIn('BB-PARTNER-ID', request.headers) return 200, response_headers, '{}' return 400, response_headers, '{}' # Test a partner route partner_client = Client(partner_api_key, partner_secret, base_uri, partner_id=partner_id, partnership_id=partnership_id) url = base_uri + get_all_users_route httpretty.register_uri(httpretty.GET, url, server_response) response = partner_client.get_all_users() self.assertEqual(response.status_code, 200) # Test a user route user_client = Client(user_api_key, user_secret, base_uri) url = base_uri + get_user_balance_route httpretty.register_uri(httpretty.GET, url, server_response) response = user_client.get_user_balance(user_id) self.assertEqual(response.status_code, 200)
def test_auth_succeeds_with_bytes_and_unicode(self): self.assertIsInstance(partner_api_key, six.text_type) # Unicode self.assertIsInstance(partner_secret, six.text_type) # Unicode client = Client(partner_api_key, partner_secret, base_uri, partner_id=partner_id) self.assertEqual(client._get('test').status_code, 200) api_key_bytes = partner_api_key.encode('utf-8') api_secret_bytes = partner_secret.encode('utf-8') self.assertIsInstance(api_key_bytes, six.binary_type) # Bytes self.assertIsInstance(api_secret_bytes, six.binary_type) # Bytes client = Client(partner_api_key, partner_secret, base_uri, partner_id=partner_id) self.assertEqual(client._get('test').status_code, 200)
def get_partner_client(): return Client(api_key=api_key, api_secret=api_secret, base_uri=base_uri, partnership_id=partnership_id, partner_id=partner_id)
def get_user_client(user): return Client(api_key=user.identity.bitbutter_api_key, api_secret=user.identity.bitbutter_secret, base_uri=base_uri, user_id=user.identity.bitbutter_user_id)
def test_key_and_secret_required(self): with self.assertRaises(ValueError): Client(None, partner_secret, base_uri, partner_id=partner_id) with self.assertRaises(ValueError): Client(partner_api_key, None, base_uri, partner_id=partner_id)
def test_init(self): client = Client(partner_api_key, partner_secret, base_uri=base_uri) assert isinstance(client, Client)
def test_get_user_connected_exchanges(self): client = Client(user_api_key, user_secret, base_uri, user_id=user_id) response = client.get_user_connected_exchanges() self.assertEqual(response.json()['data'], mock_collection)
def test_get_all_users(self): client = Client(partner_api_key, partner_secret, base_uri, partner_id=partner_id, partnership_id=partnership_id) response = client.get_all_users() self.assertEqual(response.json()['data'], mock_collection)
def test_delete_user(self): client = Client(partner_api_key, partner_secret, base_uri, partner_id=partner_id, partnership_id=partnership_id) response = client.delete_user(user_id) self.assertEqual(response.json()['data'], mock_item)