· 5 years ago · Aug 20, 2020, 01:04 PM
1from django.test import TestCase
2from secretpost.models import Secret
3from secretpost.views import secretPost,secretGet
4from django.http import HttpRequest
5from django.test import Client
6
7
8c = Client()
9
10
11class secretTestCase(TestCase):
12 def test_object(self):
13 obj = Secret(text = b'privet', secret_key = 'medved')
14 obj.save()
15 obj = Secret.objects.filter(text = b'privet')[0]
16 self.assertEqual(obj.secret_key, 'medved')
17
18
19 payload = {'text':'cool', 'key':'some key goes here'}
20 def test_postIsPost(self):
21 resp = c.get('/secretpost/', payload)
22 self.assertEqual(resp.content, b'request is not POST')
23
24
25 def test_postInvalidPayload(self):
26 resp = c.post('/secretpost/', {})
27 self.assertEqual(resp.content, b'payload is invalid, please provide "text" and "key"')
28
29
30 def test_postCorrect(self):
31 resp = c.post('/secretpost/', payload)
32 self.assertEqual(len(resp.content),16)
33
34
35 resp = c.post('/secretpost/', payload)
36 link = '/secretpost/' + str(resp.content.decode('utf-8'))
37 def test_getIsGet(self):
38 resp = c.post(link)
39 self.assertEqual(resp.content, b'request is not GET')
40
41
42 def test_getNoKey(self):
43 resp = c.get(link, {})
44 self.assertEqual(resp.content, b'no key provided!')
45
46
47 def test_getWrongKey(self):
48 resp = c.get(link, {'key':'wrong_key'})
49 self.assertNotEqual(resp.content.decode('utf-8'), payload['text'])
50
51
52 def test_getCorrect(self):
53 resp = c.get(link, {'key':payload['key']})
54 self.assertEqual(resp.content.decode('utf-8'), payload['text'])
55
56
57 def test_getNotFound(self):
58 resp = c.get('/secretpost/' + 'random_str', {'key':payload['key']})
59 self.assertEqual(resp.content, b'secret not found')
60
61
62 # add deletion here
63
64
65