def test_read_session_fetch_session_tokens(self, ig_service: IGService): ig_service.read_session(fetch_session_tokens='true') assert 'X-IG-API-KEY' in ig_service.session.headers assert 'CST' in ig_service.session.headers assert 'X-SECURITY-TOKEN' in ig_service.session.headers if ig_service.session.headers['VERSION'] == '2': assert 'Authorization' not in ig_service.session.headers assert 'IG-ACCOUNT-ID' not in ig_service.session.headers if ig_service.session.headers['VERSION'] == '3': assert 'Authorization' in ig_service.session.headers assert 'IG-ACCOUNT-ID' in ig_service.session.headers
def test_session_details(self): with open('tests/data/session.json', 'r') as file: response_body = json.loads(file.read()) responses.add(responses.POST, 'https://demo-api.ig.com/gateway/deal/session', headers={ 'CST': 'abc123', 'X-SECURITY-TOKEN': 'xyz987' }, json=response_body, status=200) responses.add(responses.GET, 'https://demo-api.ig.com/gateway/deal/session', headers={ 'CST': 'abc123', 'X-SECURITY-TOKEN': 'xyz987' }, json=response_body, status=200) ig_service = IGService('username', 'password', 'api_key', 'DEMO') ig_service.create_session() result = ig_service.read_session() assert result['clientId'] == '100112233' assert result['accountId'] == 'ABC123' assert result['currency'] == 'GBP'