def test_higher_version(self, mock_upgrade_cib): self.assertTrue( lib.ensure_cib_version( self.mock_runner, self.cib, (2, 3, 3) ) is None ) self.assertEqual(0, mock_upgrade_cib.call_count)
def test_higher_version_live(self, mock_upgrade_file, mock_upgrade, mock_get_cib): self.assertTrue( lib.ensure_cib_version(self.mock_runner, self.cib, (2, 3, 3), True) is None) mock_upgrade_file.assert_not_called() mock_upgrade.assert_not_called() mock_get_cib.assert_not_called()
def test_same_version_file(self, mock_upgrade_file, mock_upgrade, mock_get_cib): self.assertTrue( lib.ensure_cib_version(self.mock_runner, self.cib, (2, 3, 4), False) is None) mock_upgrade_file.assert_not_called() mock_upgrade.assert_not_called() mock_get_cib.assert_not_called()
def test_upgraded_higher_version(self, mock_upgrade_cib): upgraded_cib = etree.XML('<cib validate-with="pacemaker-2.3.6"/>') mock_upgrade_cib.return_value = upgraded_cib self.assertEqual( upgraded_cib, lib.ensure_cib_version( self.mock_runner, self.cib, (2, 3, 5) ) ) mock_upgrade_cib.assert_called_once_with(self.cib, self.mock_runner)
def get_cib(self, minimal_version=None): cib = get_cib(self._get_cib_xml()) if minimal_version is not None: upgraded_cib = ensure_cib_version( self.cmd_runner(), cib, minimal_version ) if upgraded_cib is not None: cib = upgraded_cib self._cib_upgraded = True return cib
def test_upgraded_higher_version_live(self, mock_upgrade_file, mock_upgrade, mock_get_cib): upgraded_cib = '<cib validate-with="pacemaker-2.3.6"/>' mock_get_cib.return_value = upgraded_cib assert_xml_equal( upgraded_cib, etree.tostring( lib.ensure_cib_version(self.mock_runner, self.cib, (2, 3, 5), True)).decode()) mock_upgrade_file.assert_not_called() mock_upgrade.assert_called_once_with(self.mock_runner) mock_get_cib.assert_called_once_with(self.mock_runner)
def test_cib_parse_error(self, mock_upgrade_file, mock_upgrade, mock_get_cib): mock_upgrade_file.return_value = "not xml" assert_raise_library_error( lambda: lib.ensure_cib_version(self.mock_runner, self.cib, (2, 3, 5), False), (severities.ERROR, report_codes.CIB_UPGRADE_FAILED, { "reason": "Start tag expected, '<' not found, line 1, column 1", })) mock_upgrade_file.assert_called_once_with(self.cib, self.mock_runner) mock_upgrade.assert_not_called() mock_get_cib.assert_not_called()
def test_upgraded_lower_version_live(self, mock_upgrade_file, mock_upgrade, mock_get_cib): mock_get_cib.return_value = etree.tostring(self.cib).decode() assert_raise_library_error( lambda: lib.ensure_cib_version(self.mock_runner, self.cib, (2, 3, 5), True), (severities.ERROR, report_codes.CIB_UPGRADE_FAILED_TO_MINIMAL_REQUIRED_VERSION, { "required_version": "2.3.5", "current_version": "2.3.4" })) mock_upgrade_file.assert_not_called() mock_upgrade.assert_called_once_with(self.mock_runner) mock_get_cib.assert_called_once_with(self.mock_runner)
def test_upgraded_lower_version(self, mock_upgrade_cib): mock_upgrade_cib.return_value = self.cib assert_raise_library_error( lambda: lib.ensure_cib_version( self.mock_runner, self.cib, (2, 3, 5) ), ( severities.ERROR, report_codes.CIB_UPGRADE_FAILED_TO_MINIMAL_REQUIRED_VERSION, { "required_version": "2.3.5", "current_version": "2.3.4" } ) ) mock_upgrade_cib.assert_called_once_with(self.cib, self.mock_runner)