def test_must_use_raw_name(self, platform_system_mock, popen_mock): platform_system_mock.return_value = "Linux" execname = "foo" find_executable(execname) self.assertEqual(popen_mock.mock_calls, [call([execname], stdout=PIPE, stderr=PIPE)])
def test_must_use_raw_name(self, platform_system_mock, popen_mock): platform_system_mock.return_value = "Linux" execname = "foo" find_executable(execname) self.assertEquals(popen_mock.mock_calls, [ call([execname], stdout=PIPE, stderr=PIPE) ])
def test_must_raise_error_if_executable_not_found(self, platform_system_mock, popen_mock): platform_system_mock.return_value = "windows" execname = "foo" popen_mock.side_effect = [OSError, OSError, OSError, "success"] # fail on all executable names with self.assertRaises(OSError) as ctx: find_executable(execname) expected = "Unable to find AWS CLI installation under following names: {}".format(["foo.cmd", "foo.exe", "foo"]) self.assertEquals(expected, str(ctx.exception)) self.assertEquals(popen_mock.mock_calls, [ call(["foo.cmd"], stdout=PIPE, stderr=PIPE), call(["foo.exe"], stdout=PIPE, stderr=PIPE), call(["foo"], stdout=PIPE, stderr=PIPE), ])
def test_must_use_name_with_cmd_extension_on_windows(self, platform_system_mock, popen_mock): platform_system_mock.return_value = "windows" execname = "foo" expected = "foo.cmd" result = find_executable(execname) self.assertEqual(result, expected) self.assertEqual(popen_mock.mock_calls, [call(["foo.cmd"], stdout=PIPE, stderr=PIPE)])
def test_must_use_name_with_cmd_extension_on_windows(self, platform_system_mock, popen_mock): platform_system_mock.return_value = "windows" execname = "foo" expected = "foo.cmd" result = find_executable(execname) self.assertEquals(result, expected) self.assertEquals(popen_mock.mock_calls, [ call(["foo.cmd"], stdout=PIPE, stderr=PIPE) ])
def test_must_use_name_with_exe_extension_on_windows(self, platform_system_mock, popen_mock): platform_system_mock.return_value = "windows" execname = "foo" expected = "foo.exe" popen_mock.side_effect = [OSError, "success"] # fail on .cmd extension result = find_executable(execname) self.assertEquals(result, expected) self.assertEquals(popen_mock.mock_calls, [ call(["foo.cmd"], stdout=PIPE, stderr=PIPE), call(["foo.exe"], stdout=PIPE, stderr=PIPE) ])