Beispiel #1
0
    def rollback(self):
        """
        Issues the 'request' command to do the rollback and returns the string
        output of the results.

        :returns:
            Rollback results (str)
        """
        rsp = self.rpc.request_package_rollback()
        fail_list = ['Cannot rollback', 'rollback aborted']
        multi = rsp.xpath('//multi-routing-engine-item')
        if multi:
            rsp = {}
            for x in multi:
                re = x.findtext('re-name')
                output = x.findtext('output')
                if any(x in output for x in fail_list):
                    raise SwRollbackError(re=re, rsp=output)
                else:
                    rsp[re] = output
            return str(rsp)
        else:
            output = rsp.xpath('//output')[0].text
            if any(x in output for x in fail_list):
                raise SwRollbackError(rsp=output)
            else:
                return output
 def test_SwRollbackError_repr_multi(self):
     obj = SwRollbackError(re='test1', rsp="Multi RE exception")
     err = 'SwRollbackError(re: test1, output: Multi RE exception)'
     self.assertEqual(obj.__repr__(), err)
 def test_SwRollbackError_repr_multi(self):
     obj = SwRollbackError(re='test1', rsp="Multi RE exception")
     err = 'SwRollbackError(re: test1, output: Multi RE exception)'
     self.assertEqual(obj.__repr__(), err)
 def test_SwRollbackError_repr(self):
     obj = SwRollbackError(rsp="Single RE exception")
     err = 'SwRollbackError(output: Single RE exception)'
     self.assertEqual(obj.__repr__(), err)
 def test_SwRollbackError_repr(self):
     obj = SwRollbackError(rsp="Single RE exception")
     err = 'SwRollbackError(output: Single RE exception)'
     self.assertEqual(obj.__repr__(), err)