コード例 #1
0
    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)])
コード例 #2
0
    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)
        ])
コード例 #3
0
    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),
        ])
コード例 #4
0
    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),
        ])
コード例 #5
0
    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)])
コード例 #6
0
    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)
        ])
コード例 #7
0
    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)
        ])
コード例 #8
0
    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)
        ])