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'