From bdebe6598c52a74f7040e3a11198b3554fa58f54 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Tue, 12 Apr 2011 09:29:59 +0200 Subject: use bootstrap file declared in phpunit.xml and do not include it in every single test file. also get rid of the PHPUnit_MAIN_METHOD declarations since using phpunit directly is preferred --- tests/Api/ExportCsvTest.php | 25 ------------------------- tests/Api/PostsAddTest.php | 25 ------------------------- tests/Api/PostsDeleteTest.php | 25 ------------------------- tests/Api/PostsUpdateTest.php | 25 ------------------------- 4 files changed, 100 deletions(-) (limited to 'tests/Api') diff --git a/tests/Api/ExportCsvTest.php b/tests/Api/ExportCsvTest.php index 2bff8a5..681f0de 100644 --- a/tests/Api/ExportCsvTest.php +++ b/tests/Api/ExportCsvTest.php @@ -12,14 +12,8 @@ * @license GPL http://www.gnu.org/licenses/gpl.html * @link http://sourceforge.net/projects/semanticscuttle */ - -require_once dirname(__FILE__) . '/../prepare.php'; require_once 'HTTP/Request2.php'; -if (!defined('PHPUnit_MAIN_METHOD')) { - define('PHPUnit_MAIN_METHOD', 'Api_ExportCsvTest::main'); -} - /** * Unit tests for the SemanticScuttle csv export API * @@ -39,21 +33,6 @@ class Api_ExportCsvTest extends TestBaseApi - /** - * Used to run this test class standalone - * - * @return void - */ - public static function main() - { - require_once 'PHPUnit/TextUI/TestRunner.php'; - PHPUnit_TextUI_TestRunner::run( - new PHPUnit_Framework_TestSuite(__CLASS__) - ); - } - - - /** * Test if authentication is required when sending no auth data */ @@ -280,8 +259,4 @@ class Api_ExportCsvTest extends TestBaseApi return $ar; } } - -if (PHPUnit_MAIN_METHOD == 'Api_ExportCsvTest::main') { - Api_ExportCsvTest::main(); -} ?> \ No newline at end of file diff --git a/tests/Api/PostsAddTest.php b/tests/Api/PostsAddTest.php index 1f21d04..53aa8e7 100644 --- a/tests/Api/PostsAddTest.php +++ b/tests/Api/PostsAddTest.php @@ -12,14 +12,8 @@ * @license GPL http://www.gnu.org/licenses/gpl.html * @link http://sourceforge.net/projects/semanticscuttle */ - -require_once dirname(__FILE__) . '/../prepare.php'; require_once 'HTTP/Request2.php'; -if (!defined('PHPUnit_MAIN_METHOD')) { - define('PHPUnit_MAIN_METHOD', 'Api_PostsAddTest::main'); -} - /** * Unit tests for the SemanticScuttle post addition API. * @@ -37,21 +31,6 @@ class Api_PostsAddTest extends TestBaseApi - /** - * Used to run this test class standalone - * - * @return void - */ - public static function main() - { - require_once 'PHPUnit/TextUI/TestRunner.php'; - PHPUnit_TextUI_TestRunner::run( - new PHPUnit_Framework_TestSuite(__CLASS__) - ); - } - - - /** * Test if authentication is required when sending no auth data */ @@ -428,8 +407,4 @@ TXT; $this->assertEquals($title2, $data['bookmarks'][0]['bTitle']); } } - -if (PHPUnit_MAIN_METHOD == 'Api_PostsAddTest::main') { - Api_PostsAddTest::main(); -} ?> \ No newline at end of file diff --git a/tests/Api/PostsDeleteTest.php b/tests/Api/PostsDeleteTest.php index d9fb6cd..7ba1285 100644 --- a/tests/Api/PostsDeleteTest.php +++ b/tests/Api/PostsDeleteTest.php @@ -12,14 +12,8 @@ * @license GPL http://www.gnu.org/licenses/gpl.html * @link http://sourceforge.net/projects/semanticscuttle */ - -require_once dirname(__FILE__) . '/../prepare.php'; require_once 'HTTP/Request2.php'; -if (!defined('PHPUnit_MAIN_METHOD')) { - define('PHPUnit_MAIN_METHOD', 'Api_PostsDeleteTest::main'); -} - /** * Unit tests for the SemanticScuttle post deletion API. * @@ -37,21 +31,6 @@ class Api_PostsDeleteTest extends TestBaseApi - /** - * Used to run this test class standalone - * - * @return void - */ - public static function main() - { - require_once 'PHPUnit/TextUI/TestRunner.php'; - PHPUnit_TextUI_TestRunner::run( - new PHPUnit_Framework_TestSuite(__CLASS__) - ); - } - - - /** * Test if authentication is required when sending no auth data */ @@ -296,8 +275,4 @@ class Api_PostsDeleteTest extends TestBaseApi } } - -if (PHPUnit_MAIN_METHOD == 'Api_PostsDeleteTest::main') { - Api_PostsDeleteTest::main(); -} ?> \ No newline at end of file diff --git a/tests/Api/PostsUpdateTest.php b/tests/Api/PostsUpdateTest.php index c497a55..51f8be2 100644 --- a/tests/Api/PostsUpdateTest.php +++ b/tests/Api/PostsUpdateTest.php @@ -12,14 +12,8 @@ * @license GPL http://www.gnu.org/licenses/gpl.html * @link http://sourceforge.net/projects/semanticscuttle */ - -require_once dirname(__FILE__) . '/../prepare.php'; require_once 'HTTP/Request2.php'; -if (!defined('PHPUnit_MAIN_METHOD')) { - define('PHPUnit_MAIN_METHOD', 'Api_PostsUpdateTest::main'); -} - /** * Unit tests for the SemanticScuttle last-update time API. * @@ -37,21 +31,6 @@ class Api_PostsUpdateTest extends TestBaseApi - /** - * Used to run this test class standalone - * - * @return void - */ - public static function main() - { - require_once 'PHPUnit/TextUI/TestRunner.php'; - PHPUnit_TextUI_TestRunner::run( - new PHPUnit_Framework_TestSuite(__CLASS__) - ); - } - - - /** * Test if authentication is required when sending no auth data */ @@ -128,8 +107,4 @@ class Api_PostsUpdateTest extends TestBaseApi } } - -if (PHPUnit_MAIN_METHOD == 'Api_PostsUpdateTest::main') { - Api_PostsUpdateTest::main(); -} ?> \ No newline at end of file -- cgit v1.2.3 From f5ac88ea87723f68d600470140102113ef3838bb Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Thu, 14 Apr 2011 16:53:46 +0200 Subject: test that opensearch link is the main page HTML head --- tests/Api/OpenSearchTest.php | 52 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tests/Api/OpenSearchTest.php (limited to 'tests/Api') diff --git a/tests/Api/OpenSearchTest.php b/tests/Api/OpenSearchTest.php new file mode 100644 index 0000000..346f026 --- /dev/null +++ b/tests/Api/OpenSearchTest.php @@ -0,0 +1,52 @@ +getRequest(); + $xhtml = $req->send()->getBody(); + + $xml = simplexml_load_string($xhtml); + $xml->registerXPathNamespace('h', reset($xml->getDocNamespaces())); + + $this->assertInstanceOf( + 'SimpleXMLElement', $xml, + 'SemanticScuttle main page XHTML could not be loaded - maybe invalid?' + ); + + $arElements = $xml->xpath( + '//h:head/h:link' + . '[@rel="search" and @type="application/opensearchdescription+xml"]' + ); + $this->assertEquals( + 1, count($arElements), + 'OpenSearch link in HTML is missing' + ); + $searchDescUrl = (string)$arElements[0]['href']; + $this->assertNotNull($searchDescUrl, 'Search description URL is empty'); + + //FIXME: verify that URL exists + $req = new HTTP_Request2($searchDescUrl); + $res = $req->send(); + $this->assertEquals( + 200, $res->getStatus(), + 'HTTP response status code is not 200' + ); + + $this->assertEquals( + $GLOBALS['unittestUrl'] . 'api/opensearch.php', + $searchDescUrl, + 'OpenSearch URL found, but it is not the expected one.' + . ' It may be that you misconfigured the "unittestUrl" setting' + ); + } + +} + +?> \ No newline at end of file -- cgit v1.2.3 From dbccc1781e374f36225a3bdbc37b6f43d698a0b5 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Thu, 14 Apr 2011 16:55:51 +0200 Subject: remove fixme --- tests/Api/OpenSearchTest.php | 1 - 1 file changed, 1 deletion(-) (limited to 'tests/Api') diff --git a/tests/Api/OpenSearchTest.php b/tests/Api/OpenSearchTest.php index 346f026..72b4e4d 100644 --- a/tests/Api/OpenSearchTest.php +++ b/tests/Api/OpenSearchTest.php @@ -31,7 +31,6 @@ class Api_OpenSearchTest extends TestBaseApi $searchDescUrl = (string)$arElements[0]['href']; $this->assertNotNull($searchDescUrl, 'Search description URL is empty'); - //FIXME: verify that URL exists $req = new HTTP_Request2($searchDescUrl); $res = $req->send(); $this->assertEquals( -- cgit v1.2.3 From 8a87a245b8bba49abd6ad7f9f457c421b09d9e30 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Thu, 14 Apr 2011 16:58:47 +0200 Subject: test opensearch api content type --- tests/Api/OpenSearchTest.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'tests/Api') diff --git a/tests/Api/OpenSearchTest.php b/tests/Api/OpenSearchTest.php index 72b4e4d..a242319 100644 --- a/tests/Api/OpenSearchTest.php +++ b/tests/Api/OpenSearchTest.php @@ -6,7 +6,6 @@ class Api_OpenSearchTest extends TestBaseApi protected $urlPart = ''; - public function testOpenSearchAvailable() { $req = $this->getRequest(); @@ -46,6 +45,15 @@ class Api_OpenSearchTest extends TestBaseApi ); } + public function testOpenSearchContentType() + { + $res = $this->getRequest('api/opensearch.php')->send(); + $this->assertEquals( + 'text/xml; charset=utf-8', + $res->getHeader('content-type') + ); + } + } ?> \ No newline at end of file -- cgit v1.2.3 From 5d22905ce7eb97d60c3dafddc3e96136a2b94436 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Thu, 14 Apr 2011 17:04:57 +0200 Subject: verify we get the correct search URL --- tests/Api/OpenSearchTest.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests/Api') diff --git a/tests/Api/OpenSearchTest.php b/tests/Api/OpenSearchTest.php index a242319..050713b 100644 --- a/tests/Api/OpenSearchTest.php +++ b/tests/Api/OpenSearchTest.php @@ -54,6 +54,23 @@ class Api_OpenSearchTest extends TestBaseApi ); } + public function testOpenSearchSearchUrl() + { + $xml = $this->getRequest('api/opensearch.php')->send()->getBody(); + $x = simplexml_load_string($xml); + $x->registerXPathNamespace('os', reset($x->getDocNamespaces())); + + $arElements = $x->xpath('//os:Url[@type="text/html"]'); + $this->assertEquals( + 1, count($arElements), + 'Url in OpenSearch description is missing' + ); + $this->assertEquals( + $GLOBALS['unittestUrl'] . 'search.php/all/{searchTerms}', + (string)$arElements[0]['template'] + ); + } + } ?> \ No newline at end of file -- cgit v1.2.3