Refined bookmarksTest.php and added indexTest.php

This commit is contained in:
Mark Pemberton 2011-06-07 22:13:50 -04:00
parent 032ea9ec25
commit cd2756a4d0
3 changed files with 96 additions and 4 deletions

View file

@ -98,10 +98,37 @@ class www_bookmarksTest extends TestBaseApi
$ns = $x->getDocNamespaces(); $ns = $x->getDocNamespaces();
$x->registerXPathNamespace('ns', reset($ns)); $x->registerXPathNamespace('ns', reset($ns));
$elements = $x->xpath('//ns:link'); $elements = $x->xpath('//ns:link[@rel="alternate" and @type="application/rss+xml"]');
$this->assertEquals(5, count($elements), 'Number of Links in Head not correct'); $this->assertEquals(2, count($elements), 'Number of Links in Head not correct');
$this->assertContains('privatekey=', (string)$elements[4]['href']); $this->assertContains('privatekey=', (string)$elements[1]['href']);
}//end testVerifyPrivateRSSLinkExists }//end testVerifyPrivateRSSLinkExists
/**
* Test that the private RSS link doesn't exists when a user
* does not have a private key or is not enabled
*/
public function testVerifyPrivateRSSLinkDoesNotExist()
{
list($req, $uId) = $this->getLoggedInRequest('?unittestMode=1', true);
$user = $this->us->getUser($uId);
$reqUrl = $GLOBALS['unittestUrl'] . 'bookmarks.php/'
. $user['username'];
$req->setUrl($reqUrl);
$req->setMethod(HTTP_Request2::METHOD_GET);
$response = $req->send();
$response_body = $response->getBody();
$this->assertNotEquals('', $response_body, 'Response is empty');
$x = simplexml_load_string($response_body);
$ns = $x->getDocNamespaces();
$x->registerXPathNamespace('ns', reset($ns));
$elements = $x->xpath('//ns:link[@rel="alternate" and @type="application/rss+xml"]');
$this->assertEquals(1, count($elements), 'Number of Links in Head not correct');
$this->assertNotContains('privatekey=', (string)$elements[0]['href']);
}//end testVerifyPrivateRSSLinkDoesNotExist
}//end class www_bookmarksTest }//end class www_bookmarksTest
?> ?>

63
tests/www/indexTest.php Normal file
View file

@ -0,0 +1,63 @@
<?php
require_once dirname(__FILE__) . '/../prepare.php';
require_once 'HTTP/Request2.php';
class www_indexTest extends TestBaseApi
{
protected $urlPart = 'api/posts/add';
/**
* Test that the private rss feed exists when user is setup
* with a private key and is enabled
*/
public function testVerifyPrivateRSSLinkExists()
{
list($req, $uId) = $this->getLoggedInRequest('?unittestMode=1', true, true);
$user = $this->us->getUser($uId);
$reqUrl = $GLOBALS['unittestUrl'] . 'index.php/';
$req->setUrl($reqUrl);
$req->setMethod(HTTP_Request2::METHOD_GET);
$response = $req->send();
$response_body = $response->getBody();
$this->assertNotEquals('', $response_body, 'Response is empty');
$x = simplexml_load_string($response_body);
$ns = $x->getDocNamespaces();
$x->registerXPathNamespace('ns', reset($ns));
$elements = $x->xpath('//ns:link[@rel="alternate" and @type="application/rss+xml"]');
$this->assertEquals(2, count($elements), 'Number of Links in Head not correct');
$this->assertContains('privatekey=', (string)$elements[1]['href']);
}//end testVerifyPrivateRSSLinkExists
/**
* Test that the private RSS link doesn't exists when a user
* does not have a private key or is not enabled
*/
public function testVerifyPrivateRSSLinkDoesNotExist()
{
list($req, $uId) = $this->getLoggedInRequest('?unittestMode=1', true);
$user = $this->us->getUser($uId);
$reqUrl = $GLOBALS['unittestUrl'] . 'bookmarks.php/'
. $user['username'];
$req->setUrl($reqUrl);
$req->setMethod(HTTP_Request2::METHOD_GET);
$response = $req->send();
$response_body = $response->getBody();
$this->assertNotEquals('', $response_body, 'Response is empty');
$x = simplexml_load_string($response_body);
$ns = $x->getDocNamespaces();
$x->registerXPathNamespace('ns', reset($ns));
$elements = $x->xpath('//ns:link[@rel="alternate" and @type="application/rss+xml"]');
$this->assertEquals(1, count($elements), 'Number of Links in Head not correct');
$this->assertNotContains('privatekey=', (string)$elements[0]['href']);
}//end testVerifyPrivateRSSLinkDoesNotExist
}//end class www_bookmarksTest
?>

View file

@ -1,4 +1,6 @@
<?php <?php
require_once dirname(__FILE__) . '/../prepare.php';
require_once 'HTTP/Request2.php';
class www_SearchTest extends TestBaseApi class www_SearchTest extends TestBaseApi
{ {