def test_with_id_provider_booked_ids(self): context_element = etree.fromstring('<context id="a"/>') provider = IdProvider(context_element) provider.book_ids("a-instance_attributes", "a-instance_attributes-1-a") nvpair.append_new_nvset( "instance_attributes", context_element, { "a": "b", "c": "d", }, provider, ) assert_xml_equal( """ <context id="a"> <instance_attributes id="a-instance_attributes-1"> <nvpair id="a-instance_attributes-1-a-1" name="a" value="b" /> <nvpair id="a-instance_attributes-1-c" name="c" value="d" /> </instance_attributes> </context> """, etree_to_str(context_element), )
def test_with_id_provider_booked_ids(self): context_element = etree.fromstring('<context id="a"/>') provider = IdProvider(context_element) provider.book_ids("a-instance_attributes", "a-instance_attributes-1-a") nvpair.append_new_nvset( "instance_attributes", context_element, { "a": "b", "c": "d", }, provider ) assert_xml_equal( """ <context id="a"> <instance_attributes id="a-instance_attributes-1"> <nvpair id="a-instance_attributes-1-a-1" name="a" value="b" /> <nvpair id="a-instance_attributes-1-c" name="c" value="d" /> </instance_attributes> </context> """, etree_to_str(context_element) )
def test_with_id_provider(self): nvset_element = etree.fromstring('<nvset id="a"/>') provider = IdProvider(nvset_element) provider.book_ids("a-b") nvpair._append_new_nvpair(nvset_element, "b", "c", provider) assert_xml_equal( etree_to_str(nvset_element), """ <nvset id="a"> <nvpair id="a-b-1" name="b" value="c"></nvpair> </nvset> """)
def test_with_id_provider(self): nvset_element = etree.fromstring('<nvset id="a"/>') provider = IdProvider(nvset_element) provider.book_ids("a-b") nvpair._append_new_nvpair(nvset_element, "b", "c", provider) assert_xml_equal( etree_to_str(nvset_element), """ <nvset id="a"> <nvpair id="a-b-1" name="b" value="c"></nvpair> </nvset> """ )
def _validate_tag_id(tag_id: str, id_provider: IdProvider) -> ReportItemList: """ Validate that tag_id is an valid xml id an it is uniqe in the cib. tag_id -- identifier of new tag id_provider -- elements' ids generator """ report_list: ReportItemList = [] validate_id(tag_id, reporter=report_list) report_list.extend(id_provider.book_ids(tag_id)) return report_list
def validate_clone_id(clone_id: str, id_provider: IdProvider) -> ReportItemList: """ Validate that clone_id is a valid xml id and it is unique in the cib. clone_id -- identifier of clone element id_provider -- elements' ids generator """ report_list: ReportItemList = [] validate_id(clone_id, reporter=report_list) report_list.extend(id_provider.book_ids(clone_id)) return report_list