mirror of
https://github.com/retailcrm/Fetch.git
synced 2024-11-28 21:46:02 +03:00
add unit tests for Server::setFlag()
add proper phpunit configuration
This commit is contained in:
parent
5e62f87077
commit
7972b0c5d9
20
phpunit.xml.dist
Normal file
20
phpunit.xml.dist
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<phpunit backupGlobals="false"
|
||||||
|
backupStaticAttributes="false"
|
||||||
|
colors="true"
|
||||||
|
convertErrorsToExceptions="true"
|
||||||
|
convertNoticesToExceptions="true"
|
||||||
|
convertWarningsToExceptions="true"
|
||||||
|
processIsolation="false"
|
||||||
|
stopOnFailure="false"
|
||||||
|
syntaxCheck="false"
|
||||||
|
bootstrap="tests/bootstrap.php"
|
||||||
|
>
|
||||||
|
|
||||||
|
<testsuites>
|
||||||
|
<testsuite name="Fetch Test Suite">
|
||||||
|
<directory>./tests</directory>
|
||||||
|
</testsuite>
|
||||||
|
</testsuites>
|
||||||
|
</phpunit>
|
@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
namespace Fetch\Test;
|
namespace Fetch\Test;
|
||||||
|
|
||||||
|
use Fetch\Server;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package Fetch
|
* @package Fetch
|
||||||
@ -18,5 +19,39 @@ namespace Fetch\Test;
|
|||||||
*/
|
*/
|
||||||
class ServerTest extends \PHPUnit_Framework_TestCase
|
class ServerTest extends \PHPUnit_Framework_TestCase
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @dataProvider flagsDataProvider
|
||||||
|
* @param string $expected server string with %host% placeholder
|
||||||
|
* @param integer $port to use (needed to test behavior on port 143 and 993 from constructor)
|
||||||
|
* @param array $flags to set/unset ($flag => $value)
|
||||||
|
*/
|
||||||
|
public function testFlags($expected, $port, $flags)
|
||||||
|
{
|
||||||
|
$host = 'example.com';
|
||||||
|
$server = new Server($host, $port);
|
||||||
|
|
||||||
|
foreach ($flags as $flag => $value) {
|
||||||
|
$server->setFlag($flag, $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->assertEquals(str_replace('%host%', $host, $expected), $server->getServerString());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function flagsDataProvider() {
|
||||||
|
return array(
|
||||||
|
array('{%host%:143/novalidate-cert}', 143, array()),
|
||||||
|
array('{%host%:143/validate-cert}', 143, array('validate-cert' => true)),
|
||||||
|
array('{%host%:143}', 143, array('novalidate-cert' => false)),
|
||||||
|
array('{%host%:993/ssl}', 993, array()),
|
||||||
|
array('{%host%:993}', 993, array('ssl' => false)),
|
||||||
|
array('{%host%:100/tls}', 100, array('tls' => true)),
|
||||||
|
array('{%host%:100/tls}', 100, array('tls' => true, 'tls' => true)),
|
||||||
|
array('{%host%:100/notls}', 100, array('tls' => true, 'notls' => true)),
|
||||||
|
array('{%host%:100}', 100, array('ssl' => true, 'ssl' => false)),
|
||||||
|
array('{%host%:100/user=foo}', 100, array('user' => 'foo')),
|
||||||
|
array('{%host%:100/user=foo}', 100, array('user' => 'foo', 'user' => 'foo')),
|
||||||
|
array('{%host%:100/user=bar}', 100, array('user' => 'foo', 'user' => 'bar')),
|
||||||
|
array('{%host%:100}', 100, array('user' => 'foo', 'user' => false)),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user