def test_A_simplejson(): with mock.reset_modules('thorn.utils.json'): from thorn.utils import json obj = Mock(name='obj') encode = Mock(name='encode') assert json.dumps(obj, encode=encode) is encode.return_value encode.assert_called_with(obj, cls=json.JsonEncoder)
def test_B_simplejson(self, _simplejson): with mock.reset_modules('thorn.utils.json'): from thorn.utils import json obj = Mock(name='obj') encode = Mock(name='encode') self.assertIs(json.dumps(obj, encode=encode), encode.return_value) encode.assert_called_with( obj, cls=json.JsonEncoder, use_decimal=False)
def test_encode_datetime(): now = datetime.utcnow() now_utc = now.replace(tzinfo=pytz.utc) stripped = datetime(*now.timetuple()[:3]) serialized = loads(dumps({ 'datetime': now, 'tz': now_utc, 'date': now.date(), 'time': now.time()}, )) assert serialized == { 'datetime': now.isoformat(), 'tz': '{0}Z'.format(now_utc.isoformat().split('+', 1)[0]), 'time': now.time().isoformat(), 'date': stripped.isoformat(), }
def test_default(): with pytest.raises(TypeError): dumps({'o': object()})
def test_encode_UUID(): id = uuid4() assert loads(dumps({'u': id})) == { 'u': text_type(id), }
def test_encode_Decimal(): d = Decimal('3314132.13363235235324234123213213214134') assert loads(dumps({'d': d})) == { 'd': text_type(d), }
def test_dumps(self): obj = Mock(name='obj') encode = Mock(name='encode') self.assertIs(dumps(obj, encode=encode), encode.return_value) encode.assert_called_with(obj, cls=JsonEncoder)
def test_default(self): with self.assertRaises(TypeError): dumps({'o': object()})
def test_UUID(self): id = uuid4() self.assertDictEqual(loads(dumps({'u': id})), { 'u': text_type(id), })
def test_Decimal(self): d = Decimal('3314132.13363235235324234123213213214134') self.assertDictEqual(loads(dumps({'d': d})), { 'd': text_type(d), })