diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2011-06-27 19:39:38 +0200 | 
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2011-06-27 19:39:38 +0200 | 
| commit | 6ec3b102aa896df8ddcf6323e0635dc42ac25f98 (patch) | |
| tree | 5215bb0cc69d68b69767292afc7838217d48b8b5 | |
| parent | d2aecd8a76a8c1f0d326cae13f158b74b6e60709 (diff) | |
| download | semanticscuttle-6ec3b102aa896df8ddcf6323e0635dc42ac25f98.tar.gz semanticscuttle-6ec3b102aa896df8ddcf6323e0635dc42ac25f98.tar.bz2  | |
make the private tests really test something
| -rw-r--r-- | src/SemanticScuttle/Model/Bookmark.php | 17 | ||||
| -rw-r--r-- | tests/TestBase.php | 8 | ||||
| -rw-r--r-- | tests/TestBaseApi.php | 15 | ||||
| -rw-r--r-- | tests/www/rssTest.php | 73 | 
4 files changed, 42 insertions, 71 deletions
diff --git a/src/SemanticScuttle/Model/Bookmark.php b/src/SemanticScuttle/Model/Bookmark.php index 8bda0b3..1330642 100644 --- a/src/SemanticScuttle/Model/Bookmark.php +++ b/src/SemanticScuttle/Model/Bookmark.php @@ -24,6 +24,23 @@  class SemanticScuttle_Model_Bookmark  {      /** +     * Status "public" / visible for all +     */ +    const SPUBLIC = 0; + +    /** +     * Status "shared" / visible for people on your watchlist +     */ +    const SWATCHLIST = 1; + +    /** +     * Status "private" / visible for yourself only +     */ +    const SPRIVATE = 2; + + + +    /**       * Checks if the given URL is valid and may be used with this       * SemanticScuttle installation.       * diff --git a/tests/TestBase.php b/tests/TestBase.php index 5ea656c..2180d2d 100644 --- a/tests/TestBase.php +++ b/tests/TestBase.php @@ -76,8 +76,8 @@ class TestBase extends PHPUnit_Framework_TestCase      /**       * Creates a new user in the database.       * -     * @param string $username   Username -     * @param string $password   Password +     * @param string $username   Username, may be null +     * @param string $password   Password, may be null       * @param mixed  $privateKey String private key or boolean true to generate one       *       * @return integer ID of user @@ -95,8 +95,8 @@ class TestBase extends PHPUnit_Framework_TestCase      /**       * Creates a new user in the database and returns id, username and password.       * -     * @param string $username   Username -     * @param string $password   Password +     * @param string $username   Username, may be null +     * @param string $password   Password, may be null       * @param mixed  $privateKey String private key or boolean true to generate one       *       * @return array ID of user, Name of user, password of user, privatekey diff --git a/tests/TestBaseApi.php b/tests/TestBaseApi.php index f860d10..1052ae7 100644 --- a/tests/TestBaseApi.php +++ b/tests/TestBaseApi.php @@ -187,8 +187,7 @@ class TestBaseApi extends TestBase       * @uses getRequest()       */      protected function getLoggedInRequest( -        $urlSuffix = null, $auth = true, $privateKey = false, -        $setCookie = true +        $urlSuffix = null, $auth = true, $privateKey = null      ) {          if (is_array($auth)) {              list($username, $password) = $auth; @@ -196,13 +195,7 @@ class TestBaseApi extends TestBase              $username = 'testuser';              $password = 'testpassword';          } -        //include privatekey if requested -        if ($privateKey) { -            $pKey = $this->us->getNewPrivateKey(); -        } else { -            $pKey = null; -        } -        $uid = $this->addUser($username, $password, $pKey); +        $uid = $this->addUser($username, $password, $privateKey);          $req = new HTTP_Request2(              $GLOBALS['unittestUrl'] . '/login.php?unittestMode=1', @@ -218,9 +211,7 @@ class TestBaseApi extends TestBase          $this->assertEquals(302, $res->getStatus(), 'Login failure');          $req = $this->getRequest($urlSuffix); -        if ($setCookie) { -            $req->setCookieJar($cookies); -        } +        $req->setCookieJar($cookies);          return array($req, $uid);      } diff --git a/tests/www/rssTest.php b/tests/www/rssTest.php index 9d4e41b..fc49264 100644 --- a/tests/www/rssTest.php +++ b/tests/www/rssTest.php @@ -7,44 +7,23 @@ class www_rssTest extends TestBaseApi      protected $urlPart = 'rss.php';      /** -     * Test a user who does not have RSS private key enabled -     * and with a private bookmark. +     * A private bookmark should not show up in an rss feed if the +     * user is not logged in nor passes the private key       */ -    public function testNoRSSPrivateKeyEnabled() +    public function testPrivateNotLoggedIn()      { -        $this->setUnittestConfig( -            array('defaults' => array('privacy' => 2)) +        list($uId, $username) = $this->addUserData(); +        $this->addBookmark( +            $uId, null, SemanticScuttle_Model_Bookmark::SPRIVATE          ); -        /* create user without RSS private Key */ -        list($req, $uId) = $this->getLoggedInRequest(null, true, false, false); - -        /* create private bookmark */ -        $this->bs->addBookmark( -            'http://test', 'test', 'desc', 'note', -            2,//private -            array(), null, null, false, false, $uId -        ); -        /* create public bookmark */ -        $this->bs->addBookmark( -            'http://example.org', 'title', 'desc', 'priv', -            0,//public -            array(), null, null, false, false, $uId -        ); - -        /* get user details */ -        $user = $this->us->getUser($uId); - -        $req->setMethod(HTTP_Request2::METHOD_POST); -        $req->setUrl($this->getTestUrl('/' . $user['username'] . '?sort=date_desc')); -        $response = $req->send(); -        $response_body = $response->getBody(); +        $req = $this->getRequest('/' . $username); +        $response_body = $req->send()->getBody();          $rss = simplexml_load_string($response_body);          $items = $rss->channel->item; -        $this->assertEquals(1, count($items), 'Incorrect Number of RSS Items'); -        $this->assertEquals('title', (string)$items[0]->title); +        $this->assertEquals(0, count($items), 'I see a private bookmark');      }//end testNoRSSPrivateKeyEnabled @@ -54,38 +33,22 @@ class www_rssTest extends TestBaseApi       */      public function testRSSPrivateKeyEnabled()      { -        $this->setUnittestConfig( -            array('defaults' => array('privacy' => 2)) +        list($uId, $username, $password, $privateKey) = $this->addUserData( +            null, null, true          ); - -        /* create user with RSS private Key */ -        list($req, $uId) = $this->getLoggedInRequest(null, true, false, true); - -        /* create private bookmark */ -        $this->bs->addBookmark( -            'http://test', 'test', 'desc', 'note', -            2,//private -            array(), null, null, false, false, $uId +        $this->addBookmark( +            $uId, null, SemanticScuttle_Model_Bookmark::SPRIVATE, +            null, 'private bookmark'          ); -        /* create public bookmark */ -        $this->bs->addBookmark( -            'http://example.org', 'title', 'desc', 'priv', -            0,//public -            array(), null, null, false, false, $uId -        ); - -        /* get user details */ -        $user = $this->us->getUser($uId); -        $req->setMethod(HTTP_Request2::METHOD_POST); -        $req->setUrl($this->getTestUrl('/' . $user['username'] . '?sort=date_desc&privatekey=' . $user['privateKey'])); -        $response = $req->send(); -        $response_body = $response->getBody(); +        $req = $this->getRequest('/' . $username . '?privatekey=' . $privateKey); +        $response_body = $req->send()->getBody();          $rss = simplexml_load_string($response_body);          $items = $rss->channel->item; -        $this->assertEquals(2, count($items), 'Incorrect Number of RSS Items'); +        $this->assertEquals(1, count($items), 'I miss the private bookmark'); +        $this->assertEquals('private bookmark', (string)$items[0]->title);      }//end testRSSPrivateKeyEnabled  | 
