Skip to content
Snippets Groups Projects
Commit 4bcf4b36 authored by chbaeh's avatar chbaeh
Browse files

add validation unit tests

parent a839cac1
No related branches found
No related tags found
No related merge requests found
...@@ -7,10 +7,13 @@ from mock import MagicMock, Mock, patch ...@@ -7,10 +7,13 @@ from mock import MagicMock, Mock, patch
def mockInvalid(*args, **kwargs): def mockInvalid(*args, **kwargs):
return Exception(*args, **kwargs) return Exception(*args, **kwargs)
def mock_(s): def mock_(s):
return s return s
m = MagicMock()
class MissingMock:
pass
m.Missing=MissingMock
sys.modules['ckan'] = MagicMock() sys.modules['ckan'] = MagicMock()
sys.modules['ckan.plugins'] = MagicMock() sys.modules['ckan.plugins'] = MagicMock()
...@@ -18,14 +21,16 @@ sys.modules['ckan.plugins.toolkit'] = MagicMock() ...@@ -18,14 +21,16 @@ sys.modules['ckan.plugins.toolkit'] = MagicMock()
sys.modules['ckan.model'] = MagicMock() sys.modules['ckan.model'] = MagicMock()
sys.modules['ckan.lib'] = MagicMock() sys.modules['ckan.lib'] = MagicMock()
sys.modules['ckan.lib.navl'] = MagicMock() sys.modules['ckan.lib.navl'] = MagicMock()
sys.modules['ckan.lib.navl.dictization_functions'] = MagicMock() sys.modules['ckan.lib.navl.dictization_functions'] = m
sys.modules['pylons'] = MagicMock() sys.modules['pylons'] = MagicMock()
import ckan.model as modelMock
import pylons
import ckan.plugins.toolkit as toolkit import ckan.plugins.toolkit as toolkit
toolkit.Invalid = mockInvalid toolkit.Invalid = mockInvalid
toolkit._ = mock_ toolkit._ = mock_
import pylons
from ckanext.odsh.validation import * from ckanext.odsh.validation import *
...@@ -67,3 +72,14 @@ def test_known_spatial_uri(url_mock, get_mock, csv_mock): ...@@ -67,3 +72,14 @@ def test_known_spatial_uri(url_mock, get_mock, csv_mock):
assert data[('extras', 1, 'value')] == 'text' assert data[('extras', 1, 'value')] == 'text'
assert data[('extras', 2, 'key')] == 'spatial' assert data[('extras', 2, 'key')] == 'spatial'
assert data[('extras', 2, 'value')] == '0' assert data[('extras', 2, 'value')] == '0'
def test_validate_licenseAttributionByText():
# arrange
def get_licenses():
return {}
modelMock.Package.get_license_register = get_licenses
data = {'license_id': '0',
('extras', 0, 'key'): 'licenseAttributionByText',
('extras', 0, 'value'): ''}
validate_licenseAttributionByText('key', data, {}, None)
...@@ -104,6 +104,7 @@ def validate_licenseAttributionByText(key, data, errors,context): ...@@ -104,6 +104,7 @@ def validate_licenseAttributionByText(key, data, errors,context):
isByLicense = True isByLicense = True
break break
hasAttribution=False hasAttribution=False
print(Missing)
for k in data: for k in data:
if data[k] == 'licenseAttributionByText': if data[k] == 'licenseAttributionByText':
if isinstance(data[(k[0], k[1], 'value')], Missing) or (k[0], k[1], 'value') not in data: if isinstance(data[(k[0], k[1], 'value')], Missing) or (k[0], k[1], 'value') not in data:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment