58 lines
1.5 KiB
PHP
58 lines
1.5 KiB
PHP
<?php
|
|
|
|
use Sikofitt\Tor\TorLocator;
|
|
|
|
/**
|
|
* Class TorLocatorTest
|
|
*/
|
|
class TorLocatorTest extends PHPUnit_Framework_TestCase {
|
|
|
|
private $torExecutableDir;
|
|
private $torExecutableFailureDir;
|
|
|
|
public function setUp() {
|
|
$this->torExecutableDir = __DIR__ . '/../tor-client/bin';
|
|
$this->torExecutableFailureDir = '/';
|
|
}
|
|
|
|
public function testLocatorSuccess()
|
|
{
|
|
|
|
$locator = new TorLocator($this->torExecutableDir);
|
|
$torBinary = $locator->getBinary();
|
|
$testBinary = new \SplFileInfo(__DIR__ . '/../tor-client/bin/tor');
|
|
|
|
$this->assertSame($testBinary->getRealPath(), $torBinary->getRealPath());
|
|
$this->assertSame(__DIR__ . '/../tor-client/bin', $torBinary->getPath());
|
|
$this->assertSame(__DIR__ . '/../tor-client/bin/tor', $torBinary->getPathname());
|
|
$this->assertTrue($torBinary->isExecutable(), true);
|
|
}
|
|
|
|
public function testLocatorAutoResolveSuccess()
|
|
{
|
|
|
|
$locator = new TorLocator();
|
|
$torBinary = $locator->getBinary();
|
|
$this->assertSame('/usr/bin/tor', $torBinary->getPathname());
|
|
}
|
|
|
|
public function testLocatorFailureWithCatch() {
|
|
|
|
try {
|
|
$locator = new TorLocator($this->torExecutableFailureDir);
|
|
$torBinary = $locator->getBinary();
|
|
} catch(\Exception $e) {
|
|
$this->assertSame('Couldn\'t find the tor binary.', $e->getMessage());
|
|
}
|
|
}
|
|
/**
|
|
* @expectedException \Exception
|
|
*/
|
|
public function testLocatorFailure()
|
|
{
|
|
|
|
$locator = new TorLocator($this->torExecutableFailureDir);
|
|
$torBinary = $locator->getBinary();
|
|
}
|
|
}
|