@@ -192,19 +192,22 @@ async def test_schema_branch_process_inheritance_update_inherited_elements(anima
192192 ([["breed__value" ]], [], ["name__value" ]),
193193 (None , ["breed" ], ["name__value" ]),
194194 ([["name__value" , "breed__value" ]], ["breed" ], ["name__value" ]),
195+ (None , ["name" ], ["name__value" ]),
196+ (None , [], ["name__value" , "breed__value" ]),
195197 ],
196198)
197- async def test_validate_human_friendly_id_uniqueness_failure (
199+ async def test_validate_human_friendly_id_assign_uniquess_constraints (
198200 uniqueness_constraints : list [list [str ]] | None ,
199201 unique_attributes : list [str ],
200202 human_friendly_id : list [str ] | None ,
201203 animal_person_schema_dict ,
202204):
203205 schema = SchemaBranch (cache = {}, name = "test" )
204- for node_schema in animal_person_schema_dict ["nodes " ]:
206+ for node_schema in animal_person_schema_dict ["generics " ]:
205207 if node_schema ["name" ] == "Animal" and node_schema ["namespace" ] == "Test" :
206208 node_schema ["uniqueness_constraints" ] = None
207209 node_schema ["human_friendly_id" ] = None
210+ for node_schema in animal_person_schema_dict ["nodes" ]:
208211 if node_schema ["name" ] == "Dog" and node_schema ["namespace" ] == "Test" :
209212 node_schema ["uniqueness_constraints" ] = uniqueness_constraints
210213 node_schema ["human_friendly_id" ] = human_friendly_id
@@ -213,9 +216,12 @@ async def test_validate_human_friendly_id_uniqueness_failure(
213216 schema .load_schema (schema = SchemaRoot (** animal_person_schema_dict ))
214217
215218 schema .process_inheritance ()
216- schema .sync_uniqueness_constraints_and_unique_attributes ()
217- with pytest .raises (ValueError , match = r"At least one attribute must be unique in the human_friendly_id" ):
218- schema .validate_human_friendly_id ()
219+ schema .validate_human_friendly_id ()
220+ schema .process_human_friendly_id ()
221+
222+ dog_node = schema .get ("TestDog" )
223+ expected_uniqueness_constraints = uniqueness_constraints or [human_friendly_id ]
224+ assert dog_node .uniqueness_constraints == expected_uniqueness_constraints
219225
220226
221227@pytest .mark .parametrize (
0 commit comments