diff options
author | Joas Schilling <coding@schilljs.com> | 2020-04-17 14:55:54 +0300 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2020-04-17 16:14:28 +0300 |
commit | e374358494897e568aac7a957ecd32021f171f4e (patch) | |
tree | 4ddf90363c3ac0f895678aae9828b1a539f4e2bb /tests | |
parent | 8f4b6d1b6670b66baf2449bf8205c3c2f773bea9 (diff) |
Remove ARGUMENTS_DOUBLEQUOTE_ESCAPED for now
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/php/Chat/Command/ShellExecutorTest.php | 68 |
1 files changed, 18 insertions, 50 deletions
diff --git a/tests/php/Chat/Command/ShellExecutorTest.php b/tests/php/Chat/Command/ShellExecutorTest.php index 9d82933db..2583fdf26 100644 --- a/tests/php/Chat/Command/ShellExecutorTest.php +++ b/tests/php/Chat/Command/ShellExecutorTest.php @@ -30,41 +30,33 @@ class ShellExecutorTest extends TestCase { public function dataExecShellRun(): array { return [ - ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$PATH', '$PATH'], - ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$(pwd)', '$(pwd)'], - ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$(pwd)', '$(pwd)'], - ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$PATH', '$PATH'], - ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$(pwd)', '$(pwd)'], - ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$PATH', '$PATH'], ['admin', 'token', 'echo {ARGUMENTS}', '$PATH', '$PATH'], ['admin', 'token', 'echo {ARGUMENTS}', '$(pwd)', '$(pwd)'], + ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '$(pwd)', '$(pwd)'], + ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '$PATH', '$PATH'], + ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '$(pwd)', '$(pwd)'], + ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '$PATH', '$PATH'], - ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\$PATH', '\\$PATH'], - ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\$(pwd)', '\\$(pwd)'], - ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\$(pwd)', '\\$(pwd)'], - ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\$PATH', '\\$PATH'], - ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\$(pwd)', '\\$(pwd)'], - ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\$PATH', '\\$PATH'], ['admin', 'token', 'echo {ARGUMENTS}', '\\$PATH', '\\$PATH'], ['admin', 'token', 'echo {ARGUMENTS}', '\\$(pwd)', '\\$(pwd)'], + ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '\\$(pwd)', '\\$(pwd)'], + ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '\\$PATH', '\\$PATH'], + ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '\\$(pwd)', '\\$(pwd)'], + ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '\\$PATH', '\\$PATH'], - ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '`echo $PATH`', '`echo $PATH`'], - ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '`pwd`', '`pwd`'], - ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '`pwd`', '`pwd`'], - ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '`echo $PATH`', '`echo $PATH`'], - ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '`pwd`', '`pwd`'], - ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '`echo $PATH`', '`echo $PATH`'], ['admin', 'token', 'echo {ARGUMENTS}', '`echo $PATH`', '`echo $PATH`'], ['admin', 'token', 'echo {ARGUMENTS}', '`pwd`', '`pwd`'], + ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '`pwd`', '`pwd`'], + ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '`echo $PATH`', '`echo $PATH`'], + ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '`pwd`', '`pwd`'], + ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '`echo $PATH`', '`echo $PATH`'], - ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\`echo $PATH\\`', '\\`echo $PATH\\`'], - ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\`pwd \\`', '\\`pwd \\`'], - ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\`pwd \\`', '\\`pwd \\`'], - ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\`echo $PATH\\`', '\\`echo $PATH\\`'], - ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\`pwd \\`', '\\`pwd \\`'], - ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\`echo $PATH\\`', '\\`echo $PATH\\`'], ['admin', 'token', 'echo {ARGUMENTS}', '\\`echo $PATH\\`', '\\`echo $PATH\\`'], ['admin', 'token', 'echo {ARGUMENTS}', '\\`pwd \\`', '\\`pwd \\`'], + ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '\\`pwd \\`', '\\`pwd \\`'], + ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '\\`echo $PATH\\`', '\\`echo $PATH\\`'], + ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '\\`pwd \\`', '\\`pwd \\`'], + ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '\\`echo $PATH\\`', '\\`echo $PATH\\`'], ]; } @@ -85,9 +77,8 @@ class ShellExecutorTest extends TestCase { public function dataExecShell(): array { return [ ['admin', 'token', '', '', '', ''], - ['admin', 'token', '/var/www/nextcloud/script.sh {USER} {ROOM} {ARGUMENTS}', 'foo bar "hello bear"', "/var/www/nextcloud/script.sh 'admin' 'token' 'foo' 'bar' \"hello bear\"", 'output1'], - ['admin', 'token', '/var/www/nextcloud/script.sh {USER} {ROOM} --arguments="{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', 'foo bar "hello bear"', "/var/www/nextcloud/script.sh 'admin' 'token' --arguments=\"foo bar \\\"hello bear\\\"\"", "out\nput\n2"], - ['admin', 'token', '/var/www/nextcloud/script.sh {USER} {ROOM} --arguments="{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$PATH', "/var/www/nextcloud/script.sh 'admin' 'token' --arguments=\"\\\$PATH\"", "out\nput\n2"], + ['admin', 'token', '/var/www/nextcloud/script.sh {USER} {ROOM} {ARGUMENTS}', 'foo bar "hello bear"', "/var/www/nextcloud/script.sh 'admin' 'token' 'foo bar \"hello bear\"'", 'output1'], + ['admin', 'token', '/var/www/nextcloud/script.sh {USER} {ROOM} --arguments {ARGUMENTS}', 'foo bar "hello bear"', "/var/www/nextcloud/script.sh 'admin' 'token' --arguments 'foo bar \"hello bear\"'", "out\nput\n2"], ]; } @@ -113,27 +104,4 @@ class ShellExecutorTest extends TestCase { $this->assertSame($output, self::invokePrivate($executor, 'execShell', [$cmd, $arguments, $roomToken, $actorId])); } - - public function dataEscapeArguments(): array { - return [ - ['foobar', "'foobar'"], - ['foo bar', "'foo' 'bar'"], - ['"foo" bar', "\"foo\" 'bar'"], - ['"foo"bar', "'\"foo\"bar'"], - ['"foo bar"', '"foo bar"'], - ['"foo foo"bar bar"', '"foo foo\\"bar bar"'], - ['"foo foo\"bar bar"', '"foo foo\\\\"bar bar"'], - ['" foo bar "', '" foo bar "'], - ['" foo bar ', "'\" foo bar '"], - ]; - } - - /** - * @dataProvider dataEscapeArguments - * @param string $arguments - * @param string $expected - */ - public function testEscapeArguments(string $arguments, string $expected): void { - $this->assertSame($expected, self::invokePrivate(new ShellExecutor(), 'escapeArguments', [$arguments])); - } } |