@@ -33,6 +33,11 @@ def tearDown(self):
3333 for logger in self .loggers :
3434 del global_loggers [logger .name ]
3535
36+ def test_utils_data_to_json_string (self ):
37+ dummy = 'test'
38+ result = stackify .utils .data_to_json (dummy )
39+ self .assertEqual ('"test"' , result )
40+
3641 def test_utils_data_to_json_unserializable (self ):
3742 dummy = Dummy ()
3843 result = stackify .utils .data_to_json (dummy )
@@ -60,9 +65,9 @@ def test_utils_data_to_json_tuple(self):
6065 self .assertEqual (expected , result )
6166
6267 def test_utils_data_to_json_dummy_iterable (self ):
63- dummy = DummyInterable ()
68+ dummy = DummyIterable ()
6469 result = stackify .utils .data_to_json (dummy )
65- expected = '{"a": 21} '
70+ expected = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] '
6671 self .assertEqual (expected , result )
6772
6873 def test_utils_data_to_json_dummy_object_with_property (self ):
@@ -82,17 +87,38 @@ def test_utils_data_to_json_dummy_object_circular(self, func):
8287 data ['payload' ]['dummy' ] = data
8388
8489 result = stackify .utils .data_to_json (data )
85- func .assert_called ()
8690
87- substring = "'dummy': <tests.test_utils.DummyProperty object at"
91+ substring = "'payload': {'dummy': "
92+ data_str = str (data )
93+
94+ assert func .called
95+ assert "Failed to serialize object to json: {}" .format (data_str ) in func .call_args_list [0 ][0 ][0 ]
96+
8897 self .assertTrue (substring in result )
98+ self .assertEqual (result , data_str )
8999
90100 def test_utils_data_to_json_dummy_request (self ):
91101 dummy = DummyRequest ()
92102 result = stackify .utils .data_to_json (dummy )
93103 substring = '{"_messages": "<tests.test_utils.Dummy object at'
94104 self .assertTrue (substring in result )
95105
106+ def test_utils_extract_request_dummy_wsgi_request (self ):
107+ dummy = WSGIRequestMock ()
108+ dummy .path = 'test'
109+ dummy .POST = 'test_form'
110+ dummy .not_exists = 'test'
111+ data = {
112+ 'request' : dummy
113+ }
114+
115+ result = stackify .utils .extract_request (data )
116+ request = result ['request' ]
117+
118+ self .assertEqual (request ['path' ], 'test' )
119+ self .assertEqual (request ['form' ], 'test_form' )
120+ self .assertTrue ('not_exists' not in request )
121+
96122
97123class RegexValidatorTest (ClearEnvTest ):
98124
@@ -120,13 +146,13 @@ class Dummy(object):
120146 pass
121147
122148
123- class DummyInterable :
149+ class DummyIterable :
124150 def __iter__ (self ):
125151 self .a = 1
126152 return self
127153
128154 def __next__ (self ):
129- if self .a <= 20 :
155+ if self .a <= 10 :
130156 x = self .a
131157 self .a += 1
132158 return x
@@ -147,5 +173,10 @@ def __init__(self):
147173 self ._messages = Dummy ()
148174
149175
176+ class WSGIRequestMock :
177+ def __init__ (self ):
178+ pass
179+
180+
150181if __name__ == '__main__' :
151182 unittest .main ()
0 commit comments