2016-08-31 11:30:55 +02:00
|
|
|
from pillar.tests import PillarTestServer, AbstractPillarTest
|
2016-09-08 12:42:42 +02:00
|
|
|
|
2016-09-20 14:47:23 +02:00
|
|
|
MOCK_SVN_URL = 'svn://biserver/mocked'
|
|
|
|
|
2016-08-31 11:30:55 +02:00
|
|
|
|
|
|
|
class AttractTestServer(PillarTestServer):
|
2016-07-29 17:43:58 +02:00
|
|
|
def __init__(self, *args, **kwargs):
|
2016-09-08 12:42:42 +02:00
|
|
|
PillarTestServer.__init__(self, *args, **kwargs)
|
2016-07-29 17:43:58 +02:00
|
|
|
|
2016-09-20 15:13:18 +02:00
|
|
|
from attract import AttractExtension
|
2016-07-29 17:43:58 +02:00
|
|
|
self.load_extension(AttractExtension(), '/attract')
|
|
|
|
|
|
|
|
|
|
|
|
class AbstractAttractTest(AbstractPillarTest):
|
2016-08-31 11:30:55 +02:00
|
|
|
pillar_server_class = AttractTestServer
|
2016-09-08 12:42:42 +02:00
|
|
|
|
2016-09-20 15:13:18 +02:00
|
|
|
def tearDown(self):
|
2016-11-01 12:33:03 +01:00
|
|
|
from attract import subversion
|
|
|
|
|
|
|
|
subversion.task_logged._clear_state()
|
2016-09-20 15:13:18 +02:00
|
|
|
self.unload_modules('attract')
|
2016-11-01 12:33:03 +01:00
|
|
|
|
2016-09-20 15:13:18 +02:00
|
|
|
AbstractPillarTest.tearDown(self)
|
|
|
|
|
2016-09-08 12:42:42 +02:00
|
|
|
def ensure_project_exists(self, project_overrides=None):
|
2016-09-20 15:13:18 +02:00
|
|
|
from attract.setup import setup_for_attract
|
|
|
|
|
2016-09-08 12:42:42 +02:00
|
|
|
project_overrides = dict(
|
|
|
|
picture_header=None,
|
|
|
|
picture_square=None,
|
|
|
|
**(project_overrides or {})
|
|
|
|
)
|
|
|
|
proj_id, project = AbstractPillarTest.ensure_project_exists(self, project_overrides)
|
|
|
|
|
|
|
|
with self.app.test_request_context():
|
2016-09-20 14:47:23 +02:00
|
|
|
attract_project = setup_for_attract(project['url'],
|
|
|
|
replace=True,
|
|
|
|
svn_url=MOCK_SVN_URL)
|
2016-09-08 12:42:42 +02:00
|
|
|
|
|
|
|
return proj_id, attract_project
|