diff options
Diffstat (limited to 'tests/Unit/Db/FeedTest.php')
-rw-r--r-- | tests/Unit/Db/FeedTest.php | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/tests/Unit/Db/FeedTest.php b/tests/Unit/Db/FeedTest.php new file mode 100644 index 000000000..25d2e4be2 --- /dev/null +++ b/tests/Unit/Db/FeedTest.php @@ -0,0 +1,116 @@ +<?php +/** + * ownCloud - News + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING file. + * + * @author Alessandro Cosentino <cosenal@gmail.com> + * @author Bernhard Posselt <dev@bernhard-posselt.com> + * @copyright Alessandro Cosentino 2012 + * @copyright Bernhard Posselt 2012, 2014 + */ + +namespace OCA\News\Db; + + +class FeedTest extends \PHPUnit_Framework_TestCase { + + + private function createFeed() { + $feed = new Feed(); + $feed->setId(3); + $feed->setHttpLastModified(44); + $feed->setHttpEtag(45); + $feed->setUrl('http://google.com/some/weird/path'); + $feed->setTitle('title'); + $feed->setFaviconLink('favicon'); + $feed->setAdded(123); + $feed->setFolderId(1); + $feed->setUnreadCount(321); + $feed->setLink('https://www.google.com/some/weird/path'); + $feed->setLocation('http://google.at'); + $feed->setOrdering(2); + $feed->setFullTextEnabled(true); + $feed->setPinned(true); + $feed->setUpdateMode(1); + $feed->setUpdateErrorCount(2); + $feed->setLastUpdateError('hi'); + $feed->setBasicAuthUser('user'); + $feed->setBasicAuthPassword('password'); + return $feed; + } + + public function testToAPI() { + $feed = $this->createFeed(); + + $this->assertEquals([ + 'id' => 3, + 'url' => 'http://google.com/some/weird/path', + 'title' => 'title', + 'faviconLink' => 'favicon', + 'added' => 123, + 'folderId' => 1, + 'unreadCount' => 321, + 'ordering' => 2, + 'pinned' => true, + 'link' => 'https://www.google.com/some/weird/path', + 'updateErrorCount' => 2, + 'lastUpdateError' => 'hi' + ], $feed->toAPI()); + } + + + public function testSerialize() { + $feed = $this->createFeed(); + + $this->assertEquals([ + 'id' => 3, + 'url' => 'http://google.com/some/weird/path', + 'title' => 'title', + 'faviconLink' => 'favicon', + 'added' => 123, + 'folderId' => 1, + 'unreadCount' => 321, + 'link' => 'https://www.google.com/some/weird/path', + 'userId' => null, + 'urlHash' => '44168618f55392b145629d6b3922e84b', + 'preventUpdate' => null, + 'deletedAt' => null, + 'articlesPerUpdate' => null, + 'cssClass' => 'custom-google-com', + 'location' => 'http://google.at', + 'ordering' => 2, + 'fullTextEnabled' => true, + 'pinned' => true, + 'updateMode' => 1, + 'updateErrorCount' => 2, + 'lastUpdateError' => 'hi', + 'basicAuthUser' => 'user', + 'basicAuthPassword' => 'password' + ], $feed->jsonSerialize()); + } + + + public function testSetXSSUrl() { + $feed = new Feed(); + $feed->setUrl('javascript:alert()'); + $this->assertEquals('', $feed->getUrl()); + } + + + public function testSetUrlUpdatesHash() { + $feed = new Feed(); + $feed->setUrl('http://test'); + $this->assertEquals(md5('http://test'), $feed->getUrlHash()); + } + + + public function testSetXSSLink() { + $feed = new Feed(); + $feed->setLink('javascript:alert()'); + $this->assertEquals('', $feed->getLink()); + } + + +} |