@@ -132,6 +132,24 @@ def test_model_obj_serialization(self):
132132 assert self .test_serializer .serialize (test_model_obj_1 ) == expected_serialized_obj , \
133133 "Default Serializer serialized model object incorrectly"
134134
135+ def test_model_obj_without_attrmap_serialization (self ):
136+ test_obj_inst = data .ModelTestObject3 (str_var = "test" , int_var = 123 )
137+ expected_dict = {
138+ "str_var" : "test" ,
139+ "int_var" : 123
140+ }
141+ assert self .test_serializer .serialize (test_obj_inst ) == expected_dict , \
142+ "Default Serializer serialized object without attribute_map incorrectly"
143+
144+ def test_model_obj_with_incomplete_attrmap_serialization (self ):
145+ test_obj_inst = data .ModelTestObject4 (str_var = "test" , float_var = 3.14 )
146+ expected_dict = {
147+ "str_var" : "test" ,
148+ "floatingValue" : 3.14
149+ }
150+ assert self .test_serializer .serialize (test_obj_inst ) == expected_dict , \
151+ "Default Serializer serialized object with incomplete attribute map incorrectly"
152+
135153 def test_enum_obj_serialization (self ):
136154 test_model_obj_2 = data .ModelTestObject2 (int_var = 123 )
137155 test_enum_obj = data .ModelEnumObject ("ENUM_VAL_1" )
@@ -406,6 +424,34 @@ def test_model_obj_with_additional_params_in_payload_deserialization(self):
406424 test_payload , test_obj_type ) == expected_obj , (
407425 "Default Serializer deserialized model object incorrectly when payload has additional parameters" )
408426
427+ def test_model_obj_without_attrmap_deserialization (self ):
428+ test_payload = {
429+ "str_var" : "Test" ,
430+ "int_var" : 123
431+ }
432+ test_obj_type = data .ModelTestObject3
433+ expected_obj = data .ModelTestObject3 (str_var = "Test" , int_var = 123 )
434+
435+ with patch ("json.loads" ) as mock_json_loader :
436+ mock_json_loader .return_value = test_payload
437+ assert self .test_serializer .deserialize (
438+ test_payload , test_obj_type ) == expected_obj , (
439+ "Default Serializer deserialized model object without attribute map incorrectly" )
440+
441+ def test_model_obj_with_incomplete_attrmap_deserialization (self ):
442+ test_payload = {
443+ "str_var" : "Test" ,
444+ "floatingValue" : 3.14
445+ }
446+ test_obj_type = data .ModelTestObject4
447+ expected_obj = data .ModelTestObject4 (str_var = "Test" , float_var = 3.14 )
448+
449+ with patch ("json.loads" ) as mock_json_loader :
450+ mock_json_loader .return_value = test_payload
451+ assert self .test_serializer .deserialize (
452+ test_payload , test_obj_type ) == expected_obj , (
453+ "Default Serializer deserialized model object with incomplete attribute map incorrectly" )
454+
409455 def test_invalid_model_obj_deserialization (self ):
410456 test_payload = {
411457 "var_1" : "some value"
0 commit comments