~widelands-dev/widelands-website/django_staticfiles

« back to all changes in this revision

Viewing changes to wlimages/tests.py

  • Committer: franku
  • Date: 2016-12-13 18:28:51 UTC
  • mto: This revision was merged to the branch mainline in revision 443.
  • Revision ID: somal@arcor.de-20161213182851-bo5ebf8pdvw5beua
run the script

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
19
import PIL
19
20
from cStringIO import StringIO
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.Image.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