summaryrefslogtreecommitdiff
path: root/ishtar_common/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/tests.py')
-rw-r--r--ishtar_common/tests.py85
1 files changed, 33 insertions, 52 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py
index 174918dd4..d89c8546c 100644
--- a/ishtar_common/tests.py
+++ b/ishtar_common/tests.py
@@ -27,59 +27,36 @@ from django.contrib.contenttypes.models import ContentType
from django.core.cache import cache
from django.core.exceptions import ValidationError
from django.core.files.base import File as DjangoFile
-from django.core.files.uploadedfile import SimpleUploadedFile
from django.core.management import call_command
from django.core.urlresolvers import reverse
-from django.db import connection, transaction
from django.template.defaultfilters import slugify
from django.test import TestCase as BaseTestCase
from django.test.client import Client
-from django.test.simple import DjangoTestSuiteRunner
+from django.test.runner import DiscoverRunner
from ishtar_common import models
-from ishtar_common import forms_common
from ishtar_common.utils import post_save_point
-from archaeological_context_records.models import CRBulkView
-from archaeological_finds.models import BFBulkView, FBulkView, FirstBaseFindView
-
-"""
-from django.conf import settings
-import tempfile, datetime
-from zipfile import ZipFile, ZIP_DEFLATED
-
-from oook_replace.oook_replace import oook_replace
-
-class OOOGenerationTest(TestCase):
- def testGeneration(self):
- context = {'test_var':u"Testé", 'test_var2':u"",
- "test_date":datetime.date(2015, 1, 1)}
- tmp = tempfile.TemporaryFile()
- oook_replace("../ishtar_common/tests/test-file.odt", tmp, context)
- inzip = ZipFile(tmp, 'r', ZIP_DEFLATED)
- value = inzip.read('content.xml')
- self.assertTrue(u"Testé" in value or "Testé" in value)
- self.assertTrue("testé 2" not in value and "testé 2" not in value)
- self.assertTrue("2015" in value)
- lg, ct = settings.LANGUAGE_CODE.split('-')
- if lg == 'fr':
- self.assertTrue('janvier' in value)
- if lg == 'en':
- self.assertTrue('january' in value)
-"""
-
def create_superuser():
username = 'username4277'
password = 'dcbqj756456!@%'
+ q = User.objects.filter(username=username)
+ if q.count():
+ return username, password, q.all()[0]
user = User.objects.create_superuser(username, "nomail@nomail.com",
password)
+ user.set_password(password)
+ user.save()
return username, password, user
def create_user():
username = 'username678'
- password = 'dcbqj756456!@%'
+ password = 'dcbqj756aaa456!@%'
+ q = User.objects.filter(username=username)
+ if q.count():
+ return username, password, q.all()[0]
user = User.objects.create_user(username, email="nomail2@nomail.com")
user.set_password(password)
user.save()
@@ -87,14 +64,7 @@ def create_user():
class TestCase(BaseTestCase):
- def _pre_setup(self):
- super(TestCase, self)._pre_setup()
- if settings.USE_SPATIALITE_FOR_TESTS:
- return
- c = connection.cursor()
- for view in [CRBulkView, FirstBaseFindView, BFBulkView, FBulkView]:
- c.execute(view.CREATE_SQL)
- transaction.commit_unless_managed()
+ pass
class CommandsTestCase(TestCase):
@@ -149,15 +119,15 @@ class WizardTestFormData(object):
test(test_object, final_step_response)
-class ManagedModelTestRunner(DjangoTestSuiteRunner):
+class ManagedModelTestRunner(DiscoverRunner):
"""
Test runner that automatically makes all unmanaged models in your Django
project managed for the duration of the test run, so that one doesn't need
to execute the SQL manually to create them.
"""
def setup_test_environment(self, *args, **kwargs):
- from django.db.models.loading import get_models
- self.unmanaged_models = [m for m in get_models()
+ from django.apps import apps
+ self.unmanaged_models = [m for m in apps.get_models()
if not m._meta.managed]
for m in self.unmanaged_models:
m._meta.managed = True
@@ -238,8 +208,8 @@ class WizardTest(object):
next_form_is_checked = len(self.steps) > idx + 1 and \
self.steps[idx + 1][0] not in ignored
try:
- response = self.client.post(url, data,
- follow=not next_form_is_checked)
+ response = self.client.post(
+ url, data, follow=not next_form_is_checked)
except ValidationError as e:
msg = u"Errors: {} on {}. On \"ManagementForm data is " \
u"missing or...\" error verify the wizard_name or " \
@@ -302,8 +272,15 @@ class AccessControlTest(TestCase):
user, created = User.objects.get_or_create(username='myusername')
user.is_superuser = True
user.save()
- ishtar_user = models.IshtarUser.objects.get(username=user.username)
+ ishtar_user = models.IshtarUser.objects.get(
+ user_ptr__username='myusername')
self.assertIn(admin, ishtar_user.person.person_types.all())
+ user = ishtar_user.user_ptr
+ user.is_superuser = False
+ user.save()
+ ishtar_user = models.IshtarUser.objects.get(
+ user_ptr__username='myusername')
+ self.assertNotIn(admin, ishtar_user.person.person_types.all())
class AdminGenTypeTest(TestCase):
@@ -326,11 +303,14 @@ class AdminGenTypeTest(TestCase):
module_name = 'ishtar_common'
def setUp(self):
- password = 'mypassword'
- my_admin = User.objects.create_superuser(
- 'myuser', 'myemail@test.com', password)
+ self.password = 'mypassword'
+ self.username = "myuser"
+ user = User.objects.create_superuser(
+ self.username, 'myemail@test.com', self.password)
+ user.set_password(self.password)
+ user.save()
self.client = Client()
- self.client.login(username=my_admin.username, password=password)
+ self.client.login(username=self.username, password=self.password)
def test_listing_and_detail(self):
for model in self.models:
@@ -706,7 +686,8 @@ class ShortMenuTest(TestCase):
def test_treatment_file(self):
c = Client()
c.login(username=self.username, password=self.password)
- from archaeological_finds.models import TreatmentFile, TreatmentFileType
+ from archaeological_finds.models import TreatmentFile, \
+ TreatmentFileType
tf = TreatmentFile.objects.create(
type=TreatmentFileType.objects.create(),
year=2050