3
#!/usr/bin/env python -tt
6
# File: utests/test_wl_markdown.py
8
# Created by Holger Rapp on 2009-02-28.
9
# Copyright (c) 2009 HolgerRapp@gmx.net. All rights reserved.
11
# Last Modified: $Date$
14
# Since we want to include something from one path up,
15
# we append the parent path to sys.path
20
from cStringIO import StringIO
22
from django.test import TestCase
23
from django.contrib.contenttypes.models import ContentType
24
from django.contrib.auth.models import User
25
from django.core.files.uploadedfile import SimpleUploadedFile
26
from django.test.client import Client
27
from django.urls import reverse
28
from django.db import IntegrityError
30
from models import Image
31
from forms import UploadImageForm
33
from views import upload
36
class _TestUploadingBase(TestCase):
39
def _make_new_uploaded_image(name, type='bmp'):
41
i = PIL.Image.new('RGB', (4, 4))
45
return SimpleUploadedFile(name, sio.read(), content_type='image/%s' % type)
48
# We need some dummy objects
50
self.u = User.objects.create(username='paul')
52
self.ct = ContentType.objects.create(
53
app_label='test', model='TestModel')
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')
62
###########################################################################
63
# MODEL TESTS (need database, are slow) #
64
###########################################################################
65
class TestImages_TestModelAdding_ExceptCorrectResult(_TestUploadingBase):
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'))
75
class TestImages_TestModelAddingTwiceTheSameNameAndRevision_ExceptRaises(_TestUploadingBase):
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})
84
class TestImages_TestModelAddingTwiceTheSameNameDifferentRevision_ExceptRaises(_TestUploadingBase):
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)
96
# This test is not of much use
97
# class TestImages_TestUploadForm_ExceptCorrectResult(_TestUploadingBase):
99
# form = UploadImageForm()
100
# self.assertEqual( form.is_valid(), False )
102
if __name__ == '__main__':
104
# k = TestWlMarkdown_WikiWordsInLink_ExceptCorrectResult()
105
# unittest.TextTestRunner().run(k)