diff options
Diffstat (limited to 'tests/Api')
-rw-r--r-- | tests/Api/ExportCsvTest.php | 25 | ||||
-rw-r--r-- | tests/Api/OpenSearchTest.php | 76 | ||||
-rw-r--r-- | tests/Api/PostsAddTest.php | 46 | ||||
-rw-r--r-- | tests/Api/PostsDeleteTest.php | 25 | ||||
-rw-r--r-- | tests/Api/PostsUpdateTest.php | 25 |
5 files changed, 90 insertions, 107 deletions
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 * @@ -40,21 +34,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 */ public function testAuthWithoutAuthData() @@ -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/OpenSearchTest.php b/tests/Api/OpenSearchTest.php new file mode 100644 index 0000000..050713b --- /dev/null +++ b/tests/Api/OpenSearchTest.php @@ -0,0 +1,76 @@ +<?php + + +class Api_OpenSearchTest extends TestBaseApi +{ + protected $urlPart = ''; + + + public function testOpenSearchAvailable() + { + $req = $this->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'); + + $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' + ); + } + + public function testOpenSearchContentType() + { + $res = $this->getRequest('api/opensearch.php')->send(); + $this->assertEquals( + 'text/xml; charset=utf-8', + $res->getHeader('content-type') + ); + } + + 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 diff --git a/tests/Api/PostsAddTest.php b/tests/Api/PostsAddTest.php index 3c1177f..24cc600 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. * @@ -38,28 +32,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__) - ); - } - - - public function setUp() - { - parent::setUp(); - $this->bs->deleteAll(); - } - - - - /** * Test if authentication is required when sending no auth data */ public function testAuthWithoutAuthData() @@ -89,6 +61,8 @@ class Api_PostsAddTest extends TestBaseApi */ public function testAddBookmarkPost() { + $this->bs->deleteAll(); + $bmUrl = 'http://example.org/tag-1'; $bmTags = array('foo', 'bar', 'baz'); $bmDatetime = '2010-09-08T03:02:01Z'; @@ -149,6 +123,8 @@ TXT; */ public function testAddBookmarkGet() { + $this->bs->deleteAll(); + $bmUrl = 'http://example.org/tag-1'; $bmTags = array('foo', 'bar', 'baz'); $bmDatetime = '2010-09-08T03:02:01Z'; @@ -208,6 +184,8 @@ TXT; */ public function testUrlDescEnough() { + $this->bs->deleteAll(); + list($req, $uId) = $this->getAuthRequest(); $req->setMethod(HTTP_Request2::METHOD_POST); $req->addPostParameter('url', 'http://example.org/tag2'); @@ -242,6 +220,8 @@ TXT; */ public function testUrlRequired() { + $this->bs->deleteAll(); + list($req, $uId) = $this->getAuthRequest(); $req->setMethod(HTTP_Request2::METHOD_POST); //$req->addPostParameter('url', 'http://example.org/tag2'); @@ -276,6 +256,8 @@ TXT; */ public function testDescriptionRequired() { + $this->bs->deleteAll(); + list($req, $uId) = $this->getAuthRequest(); $req->setMethod(HTTP_Request2::METHOD_POST); $req->addPostParameter('url', 'http://example.org/tag2'); @@ -310,6 +292,8 @@ TXT; */ public function testReplaceNo() { + $this->bs->deleteAll(); + $url = 'http://example.org/tag2'; $title1 = 'foo bar 1'; $title2 = 'bar 2 foo'; @@ -376,6 +360,8 @@ TXT; */ public function testReplaceYes() { + $this->bs->deleteAll(); + $url = 'http://example.org/tag2'; $title1 = 'foo bar 1'; $title2 = 'bar 2 foo'; @@ -625,8 +611,4 @@ TXT; } - -if (PHPUnit_MAIN_METHOD == 'Api_PostsAddTest::main') { - Api_PostsAddTest::main(); -} ?> 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. * @@ -38,21 +32,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 */ public function testAuthWithoutAuthData() @@ -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. * @@ -38,21 +32,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 */ public function testAuthWithoutAuthData() @@ -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 |