# Request

These fixtures are related to Django request objects.

class pytest_djangoapp.fixtures.request.DjagoappClient(*, ajax: bool = False, user: AbstractUser = None, enforce_csrf_checks: bool = False, raise_exceptions: bool = True, json: bool = False, **defaults)
  store_exc_info(**kwargs)

    Store exceptions when they are generated by a view.

class pytest_djangoapp.fixtures.request.DjangoappRequestFactory(ajax=False, json=False, **defaults)
  generic(method, path, *args, **kwargs)

    Construct an arbitrary HTTP request.

pytest_djangoapp.fixtures.request.request_client()

  Fixture allowing test client object generation.

  Example:

      def test_this(request_client):

          client = request_client()

          response = client.get(
              ('someview', {'somearg': 'one', 'otherarg': 33})
          ).content

          ...

          ajax_client = request_client(ajax=True)
          ...

  Parameters:

    - ajax – Make AJAX (XMLHttpRequest) requests.

    - user – User to perform queries from.

    - raise_exceptions – Do not allow Django technical exception handlers to catch exceptions issued by views, propagate them instead.

    - json –

      Encode data as JSON.

      Warning

      To be used with Django 2.1+

    - kwargs – Additional arguments for test client initialization.

pytest_djangoapp.fixtures.request.request_factory()

  Fixture allowing request object generation.

  Example:

      def test_this(request_factory):
          factory = request_factory()

  Parameters:

    kwargs

pytest_djangoapp.fixtures.request.request_get(request_factory)

  Fixture allowing GET request object generation.

  Example:

      def test_this(request_get):
          request = request_get('/some')

  Parameters:

    - path

    - user – User making this request.

    - ajax – Make AJAX (XMLHttpRequest) request.

    - kwargs – Additional arguments for .get() method.

pytest_djangoapp.fixtures.request.request_post(request_factory)

  Fixture allowing POST request object generation.

  Example:

      def test_this(request_post):
          request = request_post('/some', {'a': 'b'})

  Parameters:

    - path

    - data – Data to post.

    - user – User making this request.

    - ajax – Make AJAX (XMLHttpRequest) request.

    - kwargs – Additional arguments for .post() method.