Merge pull request #392 from WorldWarIII/SupportHostPortNotation

[FEATURE]Support colon notation in host config definition
This commit is contained in:
Andrés Montañez 2017-07-22 16:10:42 -03:00 committed by GitHub
commit 26150f4e60
2 changed files with 27 additions and 2 deletions

View file

@ -457,10 +457,10 @@ class Runtime
*/
public function getSSHConfig()
{
$sshConfig = $this->getEnvOption('ssh', ['port' => '22', 'flags' => '-q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no']);
$sshConfig = $this->getEnvOption('ssh', ['flags' => '-q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no']);
if (!array_key_exists('port', $sshConfig)) {
$sshConfig['port'] = '22';
$sshConfig['port'] = $this->getHostPort();
}
if (!array_key_exists('flags', $sshConfig)) {
@ -470,6 +470,17 @@ class Runtime
return $sshConfig;
}
/**
* Get the current Host Port or default ssh port
*
* @return integer
*/
public function getHostPort()
{
$info = explode(':', $this->getWorkingHost());
return isset($info[1]) ? $info[1] : '22';
}
/**
* Gets a Temporal File name
*

View file

@ -119,6 +119,20 @@ class RuntimeTest extends TestCase
$this->assertEquals('-q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no', $sshConfig['flags']);
}
public function testSSHConfigPortDefinedInHostNotation()
{
$runtime = new Runtime();
$runtime->setWorkingHost('223.12.24.64:1056');
$sshConfig = $runtime->getSSHConfig();
$this->assertEquals('1056', $sshConfig['port']);
$runtime->setWorkingHost('223.12.24.64');
$sshConfig = $runtime->getSSHConfig();
$this->assertEquals('22', $sshConfig['port']);
}
public function testSSHConfigEmptyOptions()
{
$runtime = new Runtime();