1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
import datetime
import unittest
from twilio.base import serialize, values
class Iso8601DateTestCase(unittest.TestCase):
def test_unset(self):
value = values.unset
actual = serialize.iso8601_date(value)
self.assertEqual(values.unset, actual)
def test_datetime(self):
value = datetime.datetime(2015, 1, 2, 12, 0, 0, 0)
actual = serialize.iso8601_date(value)
self.assertEqual('2015-01-02', actual)
def test_datetime_without_time(self):
value = datetime.datetime(2015, 1, 2)
actual = serialize.iso8601_date(value)
self.assertEqual('2015-01-02', actual)
def test_date(self):
value = datetime.date(2015, 1, 2)
actual = serialize.iso8601_date(value)
self.assertEqual('2015-01-02', actual)
def test_str(self):
actual = serialize.iso8601_date('2015-01-02')
self.assertEqual('2015-01-02', actual)
class Iso8601DateTimeTestCase(unittest.TestCase):
def test_unset(self):
value = values.unset
actual = serialize.iso8601_datetime(value)
self.assertEqual(values.unset, actual)
def test_datetime(self):
value = datetime.datetime(2015, 1, 2, 3, 4, 5, 6)
actual = serialize.iso8601_datetime(value)
self.assertEqual('2015-01-02T03:04:05Z', actual)
def test_datetime_without_time(self):
value = datetime.datetime(2015, 1, 2)
actual = serialize.iso8601_datetime(value)
self.assertEqual('2015-01-02T00:00:00Z', actual)
def test_date(self):
value = datetime.date(2015, 1, 2)
actual = serialize.iso8601_datetime(value)
self.assertEqual('2015-01-02T00:00:00Z', actual)
def test_str(self):
actual = serialize.iso8601_datetime('2015-01-02T03:04:05Z')
self.assertEqual('2015-01-02T03:04:05Z', actual)
class PrefixedCollapsibleMapTestCase(unittest.TestCase):
def test_unset(self):
value = values.unset
actual = serialize.prefixed_collapsible_map(value, 'Prefix')
self.assertEqual({}, actual)
def test_single_key(self):
value = {
'foo': 'bar'
}
actual = serialize.prefixed_collapsible_map(value, 'Prefix')
self.assertEqual({
'Prefix.foo': 'bar'
}, actual)
def test_nested_key(self):
value = {
'foo': {
'bar': 'baz'
}
}
actual = serialize.prefixed_collapsible_map(value, 'Prefix')
self.assertEqual({
'Prefix.foo.bar': 'baz'
}, actual)
def test_multiple_keys(self):
value = {
'watson': {
'language': 'en',
'alice': 'bob'
},
'foo': 'bar'
}
actual = serialize.prefixed_collapsible_map(value, 'Prefix')
self.assertEqual({
'Prefix.watson.language': 'en',
'Prefix.watson.alice': 'bob',
'Prefix.foo': 'bar'
}, actual)
def test_list(self):
value = [
'foo',
'bar'
]
actual = serialize.prefixed_collapsible_map(value, 'Prefix')
self.assertEqual({}, actual)
class ObjectTestCase(unittest.TestCase):
def test_object(self):
actual = serialize.object({'twilio': 'rocks'})
self.assertEqual('{"twilio": "rocks"}', actual)
def test_list(self):
actual = serialize.object(['twilio', 'rocks'])
self.assertEqual('["twilio", "rocks"]', actual)
def test_does_not_change_other_types(self):
actual = serialize.object('{"attribute":"value"}')
self.assertEqual('{"attribute":"value"}', actual)
class MapTestCase(unittest.TestCase):
def test_maps_func_to_list(self):
actual = serialize.map([1, 2, 3], lambda e: e * 2)
self.assertEqual([2, 4, 6], actual)
def test_does_not_change_other_types(self):
actual = serialize.map("abc", lambda e: e * 2)
self.assertEqual("abc", actual)
actual = serialize.map(123, lambda e: e * 2)
self.assertEqual(123, actual)
actual = serialize.map({'some': 'val'}, lambda e: e * 2)
self.assertEqual({'some': 'val'}, actual)
|