test_sync.py
48 lines
| 1.5 KiB
| text/x-python
|
PythonLexer
neko259
|
r836 | from boards.models import KeyPair, Post | ||
from boards.tests.mocks import MockRequest | ||||
from boards.views.sync import respond_get | ||||
__author__ = 'neko259' | ||||
from django.test import TestCase | ||||
class SyncTest(TestCase): | ||||
def test_get(self): | ||||
""" | ||||
Forms a GET request of a post and checks the response. | ||||
""" | ||||
neko259
|
r837 | KeyPair.objects.generate_key(primary=True) | ||
neko259
|
r836 | post = Post.objects.create_post(title='test_title', text='test_text') | ||
request = MockRequest() | ||||
request.POST['xml'] = ( | ||||
'<request type="get" version="1.0">' | ||||
'<model name="post" version="1.0">' | ||||
'<id key="%s" local-id="%d" type="%s" />' | ||||
'</model>' | ||||
'</request>' % (post.global_id.key, | ||||
post.id, | ||||
post.global_id.key_type) | ||||
) | ||||
self.assertTrue( | ||||
'<status>success</status>' | ||||
'<models>' | ||||
neko259
|
r838 | '<model name="post">' | ||
'<content>' | ||||
neko259
|
r836 | '<id key="%s" local-id="%d" type="%s" />' | ||
'<title>%s</title>' | ||||
'<text>%s</text>' | ||||
'<pub-time>%d</pub-time>' | ||||
neko259
|
r838 | '</content>' % ( | ||
neko259
|
r836 | post.global_id.key, | ||
post.id, | ||||
post.global_id.key_type, | ||||
post.title, | ||||
neko259
|
r935 | post.get_raw_text(), | ||
neko259
|
r836 | post.get_pub_time_epoch(), | ||
) in respond_get(request).content.decode(), | ||||
neko259
|
r935 | 'Wrong response generated for the GET request.') | ||