| from unittest import TestCase, mock |
| from unittest.mock import Mock |
| |
| from solrorbit.builder.models.host import Host |
| from solrorbit.builder.models.node import Node |
| from solrorbit.builder.utils.host_cleaner import HostCleaner |
| |
| |
| class HostCleanerTest(TestCase): |
| def setUp(self): |
| self.node = Node(binary_path="/fake", data_paths=["/fake1", "/fake2"], |
| name=None, pid=None, telemetry=None, port=None, root_dir=None, log_path=None, heap_dump_path=None) |
| self.host = Host(address="fake", name="fake", metadata={}, node=self.node) |
| |
| self.path_manager = Mock() |
| self.host_cleaner = HostCleaner(self.path_manager) |
| |
| def test_cleanup(self): |
| self.host_cleaner.cleanup(self.host, False) |
| |
| self.path_manager.delete_path.assert_has_calls([ |
| mock.call(self.host, "/fake1"), |
| mock.call(self.host, "/fake2"), |
| mock.call(self.host, "/fake") |
| ]) |
| |
| def test_cleanup_preserve_install(self): |
| self.host_cleaner.cleanup(self.host, True) |
| |
| self.path_manager.delete_path.assert_has_calls([]) |