text: # -*- coding: utf-8 -*-
  import sys
  from django.contrib.auth import get_user_model
  
  from helpdesk.models import Ticket, Queue, UserSettings
  
  User = get_user_model()
  
  
  def get_user(username='helpdesk.staff',
               password='password',
               is_staff=False,
               is_superuser=False):
      try:
          user = User.objects.get(username=username)
      except User.DoesNotExist:
          user = User.objects.create_user(username=username,
                                          password=password,
                                          email='%s@example.com' % username)
          user.is_staff = is_staff
          user.is_superuser = is_superuser
          user.save()
      else:
          user.set_password(password)
          user.save()
      return user
  
  
  def get_staff_user():
      return get_user(is_staff=True)
  
  
  def reload_urlconf(urlconf=None):
  
      from importlib import reload
  
      if urlconf is None:
          from django.conf import settings
  
          urlconf = settings.ROOT_URLCONF
  
      if HELPDESK_URLCONF in sys.modules:
          reload(sys.modules[HELPDESK_URLCONF])
  
      if urlconf in sys.modules:
          reload(sys.modules[urlconf])
  
      from django.urls import clear_url_caches
      clear_url_caches()
  
  
  def create_ticket(**kwargs):
      q = kwargs.get('queue', None)
      if q is None:
          try:
              q = Queue.objects.all()[0]
          except IndexError:
              q = Queue.objects.create(title='Test Q', slug='test', )
      data = {
          'title': "I wish to register a complaint",
          'queue': q,
      }
      data.update(kwargs)
      return Ticket.objects.create(**data)
  
  
  HELPDESK_URLCONF = 'helpdesk.urls'
  
  
  def print_response(response, stdout=False):
      content = response.content.decode()
      if stdout:
          print(content)
      else:
          with open("response.html", "w") as f:  # pragma: no cover
              f.write(content)  # pragma: no cover
  