~widelands-dev/widelands-website/trunk

« back to all changes in this revision

Viewing changes to wlimages/tests.py

  • Committer: franku
  • Date: 2019-04-09 06:34:51 UTC
  • mfrom: (530.1.5 mv_main_files)
  • Revision ID: somal@arcor.de-20190409063451-orglu7d2oda37ej9
moved files stored in folder widelands to folder widelands/mainpage

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
 
14
14
# Since we want to include something from one path up,
15
15
# we append the parent path to sys.path
16
 
import sys; sys.path.append("..")
 
16
import sys
 
17
sys.path.append('..')
17
18
 
18
 
import Image as PIL
 
19
import PIL
19
20
from cStringIO import StringIO
20
21
 
21
22
from django.test import TestCase
23
24
from django.contrib.auth.models import User
24
25
from django.core.files.uploadedfile import SimpleUploadedFile
25
26
from django.test.client import Client
26
 
from django.core.urlresolvers import reverse
 
27
from django.urls import reverse
27
28
from django.db import IntegrityError
28
29
 
29
30
from models import Image
31
32
 
32
33
from views import upload
33
34
 
 
35
 
34
36
class _TestUploadingBase(TestCase):
 
37
 
35
38
    @staticmethod
36
 
    def _make_new_uploaded_image(name,type="bmp"):
 
39
    def _make_new_uploaded_image(name, type='bmp'):
37
40
        sio = StringIO()
38
 
        i = PIL.new("RGB",(4,4))
39
 
 
40
 
        i.save(sio,type)
41
 
 
42
 
        return SimpleUploadedFile(name,sio.read(),content_type="image/%s" % type)
 
41
        i = PIL.Image.new('RGB', (4, 4))
 
42
 
 
43
        i.save(sio, type)
 
44
 
 
45
        return SimpleUploadedFile(name, sio.read(), content_type='image/%s' % type)
43
46
 
44
47
    def setUp(self):
45
48
        # We need some dummy objects
46
49
        # User
47
 
        self.u = User.objects.create(username="paul")
 
50
        self.u = User.objects.create(username='paul')
48
51
        # A Content type
49
 
        self.ct = ContentType.objects.create( app_label="test",model="TestModel")
 
52
        self.ct = ContentType.objects.create(
 
53
            app_label='test', model='TestModel')
50
54
 
51
 
        self.t1 = self._make_new_uploaded_image("test.png");
52
 
        self.t2 = self._make_new_uploaded_image("test.png");
53
 
        self.o1 = self._make_new_uploaded_image("othername.png");
 
55
        self.t1 = self._make_new_uploaded_image('test.png')
 
56
        self.t2 = self._make_new_uploaded_image('test.png')
 
57
        self.o1 = self._make_new_uploaded_image('othername.png')
54
58
 
55
59
        self.c = Client()
56
60
 
59
63
#                  MODEL TESTS (need database, are slow)                  #
60
64
###########################################################################
61
65
class TestImages_TestModelAdding_ExceptCorrectResult(_TestUploadingBase):
 
66
 
62
67
    def runTest(self):
63
 
        self.assertFalse( Image.objects.has_image("test"))
64
 
        u = Image.objects.create( user=self.u, content_type=self.ct, object_id=1,
65
 
                name="test", revision=1)
66
 
        self.assertEqual( Image.objects.get( name="test",revision=1), u )
67
 
        self.assertTrue( Image.objects.has_image("test"))
 
68
        self.assertFalse(Image.objects.has_image('test'))
 
69
        u = Image.objects.create(user=self.u, content_type=self.ct, object_id=1,
 
70
                                 name='test', revision=1)
 
71
        self.assertEqual(Image.objects.get(name='test', revision=1), u)
 
72
        self.assertTrue(Image.objects.has_image('test'))
 
73
 
 
74
 
68
75
class TestImages_TestModelAddingTwiceTheSameNameAndRevision_ExceptRaises(_TestUploadingBase):
 
76
 
69
77
    def runTest(self):
70
 
        u = Image.objects.create( user=self.u, content_type=self.ct, object_id=1,
71
 
                name="test", revision=1)
72
 
        self.assertRaises( Image.AlreadyExisting, Image.objects.create, **{"user":self.u, "content_type": self.ct, "object_id":1,
73
 
                                                                  "name": "test", "revision" :1 })
 
78
        u = Image.objects.create(user=self.u, content_type=self.ct, object_id=1,
 
79
                                 name='test', revision=1)
 
80
        self.assertRaises(Image.AlreadyExisting, Image.objects.create, **{'user': self.u, 'content_type': self.ct, 'object_id': 1,
 
81
                                                                          'name': 'test', 'revision': 1})
 
82
 
 
83
 
74
84
class TestImages_TestModelAddingTwiceTheSameNameDifferentRevision_ExceptRaises(_TestUploadingBase):
 
85
 
75
86
    def runTest(self):
76
 
        u = Image.objects.create( user=self.u, content_type=self.ct, object_id=1,
77
 
                name="test", revision=1)
78
 
        u = Image.objects.create( user=self.u, content_type=self.ct, object_id=1,
79
 
                name="test", revision=2)
80
 
        self.assertEqual(Image.objects.filter(name="test").count(),2)
 
87
        u = Image.objects.create(user=self.u, content_type=self.ct, object_id=1,
 
88
                                 name='test', revision=1)
 
89
        u = Image.objects.create(user=self.u, content_type=self.ct, object_id=1,
 
90
                                 name='test', revision=2)
 
91
        self.assertEqual(Image.objects.filter(name='test').count(), 2)
81
92
 
82
93
###############
83
94
# Other Tests #
92
103
    unittest.main()
93
104
    # k = TestWlMarkdown_WikiWordsInLink_ExceptCorrectResult()
94
105
    # unittest.TextTestRunner().run(k)
95