Added unittest for SVN push hook
This commit is contained in:
@@ -13,8 +13,11 @@ from dateutil.tz import tzutc
|
||||
import mock
|
||||
import svn.common
|
||||
|
||||
from pillar.tests import common_test_data as ctd
|
||||
|
||||
import logging_config
|
||||
from attract import subversion
|
||||
from abstract_attract_test import AbstractAttractTest
|
||||
|
||||
SVN_SERVER_URL = 'svn://biserver/agent327'
|
||||
|
||||
@@ -187,3 +190,42 @@ class TestCommitLogObserver(unittest.TestCase):
|
||||
u'børk',
|
||||
None
|
||||
))
|
||||
|
||||
|
||||
class PushCommitTest(AbstractAttractTest):
|
||||
def setUp(self, **kwargs):
|
||||
AbstractAttractTest.setUp(self, **kwargs)
|
||||
|
||||
self.mngr = self.app.pillar_extensions['attract'].task_manager
|
||||
self.proj_id, self.project = self.ensure_project_exists()
|
||||
|
||||
def test_push_happy(self):
|
||||
from attract import cli
|
||||
|
||||
with self.app.test_request_context():
|
||||
_, token = cli.create_svner_account('svner@example.com', self.project['url'])
|
||||
|
||||
blinks = []
|
||||
|
||||
def record_blink(sender, **kwargs):
|
||||
blinks.append(kwargs)
|
||||
|
||||
subversion.task_logged.connect(record_blink)
|
||||
|
||||
push_data = {
|
||||
'repo': u'strange-repo™',
|
||||
'revision': '4',
|
||||
'msg': u'မြန်မာဘာသာ is beautiful.\n\nThis solves task [T431134]',
|
||||
'author': 'Haha',
|
||||
'date': '2016-10-21 17:40:17 +0200',
|
||||
}
|
||||
|
||||
self.post('/attract/api/%s/subversion/log' % self.project['url'],
|
||||
json=push_data,
|
||||
auth_token=token['token'])
|
||||
|
||||
self.assertEqual(1, len(blinks))
|
||||
self.assertEqual(u'မြန်မာဘာသာ is beautiful.\n\nThis solves task [T431134]',
|
||||
blinks[0]['log_entry'].msg)
|
||||
self.assertEqual(datetime.datetime(2016, 10, 21, 15, 40, 17, 0, tzinfo=tzutc()),
|
||||
blinks[0]['log_entry'].date)
|
||||
|
Reference in New Issue
Block a user