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

add unit tests for validation

parent 5407174b
Branches
Tags
No related merge requests found
import sys
import json
from nose.tools import *
from mock import MagicMock, Mock, patch
def mockInvalid(*args, **kwargs):
return Exception(*args, **kwargs)
def mock_(s):
return s
sys.modules['ckan'] = MagicMock()
sys.modules['ckan.plugins'] = MagicMock()
sys.modules['ckan.plugins.toolkit'] = MagicMock()
sys.modules['ckan.model'] = MagicMock()
sys.modules['ckan.lib'] = MagicMock()
sys.modules['ckan.lib.navl'] = MagicMock()
sys.modules['ckan.lib.navl.dictization_functions'] = MagicMock()
sys.modules['pylons'] = MagicMock()
import ckan.plugins.toolkit as toolkit
toolkit.Invalid = mockInvalid
toolkit._ = mock_
import pylons
from ckanext.odsh.validation import *
def test_get_validators():
assert get_validators()
def test_tag_string_convert():
# arrange
data = {'tag_string': 'tag1,tag2'}
# act
tag_string_convert('tag_string', data, {}, None)
# assert
assert data[('tags', 0, 'name')] == 'tag1'
assert data[('tags', 1, 'name')] == 'tag2'
@raises(Exception)
def test_tag_name_validator_invalid():
tag_name_validator('&', None)
def test_tag_name_validator_valid():
tag_name_validator('valid', None)
@patch('urllib2.urlopen')
@patch('pylons.config.get', side_effect='foo')
@patch('csv.reader', side_effect=[[['uri', 'text', json.dumps({"geometry":0})]]])
def test_known_spatial_uri(url_mock, get_mock, csv_mock):
# arrange
data = {('extras', 0, 'key'): 'spatial_uri',
('extras', 0, 'value'): 'uri'}
# act
known_spatial_uri('spatial_uri', data, {}, None)
# assert
assert data[('extras', 1, 'key')] == 'spatial_text'
assert data[('extras', 1, 'value')] == 'text'
assert data[('extras', 2, 'key')] == 'spatial'
assert data[('extras', 2, 'value')] == '0'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment