Exemplo n.º 1
0
 def test_execute_commit_timeout(self, mocked_device, mocked_isatty, mocked_input, caplog):
     """It should retry TIMEOUT_ATTEMPTS times and report the failure."""
     message = 'commit message'
     mocked_device.return_value.cu.diff.return_value = 'diff'
     mocked_device.return_value.cu.commit.side_effect = RpcTimeoutError(mocked_device, message, 30)
     mocked_isatty.return_value = True
     mocked_input.return_value = 'yes'
     ret = self.homer.commit('device*', message=message)
     assert ret == 1
     assert 'Commit attempt 3/3 failed' in caplog.text
Exemplo n.º 2
0
    def test_commit_timeout(self, mocked_junos_device):
        """It should catch the timeout exception separately."""
        mocked_junos_device.return_value.cu = mock.MagicMock(
            spec_set=junos.Config)
        mocked_junos_device.return_value.cu.diff.return_value = 'diff'
        mocked_junos_device.return_value.cu.commit.side_effect = RpcTimeoutError(
            mocked_junos_device, 'commit-configuration', 30)
        device = junos.ConnectedDevice(self.fqdn)
        callback = mock.Mock()

        with pytest.raises(HomerTimeoutError):
            device.commit('config', COMMIT_MESSAGE, callback)

        callback.assert_called_once_with('device1.example.com', 'diff')
        mocked_junos_device.return_value.cu.commit_check.assert_not_called()
Exemplo n.º 3
0
    def test_commit_check_rollback_error(self, mocked_junos_device, caplog):
        """It should log any rollback generic error."""
        mocked_junos_device.return_value.cu = mock.MagicMock(
            spec_set=junos.Config)
        mocked_junos_device.return_value.cu.diff.return_value = 'diff'
        mocked_junos_device.return_value.cu.rollback.side_effect = RpcTimeoutError(
            mocked_junos_device, 'load-configuration', 30)
        device = junos.ConnectedDevice(self.fqdn)

        success, diff = device.commit_check('config')

        assert success
        assert diff == 'diff'
        assert 'Failed to rollback on {fqdn}: RpcTimeoutError'.format(
            fqdn=self.fqdn) in caplog.text
        mocked_junos_device.return_value.cu.commit_check.assert_called_once_with(
        )
        mocked_junos_device.return_value.cu.rollback.assert_called_once_with()
Exemplo n.º 4
0
 def test_sw_reboot_exception_RpcTimeoutError(self, mock_execute):
     rsp = (self.dev, 'request-reboot', 60)
     mock_execute.side_effect = RpcTimeoutError(*rsp)
     self.assertRaises(Exception, self.sw.reboot)
Exemplo n.º 5
0
 def test_commit_check_RpcTimeoutError(self):
     ex = RpcTimeoutError(self.dev, None, 10)
     self.dev.rpc.commit_configuration = MagicMock(side_effect=ex)
     self.assertRaises(RpcTimeoutError, self.conf.commit_check)
Exemplo n.º 6
0
 def test_config_load_try_load_rpctimeouterror(self, mock_open):
     ex = RpcTimeoutError(self.dev, None, 10)
     self.conf.rpc.load_config = MagicMock(side_effect=ex)
     self.assertRaises(RpcTimeoutError, self.conf.load, path='config.conf')
Exemplo n.º 7
0
 def test__enter__batch_exception_RpcTimeoutError(self):
     ex = RpcTimeoutError(self.dev, None, 10)
     self.conf.rpc.open_configuration = MagicMock(side_effect=ex)
     self.assertRaises(RpcTimeoutError, Config.__enter__,
                       Config(self.dev, mode='batch'))
Exemplo n.º 8
0
 def test_config_diff_rpc_timeout(self):
     ex = RpcTimeoutError(self.dev, None, 10)
     self.conf.rpc.get_configuration = MagicMock(
         side_effect=ex)
     self.assertRaises(RpcTimeoutError, self.conf.diff)
Exemplo n.º 9
0
 def test_RpcTimeoutError_repr(self):
     dev = Device('test')
     obj = RpcTimeoutError(dev=dev, cmd='test', timeout=50)
     err = 'RpcTimeoutError(host: test, cmd: test, timeout: 50)'
     self.assertEqual(obj.__repr__(), err)
Exemplo n.º 10
0
 def test_RpcTimeoutError_repr(self):
     dev = Device('test')
     obj = RpcTimeoutError(dev=dev, cmd='test', timeout=50)
     err = 'RpcTimeoutError(host: test, cmd: test, timeout: 50)'
     self.assertEqual(obj.__repr__(), err)
Exemplo n.º 11
0
 def test_RpcTimeoutError_repr(self):
     dev = Device("test")
     obj = RpcTimeoutError(dev=dev, cmd="test", timeout=50)
     err = "RpcTimeoutError(host: test, cmd: test, timeout: 50)"
     self.assertEqual(obj.__repr__(), err)
Exemplo n.º 12
0
 def test_RpcTimeoutError_repr(self):
     dev = Device("test")
     obj = RpcTimeoutError(dev=dev, cmd="test", timeout=50)
     err = "RpcTimeoutError(host: test, cmd: test, timeout: 50)"
     self.assertEqual(obj.__repr__(), err)