Пример #1
0
 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),
     )
Пример #2
0
 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)
     )
Пример #3
0
 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>
         """)
Пример #4
0
 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>
         """
     )
Пример #5
0
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
Пример #6
0
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