| from unittest import TestCase |
| from unittest.mock import Mock |
| |
| from solrorbit.builder.cluster_config import ClusterConfigInstance |
| from solrorbit.builder.utils.java_home_resolver import JavaHomeResolver |
| |
| |
| class JavaHomeResolverTests(TestCase): |
| def setUp(self): |
| self.host = None |
| self.executor = Mock() |
| self.java_home_resolver = JavaHomeResolver(self.executor) |
| self.java_home_resolver.jdk_resolver = Mock() |
| |
| self.variables = { |
| "system": { |
| "runtime": { |
| "jdk": { |
| "version": "12,11,10,9,8" |
| } |
| } |
| } |
| } |
| self.cluster_config = ClusterConfigInstance("fake_cluster_config", "/path/to/root", |
| ["/path/to/config"], variables=self.variables) |
| |
| def test_resolves_java_home_for_default_runtime_jdk(self): |
| self.java_home_resolver.jdk_resolver.resolve_jdk_path.return_value = (12, "/opt/jdk12") |
| major, java_home = self.java_home_resolver.resolve_java_home(self.host, self.cluster_config) |
| |
| self.assertEqual(major, 12) |
| self.assertEqual(java_home, "/opt/jdk12") |
| |
| def test_resolves_java_home_for_specific_runtime_jdk(self): |
| self.variables["system"]["runtime"]["jdk"]["version"] = "8" |
| self.java_home_resolver.jdk_resolver.resolve_jdk_path.return_value = (8, "/opt/jdk8") |
| major, java_home = self.java_home_resolver.resolve_java_home(self.host, self.cluster_config) |
| |
| self.assertEqual(major, 8) |
| self.assertEqual(java_home, "/opt/jdk8") |
| self.java_home_resolver.jdk_resolver.resolve_jdk_path.assert_called_with(None, [8]) |