--HG-- rename : wsme/protocols/__init__.py => wsme/protocol.py rename : wsme/protocols/commons.py => wsme/rest/args.py rename : wsme/protocols/restjson.py => wsme/rest/json.py rename : wsme/protocols/rest.py => wsme/rest/protocol.py rename : wsme/protocols/restxml.py => wsme/rest/xml.py
51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
# encoding=utf8
|
|
|
|
import datetime
|
|
import unittest
|
|
|
|
from wsme.rest.args import from_param, from_params
|
|
|
|
from wsme.types import UserType, Unset, ArrayType, DictType
|
|
|
|
|
|
class MyUserType(UserType):
|
|
basetype = str
|
|
|
|
|
|
class TestProtocolsCommons(unittest.TestCase):
|
|
def test_from_param_date(self):
|
|
assert from_param(datetime.date, '2008-02-28') == \
|
|
datetime.date(2008, 2, 28)
|
|
|
|
def test_from_param_time(self):
|
|
assert from_param(datetime.time, '12:14:56') == \
|
|
datetime.time(12, 14, 56)
|
|
|
|
def test_from_param_datetime(self):
|
|
assert from_param(datetime.datetime, '2009-12-23T12:14:56') == \
|
|
datetime.datetime(2009, 12, 23, 12, 14, 56)
|
|
|
|
def test_from_param_usertype(self):
|
|
assert from_param(MyUserType(), 'test') == 'test'
|
|
|
|
def test_from_params_empty(self):
|
|
assert from_params(str, {}, '', set()) is Unset
|
|
|
|
def test_from_params_native_array(self):
|
|
class params(dict):
|
|
def getall(self, path):
|
|
return ['1', '2']
|
|
p = params({'a': []})
|
|
assert from_params(ArrayType(int), p, 'a', set()) == [1, 2]
|
|
|
|
def test_from_params_empty_array(self):
|
|
assert from_params(ArrayType(int), {}, 'a', set()) is Unset
|
|
|
|
def test_from_params_dict(self):
|
|
value = from_params(DictType(int, str), {
|
|
'a[2]': 'a2', 'a[3]': 'a3'}, 'a', set())
|
|
assert value == {2: 'a2', 3: 'a3'}, value
|
|
|
|
def test_from_params_dict_unset(self):
|
|
assert from_params(DictType(int, str), {}, 'a', set()) is Unset
|