1212from scim2_models import Extension
1313from scim2_models import ExternalReference
1414from scim2_models import Meta
15+ from scim2_models import Mutability
1516from scim2_models import Reference
1617from scim2_models import Required
1718from scim2_models import Resource
@@ -258,7 +259,13 @@ def check_resource_type(
258259
259260 results = []
260261 garbages = []
261- obj , obj_garbages = fill_with_random_values (conf , model ())
262+ field_names = [
263+ field_name
264+ for field_name in model .model_fields .keys ()
265+ if model .get_field_annotation (field_name , Mutability )
266+ in (Mutability .read_write , Mutability .write_only , Mutability .immutable )
267+ ]
268+ obj , obj_garbages = fill_with_random_values (conf , model (), field_names )
262269 garbages += obj_garbages
263270
264271 result = check_object_creation (conf , obj )
@@ -267,13 +274,18 @@ def check_resource_type(
267274 if result .status == Status .SUCCESS :
268275 created_obj = result .data
269276 result = check_object_query (conf , created_obj )
270- queried_obj = result .data
271277 results .append (result )
272278
273279 result = check_object_query_without_id (conf , created_obj )
274280 results .append (result )
275281
276- _ , obj_garbages = fill_with_random_values (conf , queried_obj )
282+ field_names = [
283+ field_name
284+ for field_name in model .model_fields .keys ()
285+ if model .get_field_annotation (field_name , Mutability )
286+ in (Mutability .read_write , Mutability .write_only )
287+ ]
288+ _ , obj_garbages = fill_with_random_values (conf , created_obj , field_names )
277289 garbages += obj_garbages
278290 result = check_object_replacement (conf , created_obj )
279291 results .append (result )
0 commit comments