Skip to content

Commit

Permalink
New tests for Flask URL generation
Browse files Browse the repository at this point in the history
  • Loading branch information
amercader committed Jun 7, 2016
1 parent 5d70f30 commit c9cef38
Showing 1 changed file with 71 additions and 3 deletions.
74 changes: 71 additions & 3 deletions ckan/tests/lib/test_helpers.py
Expand Up @@ -17,7 +17,26 @@
CkanUrlException = ckan.exceptions.CkanUrlException


class TestHelpersUrlForStatic(object):
class BaseUrlFor(object):

@classmethod
def setup_class(cls):

cls.app = helpers._get_test_app(config_overrides={
'ckan.site_url': 'http://example.com'
})

def setup(self):

self.request_context = self.app.flask_app.test_request_context()
self.request_context.push()

def teardown(self):

self.request_context.pop()


class TestHelpersUrlForStatic(BaseUrlFor):

def test_url_for_static(self):
url = '/assets/ckan.jpg'
Expand Down Expand Up @@ -63,7 +82,7 @@ def test_url_for_static_with_root_path_and_script_name_env(self):
eq_(generated_url, url)


class TestHelpersUrlForStaticOrExternal(object):
class TestHelpersUrlForStaticOrExternal(BaseUrlFor):

def test_url_for_static_or_external(self):
url = '/assets/ckan.jpg'
Expand All @@ -87,7 +106,7 @@ def test_url_for_static_or_external_works_with_protocol_relative_url(self):
eq_(h.url_for_static_or_external(url), url)


class TestHelpersUrlFor(object):
class TestHelpersUrlFor(BaseUrlFor):

@helpers.change_config('ckan.site_url', 'http://example.com')
def test_url_for_default(self):
Expand Down Expand Up @@ -174,6 +193,55 @@ def test_url_for_qualified_with_root_path_locale_and_script_name_env(self):
eq_(generated_url, url)


class TestHelpersUrlForFlaskandPylons(BaseUrlFor):

def test_url_for_flask_route_new_syntax(self):
url = '/api/3/action/status_show'
generated_url = h.url_for('api.action', logic_function='status_show', ver=3)
eq_(generated_url, url)

def test_url_for_flask_route_old_syntax(self):
url = '/api/3/action/status_show'
generated_url = h.url_for(controller='api', action='action', logic_function='status_show', ver=3)
eq_(generated_url, url)

@helpers.change_config('ckan.site_url', 'http://example.com')
def test_url_for_flask_route_new_syntax_external(self):
url = 'http://example.com/api/3/action/status_show'
generated_url = h.url_for('api.action', logic_function='status_show', ver=3, _external=True)
eq_(generated_url, url)

@helpers.change_config('ckan.site_url', 'http://example.com')
def test_url_for_flask_route_old_syntax_external(self):
url = 'http://example.com/api/3/action/status_show'
generated_url = h.url_for(controller='api', action='action', logic_function='status_show', ver=3, _external=True)
eq_(generated_url, url)

@helpers.change_config('ckan.site_url', 'http://example.com')
def test_url_for_flask_route_old_syntax_qualified(self):
url = 'http://example.com/api/3/action/status_show'
generated_url = h.url_for(controller='api', action='action', logic_function='status_show', ver=3, qualified=True)
eq_(generated_url, url)

@helpers.change_config('ckan.site_url', 'http://example.com')
def test_url_for_flask_route_new_syntax_site_url(self):
url = '/api/3/action/status_show'
generated_url = h.url_for('api.action', logic_function='status_show', ver=3)
eq_(generated_url, url)

@helpers.change_config('ckan.site_url', 'http://example.com')
def test_url_for_flask_route_old_syntax_site_url(self):
url = '/api/3/action/status_show'
generated_url = h.url_for(controller='api', action='action', logic_function='status_show', ver=3)
eq_(generated_url, url)

def test_url_for_flask_route_new_syntax_request_context(self):
with self.app.flask_app.test_request_context():
url = '/api/3/action/status_show'
generated_url = h.url_for('api.action', logic_function='status_show', ver=3)
eq_(generated_url, url)


class TestHelpersRenderMarkdown(object):

def test_render_markdown_allow_html(self):
Expand Down

0 comments on commit c9cef38

Please sign in to comment.