class TestOVFTool(HelperUT): """Test cases for OVFTool helper class.""" def setUp(self): """Test case setup function called automatically prior to each test.""" self.helper = OVFTool() super(TestOVFTool, self).setUp() Helper.find_executable = self.stub_find_executable def test_invalid_version(self): """Negative test for .version getter logic.""" self.fake_path = "/fake/ovftool" self.fake_output = "Error: Unknown option: 'version'" with self.assertRaises(RuntimeError): self.helper.version def test_install_helper_already_present(self): """Do nothing when trying to re-install.""" self.fake_path = "/fake/ovftool" self.helper.install_helper() self.assertEqual([], self.last_argv) self.assertLogged(**self.ALREADY_INSTALLED) def test_install_helper_unsupported(self): """No support for automated installation of ovftool.""" with self.assertRaises(NotImplementedError): self.helper.install_helper() def test_validate_ovf(self): """Try the validate_ovf() API.""" self.fake_path = "/fake/ovftool" self.fake_output = "" self.helper.validate_ovf(self.input_ovf) self.assertEqual(["ovftool", "--schemaValidate", self.input_ovf], self.last_argv[0])