mirror of
https://github.com/retailcrm/Fetch.git
synced 2024-11-25 04:26: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;
|
||||
|
||||
use Fetch\Server;
|
||||
|
||||
/**
|
||||
* @package Fetch
|
||||
@ -18,5 +19,39 @@ namespace Fetch\Test;
|
||||
*/
|
||||
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