fix tests for modoboa.admin in python2

This commit is contained in:
Arthur Vuillard
2017-05-11 15:29:03 +02:00
parent c97e5a703d
commit 742d948e76
5 changed files with 20 additions and 10 deletions
+2 -2
View File
@@ -25,12 +25,12 @@ class ExportDataForm(forms.Form):
def clean_sepchar(self):
if self.cleaned_data["sepchar"] == "":
return ";"
return str(self.cleaned_data["sepchar"])
return self.cleaned_data["sepchar"]
def clean_filename(self):
if self.cleaned_data["filename"] == "":
return self.fields["filename"].initial
return str(self.cleaned_data["filename"])
return self.cleaned_data["filename"]
class ExportDomainsForm(ExportDataForm):
@@ -4,6 +4,7 @@ from __future__ import print_function, unicode_literals
from django.conf import settings
from django.core.management.base import BaseCommand
from django.utils.encoding import smart_str
from modoboa.lib.permissions import grant_access_to_object
from modoboa.lib.permissions import get_object_owner
@@ -112,7 +113,7 @@ class Repair(BaseCommand):
# Load known problems from extensions.
for ext in settings.MODOBOA_APPS:
try:
__import__(ext, locals(), globals(), ["known_problems"])
__import__(ext, locals(), globals(), [smart_str("known_problems")])
except ImportError:
pass
for func in known_problems:
+4 -3
View File
@@ -236,11 +236,12 @@ class DomainTestCase(ModoTestCase):
url = reverse("core:dashboard")
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
self.assertIn("Global statistics", response.content)
self.assertIn("Global statistics", response.content.decode('utf-8'))
self.client.force_login(
User.objects.get(username="admin@test.com"))
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
self.assertNotIn("Global statistics", response.content)
self.assertIn("Per-domain statistics", response.content)
content = response.content.decode('utf-8')
self.assertNotIn("Global statistics", content)
self.assertIn("Per-domain statistics", content)
+7 -2
View File
@@ -14,6 +14,7 @@ from django.core.urlresolvers import reverse
from django.http import HttpResponse
from django.shortcuts import render
from django.utils.translation import ugettext as _
from django.utils.encoding import smart_str
from ..forms import ExportIdentitiesForm, ExportDomainsForm
from ..lib import get_domains, get_identities
@@ -50,7 +51,9 @@ def export_identities(request):
form = ExportIdentitiesForm(request.POST)
form.is_valid()
fp = io.BytesIO()
csvwriter = csv.writer(fp, delimiter=form.cleaned_data["sepchar"])
csvwriter = csv.writer(
fp, delimiter=smart_str(form.cleaned_data["sepchar"])
)
identities = get_identities(
request.user, **request.session['identities_filters'])
for ident in identities:
@@ -78,7 +81,9 @@ def export_domains(request):
form = ExportDomainsForm(request.POST)
form.is_valid()
fp = io.BytesIO()
csvwriter = csv.writer(fp, delimiter=form.cleaned_data["sepchar"])
csvwriter = csv.writer(
fp, delimiter=smart_str(form.cleaned_data["sepchar"])
)
for dom in get_domains(request.user,
**request.session['domains_filters']):
dom.to_csv(csvwriter)
+5 -2
View File
@@ -11,6 +11,7 @@ from django.core.urlresolvers import reverse
from django.db import transaction
from django.shortcuts import render
from django.utils.translation import ugettext as _
from django.utils.encoding import smart_str
from reversion import revisions as reversion
@@ -36,8 +37,10 @@ def importdata(request, formclass=ImportDataForm):
form = formclass(request.POST, request.FILES)
if form.is_valid():
try:
reader = csv.reader(request.FILES['sourcefile'],
delimiter=form.cleaned_data['sepchar'])
reader = csv.reader(
request.FILES['sourcefile'],
delimiter=smart_str(form.cleaned_data['sepchar'])
)
except csv.Error as inst:
error = str(inst)