예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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()
예제 #4
0
 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()
예제 #5
0
 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)
예제 #6
0
파일: env.py 프로젝트: dchirikov/pcs
 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
예제 #7
0
파일: env.py 프로젝트: jmartign/pcs
 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
예제 #8
0
 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)
예제 #9
0
 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)
예제 #10
0
 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()
예제 #11
0
 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)
예제 #12
0
 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)
예제 #13
0
 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)