Example #1
0
    def test_user_argument(self):
        # User is the same as logged user, no sudo should be used
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs['sudo'] = False
        kwargs['user'] = LOGGED_USER_USERNAME
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()
        self.assertEqual(command, '/tmp/foo.sh')

        # User is different, sudo should be used
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs['sudo'] = False
        kwargs['user'] = '******'
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()
        self.assertEqual(command,
                         'sudo -E -H -u mauser -- bash -c /tmp/foo.sh')

        # sudo with password
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs['sudo'] = False
        kwargs['user'] = '******'
        kwargs['sudo_password'] = '******'
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()

        expected_command = 'sudo -S -E -H -u mauser -- bash -c /tmp/foo.sh'
        self.assertEqual(command, expected_command)

        # complex sudo password which needs escaping
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs['sudo'] = False
        kwargs['user'] = '******'
        kwargs['sudo_password'] = '******'as"sss'
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()

        expected_command = ('sudo -S -E -H '
                            '-u mauser -- bash -c /tmp/foo.sh')
        self.assertEqual(command, expected_command)

        command = action.get_sanitized_full_command_string()
        expected_command = ('echo -e \'%s\n\' | sudo -S -E -H '
                            '-u mauser -- bash -c /tmp/foo.sh' %
                            (MASKED_ATTRIBUTE_VALUE))
        self.assertEqual(command, expected_command)

        # sudo is used, it doesn't matter what user is specified since the
        # command should run as root
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs['sudo'] = True
        kwargs['user'] = '******'
        kwargs['sudo_password'] = '******'
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()

        expected_command = 'sudo -S -E -- bash -c /tmp/foo.sh'
        self.assertEqual(command, expected_command)
Example #2
0
    def test_user_argument(self):
        # User is the same as logged user, no sudo should be used
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs["sudo"] = False
        kwargs["user"] = LOGGED_USER_USERNAME
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()
        self.assertEqual(command, "/tmp/foo.sh")

        # User is different, sudo should be used
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs["sudo"] = False
        kwargs["user"] = "******"
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()
        self.assertEqual(command,
                         "sudo -E -H -u mauser -- bash -c /tmp/foo.sh")

        # sudo with password
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs["sudo"] = False
        kwargs["user"] = "******"
        kwargs["sudo_password"] = "******"
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()

        expected_command = "sudo -S -E -H -u mauser -- bash -c /tmp/foo.sh"
        self.assertEqual(command, expected_command)

        # complex sudo password which needs escaping
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs["sudo"] = False
        kwargs["user"] = "******"
        kwargs["sudo_password"] = "******"sss"
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()

        expected_command = "sudo -S -E -H " "-u mauser -- bash -c /tmp/foo.sh"
        self.assertEqual(command, expected_command)

        command = action.get_sanitized_full_command_string()
        expected_command = ("echo -e '%s\n' | sudo -S -E -H "
                            "-u mauser -- bash -c /tmp/foo.sh" %
                            (MASKED_ATTRIBUTE_VALUE))
        self.assertEqual(command, expected_command)

        # sudo is used, it doesn't matter what user is specified since the
        # command should run as root
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs["sudo"] = True
        kwargs["user"] = "******"
        kwargs["sudo_password"] = "******"
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()

        expected_command = "sudo -S -E -- bash -c /tmp/foo.sh"
        self.assertEqual(command, expected_command)
    def test_user_argument(self):
        # User is the same as logged user, no sudo should be used
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs['sudo'] = False
        kwargs['user'] = LOGGED_USER_USERNAME
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()
        self.assertEqual(command, '/tmp/foo.sh')

        # User is different, sudo should be used
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs['sudo'] = False
        kwargs['user'] = '******'
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()
        self.assertEqual(command, 'sudo -E -H -u mauser -- bash -c /tmp/foo.sh')

        # sudo with password
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs['sudo'] = False
        kwargs['user'] = '******'
        kwargs['sudo_password'] = '******'
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()

        expected_command = 'sudo -S -E -H -u mauser -- bash -c /tmp/foo.sh'
        self.assertEqual(command, expected_command)

        # complex sudo password which needs escaping
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs['sudo'] = False
        kwargs['user'] = '******'
        kwargs['sudo_password'] = '******'as"sss'
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()

        expected_command = ('sudo -S -E -H '
                            '-u mauser -- bash -c /tmp/foo.sh')
        self.assertEqual(command, expected_command)

        command = action.get_sanitized_full_command_string()
        expected_command = ('echo -e \'%s\n\' | sudo -S -E -H '
                            '-u mauser -- bash -c /tmp/foo.sh' % (MASKED_ATTRIBUTE_VALUE))
        self.assertEqual(command, expected_command)

        # sudo is used, it doesn't matter what user is specified since the
        # command should run as root
        kwargs = copy.deepcopy(self._base_kwargs)
        kwargs['sudo'] = True
        kwargs['user'] = '******'
        kwargs['sudo_password'] = '******'
        action = ShellScriptAction(**kwargs)
        command = action.get_full_command_string()

        expected_command = 'sudo -S -E -- bash -c /tmp/foo.sh'
        self.assertEqual(command, expected_command)