예제 #1
0
    def test_list_in_person(self):
        self.assertNotEqual(self.person.phone, None)
        self.assertEqual(len(self.person.phone), 0)
        new_phone = [
            RwpersonDbYang.PhoneNumber(),
            RwpersonDbYang.PhoneNumber()
        ]

        new_phone[0].number = '#1'
        new_phone[1].number = '#2'
        self.person.phone = new_phone
        self.assertEqual(self.person.phone[0], new_phone[0])
        self.assertEqual(self.person.phone[1], new_phone[1])
예제 #2
0
    def test_person_xml_conversion(self):
        # Open rwperson-database yang model
        yang = rw_peas.PeasPlugin('yangmodel_plugin-c', 'YangModelPlugin-1.0')
        yang_model = yang.get_interface('Model')
        yang_module = yang.get_interface('Module')
        yang_node = yang.get_interface('Node')
        yang_key = yang.get_interface('Key')
        model = yang_model.alloc()
        module = yang_model.load_module(model, "rwperson-db")

        #populate the person
        self.person.name = "test-name"
        self.person.email = "*****@*****.**"
        self.person.employed = True
        self.person.id = 12345
        self.person.emergency_phone.number = "123-456-7890"
        self.person.emergency_phone.type_yang = 'WORK'
        new_phone = [
            RwpersonDbYang.PhoneNumber(),
            RwpersonDbYang.PhoneNumber()
        ]
        new_phone[0].number = '#1'
        new_phone[1].number = '#2'
        self.person.phone = new_phone

        # recreate a person using to_xml and from_xml methods
        xml_str = self.person.to_xml(model)
        recreated_person = RwpersonDbYang.Person()
        recreated_person.from_xml(model, xml_str)
        print("Person           : ", self.person)
        print("Recreated Person : ", recreated_person)

        # check the newly created person is identical
        self.assertEqual(self.person.name, recreated_person.name)
        self.assertEqual(self.person.email, recreated_person.email)
        self.assertEqual(self.person.employed, recreated_person.employed)
        self.assertEqual(self.person.id, recreated_person.id)
        self.assertEqual(self.person.emergency_phone.number,
                         recreated_person.emergency_phone.number)
        self.assertEqual(self.person.emergency_phone.type_yang,
                         recreated_person.emergency_phone.type_yang)
        self.assertEqual(len(self.person.phone), len(recreated_person.phone))
        for phone, recreated_phone in zip(self.person.phone,
                                          recreated_person.phone):
            self.assertEqual(phone.number, recreated_phone.number)
            self.assertEqual(phone.type_yang, recreated_phone.type_yang)

        person = None
        recreated_person = None
        new_phone = None
예제 #3
0
def _make_person():
    person = RwpersonDbYang.Person()
    person.name = "test-name"
    person.email = "*****@*****.**"
    person.employed = True
    person.id = 12345
    person.emergency_phone.number = "123-456-7890"
    person.emergency_phone.type_yang = 'WORK'
    new_phone = [RwpersonDbYang.PhoneNumber(), RwpersonDbYang.PhoneNumber()]
    new_phone[0].number = '#1'
    new_phone[1].number = '#2'
    person.phone = new_phone

    return person
예제 #4
0
    def test_person_protobuf_conversion(self):
        self.person.name = "test-name"
        self.person.email = "*****@*****.**"
        self.person.employed = True
        self.person.id = 12345
        self.person.emergency_phone.number = "123-456-7890"
        self.person.emergency_phone.type_yang = 'WORK'
        new_phone = [
            RwpersonDbYang.PhoneNumber(),
            RwpersonDbYang.PhoneNumber()
        ]
        new_phone[0].number = '#1'
        new_phone[1].number = '#2'
        self.person.phone = new_phone

        # recreate a person using to_pbuf and from_pbuf methods
        pbuf = self.person.to_pbuf()
        recreated_person = RwpersonDbYang.Person()
        recreated_person.from_pbuf(pbuf)
        print("Person           : ", self.person)
        print("Recreated Person : ", recreated_person)

        # check the newly created person is identical
        self.assertEqual(self.person.name, recreated_person.name)
        self.assertEqual(self.person.email, recreated_person.email)
        self.assertEqual(self.person.employed, recreated_person.employed)
        self.assertEqual(self.person.id, recreated_person.id)
        self.assertEqual(self.person.emergency_phone.number,
                         recreated_person.emergency_phone.number)
        self.assertEqual(self.person.emergency_phone.type_yang,
                         recreated_person.emergency_phone.type_yang)
        self.assertEqual(len(self.person.phone), len(recreated_person.phone))
        for phone, recreated_phone in zip(self.person.phone,
                                          recreated_person.phone):
            self.assertEqual(phone.number, recreated_phone.number)
            self.assertEqual(phone.type_yang, recreated_phone.type_yang)

        ##
        # Need a testcase for this.
        ##
        ptr = recreated_person.to_ptr()