From 891df346377be014bbad14c229421d92cfd332ea Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 27 Apr 2017 00:24:17 +0300 Subject: [PATCH] add some basic API unit tests --- classes/api.php | 2 +- classes/db/prefs.php | 4 +-- tests/ApiTest.php | 70 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 tests/ApiTest.php diff --git a/classes/api.php b/classes/api.php index 8ffe68cc0..3737cf07e 100644 --- a/classes/api.php +++ b/classes/api.php @@ -887,4 +887,4 @@ class API extends Handler { } -} \ No newline at end of file +} diff --git a/classes/db/prefs.php b/classes/db/prefs.php index a26629490..26562298d 100644 --- a/classes/db/prefs.php +++ b/classes/db/prefs.php @@ -174,7 +174,7 @@ class Db_Prefs { db_query("UPDATE ttrss_user_prefs SET value = '$value' WHERE pref_name = '$pref_name' $profile_qpart - AND owner_uid = " . $_SESSION["uid"]); + AND owner_uid = " . $user_id); if ($user_id == $_SESSION["uid"]) { $this->cache[$pref_name]["type"] = $type_name; @@ -183,4 +183,4 @@ class Db_Prefs { } } -} \ No newline at end of file +} diff --git a/tests/ApiTest.php b/tests/ApiTest.php new file mode 100644 index 000000000..7a620d86e --- /dev/null +++ b/tests/ApiTest.php @@ -0,0 +1,70 @@ +$method(); + $rv = json_decode(ob_get_contents(), true); + ob_end_clean(); + + return $rv; + } + + public function testBasicAuth() { + $this->assertEquals(true, + authenticate_user("admin", "password")); + } + + public function testVersion() { + + $ret = $this->apiCall([], "getVersion"); + + $this->assertStringStartsWith( + VERSION_STATIC, + $ret['content']['version']); + } + + public function testLogin() { + + $ret = $this->apiCall(["op" => "login", + "user" => "admin", + "password" => "password"], "login"); + + $this->assertNotEmpty($ret['content']['session_id']); + } + + public function testGetUnread() { + $this->testLogin(); + $ret = $this->apiCall([],"getUnread"); + + $this->assertNotEmpty($ret['content']['unread']); + } + + public function testGetFeeds() { + $this->testLogin(); + $ret = $this->apiCall([], "getFeeds"); + + $this->assertEquals("http://tt-rss.org/forum/rss.php", + $ret['content'][0]['feed_url']); + + } +}