add some basic API unit tests
This commit is contained in:
parent
ea79a0e033
commit
891df34637
|
@ -887,4 +887,4 @@ class API extends Handler {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -174,7 +174,7 @@ class Db_Prefs {
|
||||||
db_query("UPDATE ttrss_user_prefs SET
|
db_query("UPDATE ttrss_user_prefs SET
|
||||||
value = '$value' WHERE pref_name = '$pref_name'
|
value = '$value' WHERE pref_name = '$pref_name'
|
||||||
$profile_qpart
|
$profile_qpart
|
||||||
AND owner_uid = " . $_SESSION["uid"]);
|
AND owner_uid = " . $user_id);
|
||||||
|
|
||||||
if ($user_id == $_SESSION["uid"]) {
|
if ($user_id == $_SESSION["uid"]) {
|
||||||
$this->cache[$pref_name]["type"] = $type_name;
|
$this->cache[$pref_name]["type"] = $type_name;
|
||||||
|
@ -183,4 +183,4 @@ class Db_Prefs {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
<?php
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
set_include_path(dirname(__DIR__) ."/include" . PATH_SEPARATOR .
|
||||||
|
dirname(__DIR__) . PATH_SEPARATOR .
|
||||||
|
get_include_path());
|
||||||
|
|
||||||
|
require_once "autoload.php";
|
||||||
|
|
||||||
|
final class ApiTest extends TestCase {
|
||||||
|
|
||||||
|
public function __construct() {
|
||||||
|
init_plugins();
|
||||||
|
initialize_user_prefs(1);
|
||||||
|
set_pref('ENABLE_API_ACCESS', true, 1);
|
||||||
|
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function apiCall($args, $method) {
|
||||||
|
$_REQUEST = $args;
|
||||||
|
|
||||||
|
$api = new API($args);
|
||||||
|
ob_start();
|
||||||
|
$api->$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']);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue