Files
attract/tests/test_shortcode.py
Sybren A. Stüvel 1be31bdb22 Fix issue with task shortcodes
Part of the code assumed shortcodes were globally unique, and another part
assumed the shortcodes are unique per project (the latter is correct).

Now the project ID is taken from the URL the Subversion hook pushes to.
2018-04-19 18:14:02 +02:00

41 lines
1.4 KiB
Python

import bson
from abstract_attract_test import AbstractAttractTest
SVN_SERVER_URL = 'svn://biserver/agent327'
class ShortcodeTest(AbstractAttractTest):
def setUp(self, **kwargs):
AbstractAttractTest.setUp(self, **kwargs)
self.mngr = self.attract.task_manager
self.proj_id, self.project = self.ensure_project_exists()
def test_increment_simple(self):
from attract import shortcodes
with self.app.test_request_context():
code = shortcodes.generate_shortcode(self.proj_id, 'jemoeder', 'ø')
self.assertEqual('ø1', code)
with self.app.test_request_context():
code = shortcodes.generate_shortcode(self.proj_id, 'jemoeder', 'č')
self.assertEqual('č2', code)
def test_multiple_projects(self):
from attract import shortcodes
proj_id2, project2 = self.ensure_project_exists(project_overrides={
'_id': bson.ObjectId(24 * 'f'),
'url': 'proj2',
})
with self.app.app_context():
code1 = shortcodes.generate_shortcode(self.proj_id, 'jemoeder', 'č')
code2 = shortcodes.generate_shortcode(proj_id2, 'jemoeder', 'č')
code3 = shortcodes.generate_shortcode(proj_id2, 'jemoeder', 'č')
self.assertEqual('č1', code1)
self.assertEqual('č1', code2)
self.assertEqual('č2', code3)