old_contents: # Copyright (C) 2014 Andrey Antukh <niwi@niwi.be>
  # Copyright (C) 2014 Jesús Espino <jespinog@gmail.com>
  # Copyright (C) 2014 David Barragán <bameda@dbarragan.com>
  # Copyright (C) 2014 Anler Hernández <hello@anler.me>
  # This program is free software: you can redistribute it and/or modify
  # it under the terms of the GNU Affero General Public License as
  # published by the Free Software Foundation, either version 3 of the
  # License, or (at your option) any later version.
  #
  # This program is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  # GNU Affero General Public License for more details.
  #
  # You should have received a copy of the GNU Affero General Public License
  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
  import pytest
  
  
  class Object:
      pass
  
  
  @pytest.fixture
  def object():
      return Object()
  
  
  @pytest.fixture
  def client():
      from testclient_extensions import Client
  
      return Client()
  
  
  @pytest.fixture
  def outbox():
      from django.core import mail
  
      return mail.outbox
  
new_contents: # Copyright (C) 2014 Andrey Antukh <niwi@niwi.be>
  # Copyright (C) 2014 Jesús Espino <jespinog@gmail.com>
  # Copyright (C) 2014 David Barragán <bameda@dbarragan.com>
  # Copyright (C) 2014 Anler Hernández <hello@anler.me>
  # This program is free software: you can redistribute it and/or modify
  # it under the terms of the GNU Affero General Public License as
  # published by the Free Software Foundation, either version 3 of the
  # License, or (at your option) any later version.
  #
  # This program is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  # GNU Affero General Public License for more details.
  #
  # You should have received a copy of the GNU Affero General Public License
  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
  import pytest
  import mock
  import functools
  
  
  class Object:
      pass
  
  
  @pytest.fixture
  def object():
      return Object()
  
  
  class PartialMethodCaller:
      def __init__(self, obj, **partial_params):
          self.obj = obj
          self.partial_params = partial_params
  
      def __getattr__(self, name):
          return functools.partial(getattr(self.obj, name), **self.partial_params)
  
  
  @pytest.fixture
  def client():
      from django.test.client import Client
      from django.test.client import MULTIPART_CONTENT
  
      class _Client(Client):
          def login(self, user=None, backend="django.contrib.auth.backends.ModelBackend", **credentials):
              if user is None:
                  return super().login(**credentials)
  
              # This will be changed on django1.7 branch with other location
              with mock.patch('django.test.client.authenticate') as authenticate:
                  user.backend = backend
                  authenticate.return_value = user
                  return super().login(**credentials)
  
          @property
          def json(self):
              return PartialMethodCaller(obj=self, content_type='application/json;charset="utf-8"')
  
      return _Client()
  
  
  @pytest.fixture
  def outbox():
      from django.core import mail
  
      return mail.outbox
  
subject: Remove usage of django-testclientextensions (backport of some commits from django1.7 branch)