X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fdrush%2Fdrush%2Ftests%2FSiteSshTest.php;fp=vendor%2Fdrush%2Fdrush%2Ftests%2FSiteSshTest.php;h=18e58d5e22d4878d895651ea3470948ae5ce643d;hp=0000000000000000000000000000000000000000;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/vendor/drush/drush/tests/SiteSshTest.php b/vendor/drush/drush/tests/SiteSshTest.php new file mode 100644 index 000000000..18e58d5e2 --- /dev/null +++ b/vendor/drush/drush/tests/SiteSshTest.php @@ -0,0 +1,78 @@ +isWindows()) { + $this->markTestSkipped('ssh command not currently available on Windows.'); + } + + $options = [ + 'simulate' => null, + ]; + $this->drush('ssh', [], $options, 'user@server/path/to/drupal#sitename', null, self::EXIT_SUCCESS, '2>&1'); + $output = $this->getOutput(); + $expected = sprintf('Calling proc_open(ssh -o PasswordAuthentication=no -t %s@%s %s);', self::escapeshellarg('user'), self::escapeshellarg('server'), "'cd /path/to/drupal && bash -l'"); + $this->assertEquals($expected, $output); + } + + /** + * Test drush ssh --simulate 'date'. + * @todo Run over a site list. drush_sitealias_get_record() currently cannot + * handle a site list comprised of longhand site specifications. + */ + public function testNonInteractive() + { + $options = [ + 'cd' => '0', + 'simulate' => null, + ]; + $this->drush('ssh', ['date'], $options, 'user@server/path/to/drupal#sitename', null, self::EXIT_SUCCESS, '2>&1'); + $output = $this->getOutput(); + $expected = sprintf('Calling proc_open(ssh -o PasswordAuthentication=no %s@%s %s);', self::escapeshellarg('user'), self::escapeshellarg('server'), self::escapeshellarg('date')); + $this->assertEquals($expected, $output); + } + + /** + * Test drush ssh with multiple arguments (preferred form). + */ + public function testSshMultipleArgs() + { + $options = [ + 'cd' => '0', + 'simulate' => null, + ]; + $this->drush('ssh', ['ls', '/path1', '/path2'], $options, 'user@server/path/to/drupal#sitename', null, self::EXIT_SUCCESS, '2>&1'); + $output = $this->getOutput(); + $expected = sprintf('Calling proc_open(ssh -o PasswordAuthentication=no %s@%s %s);', self::escapeshellarg('user'), self::escapeshellarg('server'), self::escapeshellarg('ls /path1 /path2')); + $this->assertEquals($expected, $output); + } + + /** + * Test drush ssh with multiple arguments (legacy form). + */ + public function testSshMultipleArgsLegacy() + { + $options = [ + 'cd' => '0', + 'simulate' => null, + ]; + $this->drush('ssh', ['ls /path1 /path2'], $options, 'user@server/path/to/drupal#sitename', null, self::EXIT_SUCCESS, '2>&1'); + $output = $this->getOutput(); + $expected = sprintf('Calling proc_open(ssh -o PasswordAuthentication=no %s@%s %s);', self::escapeshellarg('user'), self::escapeshellarg('server'), self::escapeshellarg('ls /path1 /path2')); + $this->assertEquals($expected, $output); + } +}