Exemple #1
0
    def test_wait_for_service_always_fail_with_exception(
        self,
        mock_process_stderr_data: Mock,
        mock_process_stdout_data: Mock,
        mock_service_alive: Mock,
        mock_time_sleep: Mock
    ) -> None:

        service = ServiceOpenSearch(
            self.version,
            self.distribution,
            self.additional_config,
            True,
            self.dependency_installer,
            self.work_dir
        )

        with self.assertRaises(ClusterCreationException) as ctx:
            service.wait_for_service()

        self.assertEqual(str(ctx.exception), "Cluster is not available after 10 attempts")

        self.assertEqual(mock_service_alive.call_count, 10)
        self.assertEqual(mock_time_sleep.call_count, 10)
        self.assertEqual(mock_process_stdout_data.call_count, 10)
        self.assertEqual(mock_process_stderr_data.call_count, 10)
    def test_wait_for_service_suceed_on_third_attempt(self,
                                                      mock_process_stderr_data,
                                                      mock_process_stdout_data,
                                                      mock_service_alive,
                                                      mock_time_sleep):
        service = ServiceOpenSearch(self.version, self.additional_config, True,
                                    self.dependency_installer, self.work_dir)

        service.wait_for_service()

        self.assertEqual(mock_service_alive.call_count, 3)
        self.assertEqual(mock_time_sleep.call_count, 2)
        self.assertEqual(mock_process_stdout_data.call_count, 2)
        self.assertEqual(mock_process_stderr_data.call_count, 2)
    def test_wait_for_service_succeed_on_first_attemp(self,
                                                      mock_process_stderr_data,
                                                      mock_process_stdout_data,
                                                      mock_service_alive,
                                                      mock_time_sleep):
        service = ServiceOpenSearch(self.version, self.additional_config, True,
                                    self.dependency_installer, self.work_dir)

        service.wait_for_service()

        mock_service_alive.assert_called_once()
        mock_time_sleep.assert_not_called()
        mock_process_stdout_data.assert_not_called()
        mock_process_stderr_data.assert_not_called()