<?php
-include_once __DIR__ . '/parse_args.php';
+include_once __DIR__ . '/LocalFileTestCase.php';
-class DemoFilesTest extends PHPUnit_Framework_TestCase
+/**
+ * Tests for php files in the 'demo' directory
+ */
+class DemoFilesTest extends PhpXmlRpc_LocalFileTestCase
{
- public $args = array();
-
- protected $baseUrl;
-
- protected $testId;
- /** @var boolean $collectCodeCoverageInformation */
- protected $collectCodeCoverageInformation;
- protected $coverageScriptUrl;
-
- public function run(PHPUnit_Framework_TestResult $result = NULL)
- {
- $this->testId = get_class($this) . '__' . $this->getName();
-
- if ($result === NULL) {
- $result = $this->createResult();
- }
-
- $this->collectCodeCoverageInformation = $result->getCollectCodeCoverageInformation();
-
- parent::run($result);
-
- if ($this->collectCodeCoverageInformation) {
- $coverage = new PHPUnit_Extensions_SeleniumCommon_RemoteCoverage(
- $this->coverageScriptUrl,
- $this->testId
- );
- $result->getCodeCoverage()->append(
- $coverage->get(), $this
- );
- }
-
- // do not call this before to give the time to the Listeners to run
- //$this->getStrategy()->endOfTest($this->session);
-
- return $result;
- }
-
public function setUp()
{
$this->args = argParser::getArgs();
$this->coverageScriptUrl = 'http://' . $this->args['LOCALSERVER'] . '/' . str_replace( '/demo/server/server.php', 'tests/phpunit_coverage.php', $this->args['URI'] );
}
- protected function request($file, $method = 'GET', $payload = '')
- {
- $url = $this->baseUrl . $file;
-
- $ch = curl_init($url);
- curl_setopt_array($ch, array(
- CURLOPT_RETURNTRANSFER => true,
- CURLOPT_FAILONERROR => true
- ));
- if ($method == 'POST')
- {
- curl_setopt_array($ch, array(
- CURLOPT_POST => true,
- CURLOPT_POSTFIELDS => $payload
- ));
- }
- if ($this->collectCodeCoverageInformation)
- {
- curl_setopt($ch, CURLOPT_COOKIE, 'PHPUNIT_SELENIUM_TEST_ID=true');
- }
- if ($this->args['DEBUG'] > 0) {
- curl_setopt($ch, CURLOPT_VERBOSE, 1);
- }
- $page = curl_exec($ch);
- curl_close($ch);
-
- $this->assertNotFalse($page);
- $this->assertNotContains('Fatal error', $page);
- $this->assertNotContains('Notice:', $page);
-
- return $page;
- }
-
public function testAgeSort()
{
$page = $this->request('client/agesort.php');
}
- public function testClient()
+ public function testGetStateName()
{
- $page = $this->request('client/client.php');
-
- // we could test many more calls to the client demo, but the upstream server is gone anyway...
-
- $page = $this->request('client/client.php', 'POST', array('stateno' => '1'));
- }
-
- public function testComment()
- {
- $page = $this->request('client/comment.php');
- $page = $this->request('client/client.php', 'POST', array('storyid' => '1'));
+ $page = $this->request('client/getstatename.php');
+ $page = $this->request('client/getstatename.php', 'POST', array('stateno' => '1'));
}
public function testIntrospect()
public function testMail()
{
$page = $this->request('client/mail.php');
- $page = $this->request('client/client.php', 'POST', array(
- 'server' => '',
+ $page = $this->request('client/mail.php', 'POST', array(
"mailto" => '',
"mailsub" => '',
"mailmsg" => '',
));
}
- public function testSimpleCall()
+ public function testProxy()
{
- $page = $this->request('client/simple_call.php');
+ $page = $this->request('client/proxy.php', 'GET', null, true);
}
public function testWhich()
$page = $this->request('client/wrap.php');
}
- public function testZopeTest()
- {
- $page = $this->request('client/zopetest.php');
- }
-
public function testDiscussServer()
{
$page = $this->request('server/discuss.php');
$this->assertContains('<name>faultCode</name>', $page);
- $this->assertContains('<int>105</int>', $page);
+ $this->assertRegexp('#<int>10(5|3)</int>#', $page);
}
public function testProxyServer()
{
$page = $this->request('server/proxy.php');
$this->assertContains('<name>faultCode</name>', $page);
- $this->assertContains('<int>105</int>', $page);
+ $this->assertRegexp('#<int>10(5|3)</int>#', $page);
}
}