Exemple #1
0
    def test_wait_for_idle_timeout(self):
        mock_data_io = MagicMock()
        mock_data_io.get_api_data.return_value = {"idle": False}

        n = Node(mock_data_io)

        # TODO: Consider launching this method asynchronously
        # somehow to prevent deadlocks if the wait method has bugs in it
        start_time = time.time()
        final_is_idle_value = n.wait_for_idle(3.1)
        duration_in_seconds = time.time() - start_time

        self.assertGreaterEqual(duration_in_seconds, 3, "wait method should have taken at least 3 seconds to complete")
        self.assertFalse(final_is_idle_value)
Exemple #2
0
    def test_wait_for_idle(self):
        mock_data_io = MagicMock()

        def mock_get_api_data():
            if not hasattr(mock_get_api_data, "is_called"):
                mock_get_api_data.is_called = True
                return {"idle": False}

            return {"idle": True}

        mock_data_io.get_api_data.side_effect = mock_get_api_data

        n = Node(mock_data_io)
        final_is_idle_value = n.wait_for_idle()

        self.assertTrue(final_is_idle_value)
        self.assertGreaterEqual(
            mock_data_io.get_api_data.call_count, 2, "Mock dataio object should have been called at least twice."
        )