docs: def _assertCALL(self, url, *, allow_empty=False, check_headers=True, check_status=True,
                      expect_errors=False, name=None, method='get', data=None):
          """
          check url for response changes
  
          :param url: url to check
          :param allow_empty: if True ignore empty response and 404 errors
          :param check_headers: check response headers
          :param check_status: check response status code
          :raises: ValueError
          :raises: AssertionError
          """
          self.view = resolve(url).func.cls
          m = getattr(self.client, method.lower())
          self.filename = self.get_response_filename(method, name or url)
          response = m(url, data=data)
          assert response.accepted_renderer
          payload = response.data
          if not allow_empty and not payload:
              raise ValueError(f"View {self.view} returned and empty json. Check your test")
  
          if response.status_code > 299 and not expect_errors:
              raise ValueError(f"View {self.view} unexpected response. {response.status_code} - {response.content}")
  
          if not allow_empty and response.status_code == 404:
              raise ValueError(f"View {self.view} returned 404 status code. Check your test")
  
          if not os.path.exists(self.filename) or os.environ.get('API_CHECKER_RESET', False):
              _write(self.filename, serialize_response(response))
  
          stored = load_response(self.filename)
          if (check_status) and response.status_code != stored.status_code:
              raise StatusCodeError(self.view, response.status_code, stored.status_code)
          if check_headers:
              self._assert_headers(response, stored)
          self.compare(payload, stored.data, self.filename, view=self.view)