Unable to add token headers to graphene-django test using pytest

31 views
Skip to first unread message

Muhammad Shehzad

unread,
Oct 4, 2021, 4:52:58 AM10/4/21
to django...@googlegroups.com

I am trying to add a token to graphene-django headers using pytest. But It 

always return that user is anonymous as shown at the end but it should 

return user as token is added in fixture


@pytest.fixture
def client_query(client):
    def func(*args, **kwargs):
        return graphql_query(*args, **kwargs, client=client)

    return func


@pytest.fixture
def create_candidate(candidate_factory):
    candidate = []
    for _ in range(5):
        can = candidate_factory.create()
        token, __ = Token.objects.get_or_create(user=can.user)
        candidate.append(can)

    return candidate

**This is the test**
@pytest.mark.django_db
def test_get_login_candidate(client_query, create_candidate):
    headers = {"Authorization": f"Token {create_candidate[0].user.auth_token}"}
    response = client_query(
        """
        query {
          loginCandidate{
              id,
          }
        }
        """,
        headers=headers,
    )

    result = json.loads(response.content)
    print(result)


This is the output

{'errors': [{'message': "'AnonymousUser' object is not iterable", 'locations': [{'line': 3, 'column': 11}], 'path': ['loginCandidate']}], 'data': {'loginCandidate': None}}
Reply all
Reply to author
Forward
0 new messages