def test_serialize_with_delete(self):
        oc = OrderChanges()
        oc.delete = ['psycho.domain.com', 'gunzerker.domain.com']
        root = oc.serialize()

        delete_types = root.findall('.//ChangeType')
        delete_values = root.findall('.//OldValue')

        assert len(delete_types) == 2
        assert len(delete_values) == 2
        assert delete_types[0].text == 'Delete_SAN'
        assert delete_values[0].text == 'psycho.domain.com'
    def test_serialize_with_add(self):
        oc = OrderChanges()
        oc.add = ['mechromancer.domain.com', 'assassin.domain.com']
        root = oc.serialize()

        add_types = root.findall('.//ChangeType')
        add_values = root.findall('.//NewValue')

        assert len(add_types) == 2
        assert len(add_values) == 2
        assert add_types[0].text == 'Add_SAN'
        assert add_values[0].text == 'mechromancer.domain.com'
    def test_serialize_with_delete(self):
        oc = OrderChanges()
        oc.delete = ['psycho.domain.com', 'gunzerker.domain.com']
        root = oc.serialize()

        delete_types = root.findall('.//ChangeType')
        delete_values = root.findall('.//OldValue')

        assert len(delete_types) == 2
        assert len(delete_values) == 2
        assert delete_types[0].text == 'Delete_SAN'
        assert delete_values[0].text == 'psycho.domain.com'
    def test_serialize_with_add(self):
        oc = OrderChanges()
        oc.add = ['mechromancer.domain.com', 'assassin.domain.com']
        root = oc.serialize()

        add_types = root.findall('.//ChangeType')
        add_values = root.findall('.//NewValue')

        assert len(add_types) == 2
        assert len(add_values) == 2
        assert add_types[0].text == 'Add_SAN'
        assert add_values[0].text == 'mechromancer.domain.com'
    def test_serialize_with_edit(self):
        oc = OrderChanges()
        oc.edit = [('gladiator.domain.com', 'lawbringer.domain.com'),
                   ('enforcer.domain.com', 'fragtrap.domain.com')]
        root = oc.serialize()

        edit_types = root.findall('.//ChangeType')
        edit_old_values = root.findall('.//OldValue')
        edit_new_values = root.findall('.//NewValue')

        for item in [edit_types, edit_old_values, edit_new_values]:
            assert len(item) == 2

        assert edit_types[0].text == 'Edit_SAN'
        assert edit_old_values[0].text == 'gladiator.domain.com'
        assert edit_new_values[0].text == 'lawbringer.domain.com'
        assert edit_old_values[1].text == 'enforcer.domain.com'
        assert edit_new_values[1].text == 'fragtrap.domain.com'
    def test_serialize_with_edit(self):
        oc = OrderChanges()
        oc.edit = [
            ('gladiator.domain.com', 'lawbringer.domain.com'),
            ('enforcer.domain.com', 'fragtrap.domain.com')
        ]
        root = oc.serialize()

        edit_types = root.findall('.//ChangeType')
        edit_old_values = root.findall('.//OldValue')
        edit_new_values = root.findall('.//NewValue')

        for item in [edit_types, edit_old_values, edit_new_values]:
            assert len(item) == 2

        assert edit_types[0].text == 'Edit_SAN'
        assert edit_old_values[0].text == 'gladiator.domain.com'
        assert edit_new_values[0].text == 'lawbringer.domain.com'
        assert edit_old_values[1].text == 'enforcer.domain.com'
        assert edit_new_values[1].text == 'fragtrap.domain.com'