2014-03-03 01:43:58 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author Andreas Fischer <bantu@phpbb.com>
|
|
|
|
* @copyright MMXIV Andreas Fischer
|
|
|
|
* @license http://www.opensource.org/licenses/mit-license.html MIT License
|
|
|
|
*/
|
|
|
|
|
2014-06-01 21:13:20 +02:00
|
|
|
class Functional_Net_SSH2Test extends PhpseclibFunctionalTestCase
|
2014-03-03 01:43:58 +01:00
|
|
|
{
|
2014-03-04 14:56:42 +01:00
|
|
|
public function setUp()
|
|
|
|
{
|
|
|
|
if (getenv('TRAVIS') && version_compare(PHP_VERSION, '5.3.3', '<=')) {
|
|
|
|
$this->markTestIncomplete(
|
|
|
|
'This test hangs on Travis CI on PHP 5.3.3 and below.'
|
|
|
|
);
|
|
|
|
}
|
|
|
|
parent::setUp();
|
|
|
|
}
|
|
|
|
|
2014-03-03 01:43:58 +01:00
|
|
|
public function testConstructor()
|
|
|
|
{
|
|
|
|
$ssh = new Net_SSH2($this->getEnv('SSH_HOSTNAME'));
|
|
|
|
|
|
|
|
$this->assertTrue(
|
|
|
|
is_object($ssh),
|
|
|
|
'Could not construct NET_SSH2 object.'
|
|
|
|
);
|
|
|
|
|
|
|
|
return $ssh;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @depends testConstructor
|
|
|
|
*/
|
|
|
|
public function testPasswordLogin($ssh)
|
|
|
|
{
|
|
|
|
$username = $this->getEnv('SSH_USERNAME');
|
|
|
|
$password = $this->getEnv('SSH_PASSWORD');
|
|
|
|
$this->assertTrue(
|
|
|
|
$ssh->login($username, $password),
|
|
|
|
'SSH2 login using password failed.'
|
|
|
|
);
|
2014-03-06 11:35:54 +01:00
|
|
|
|
|
|
|
return $ssh;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @depends testPasswordLogin
|
2014-04-18 16:49:37 +02:00
|
|
|
* @group github280
|
2014-03-06 11:35:54 +01:00
|
|
|
*/
|
|
|
|
public function testExecWithMethodCallback($ssh)
|
|
|
|
{
|
|
|
|
$callbackObject = $this->getMock('stdClass', array('callbackMethod'));
|
|
|
|
$callbackObject
|
|
|
|
->expects($this->atLeastOnce())
|
|
|
|
->method('callbackMethod')
|
|
|
|
->will($this->returnValue(true));
|
2014-04-07 17:58:49 +02:00
|
|
|
$ssh->exec('pwd', array($callbackObject, 'callbackMethod'));
|
2014-03-03 01:43:58 +01:00
|
|
|
}
|
2014-06-17 01:54:26 +02:00
|
|
|
|
|
|
|
public function testGetServerPublicHostKey()
|
|
|
|
{
|
|
|
|
$ssh = new Net_SSH2($this->getEnv('SSH_HOSTNAME'));
|
|
|
|
|
|
|
|
$this->assertInternalType('string', $ssh->getServerPublicHostKey());
|
|
|
|
}
|
2014-03-03 01:43:58 +01:00
|
|
|
}
|