Skip to content

Commit

Permalink
Add test
Browse files Browse the repository at this point in the history
  • Loading branch information
jguo144 committed Nov 9, 2024
1 parent 9529741 commit 8ca82c5
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ def custom_footer_validator(value):
if layout_type not in ['default', 'custom']:
raise toolkit.Invalid('Invalid footer layout')

# content is sanitized by controller soo only taught validation required
# content is sanitized by controller so only simple validation required
content_0 = value.get('content_0')
if helper.check_characters(content_0):
raise toolkit.Invalid('Invalid characters in Column 1')
Expand Down
48 changes: 42 additions & 6 deletions ckanext/opendata_theme/tests/base/test_helpers.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,56 @@
import pytest

from ckanext.opendata_theme.base.helpers import version_builder
from ckanext.opendata_theme.base.helpers import (
abbreviate_name, is_data_dict_active,
get_group_alias, get_organization_alias,
version_builder, check_characters,
sanityze_all_html
)
from packaging.version import InvalidVersion


def test_abbreviate_name():
assert abbreviate_name('John Smith') == 'JS'
assert abbreviate_name('test') == 'T'


def test_is_data_dict_active():
assert is_data_dict_active([{'info': {'label': 'test'}}])
assert is_data_dict_active([{'info': {'notes': 'test'}}])
assert is_data_dict_active([{'info': {'label': 'test', 'notes': 'test'}}])
assert not is_data_dict_active([{'info': {}}])
assert not is_data_dict_active([{}])
assert not is_data_dict_active([])


def test_get_group_alias():
assert get_group_alias() == 'Group'


def test_get_organization_alias():
assert get_organization_alias() == 'Organization'


def test_version_builder_positive():
assert version_builder('2.7') < version_builder('2.9')
assert version_builder('2.7.0') < version_builder('2.7.3')
assert version_builder('2.7.3') < version_builder('2.7.12')
assert version_builder('2.7.3') < version_builder('2.9.0')
assert version_builder('2.7.3') < version_builder('2.9.7')
assert version_builder('2.7.12') < version_builder('2.9.0')
assert version_builder('2.7.12') < version_builder('2.9.7')
assert version_builder('2.7.12') < version_builder('2.10.0')
assert version_builder('2.7.3') < version_builder('2.9.11')
assert version_builder('2.7.12') < version_builder('2.9.11')
assert version_builder('2.9.11') < version_builder('2.10.0')
assert version_builder('2.9.11') < version_builder('2.11.0')


def test_version_builder_failed_to_build():
with pytest.raises(InvalidVersion):
assert version_builder('1.3.xy123')


def test_check_characters():
assert check_characters('') is False


def test_sanityze_all_html():
assert sanityze_all_html('<script>alert("test")</script>') == '&lt;script&gt;alert("test")&lt;/script&gt;'
assert sanityze_all_html('<a href="test">test</a>') == '&lt;a href="test"&gt;test&lt;/a&gt;'
assert sanityze_all_html('test') == 'test'
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import pytest

from ckanext.opendata_theme.opengov_custom_footer.plugin import get_footer_script_snippet
from ckanext.opendata_theme.tests.helpers import do_get, do_post

CUSTOM_FOOTER_URL = "/ckan-admin/custom_footer"
Expand Down Expand Up @@ -100,3 +101,7 @@ def test_reset_custom_footer_form_after_some_footer_modification(app):
'content_2': ''
}
check_custom_footer_page_html(reset_response, **expected_data)


def test_invalid_get_footer_script_snippet():
assert get_footer_script_snippet() is False

0 comments on commit 8ca82c5

Please sign in to comment.