summaryrefslogtreecommitdiff
path: root/tests/integration/Base.php
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-01-22 21:23:12 -0500
committerFrederic Guillot <fred@kanboard.net>2016-01-22 21:23:12 -0500
commitad8fcf035ab92d8cd06179959000b9a1681b1505 (patch)
tree80f4e35b16c1c1a6d4c473983bc6cb62b9519494 /tests/integration/Base.php
parentf27bcec2d92af83ee7205c84954cda9d7b2fc55d (diff)
Add new API procedures for groups, roles and project permissions
Diffstat (limited to 'tests/integration/Base.php')
-rw-r--r--tests/integration/Base.php62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/integration/Base.php b/tests/integration/Base.php
new file mode 100644
index 00000000..6facd9ce
--- /dev/null
+++ b/tests/integration/Base.php
@@ -0,0 +1,62 @@
+<?php
+
+require_once __DIR__.'/../../vendor/autoload.php';
+
+abstract class Base extends PHPUnit_Framework_TestCase
+{
+ protected $app = null;
+ protected $admin = null;
+ protected $user = null;
+
+ public static function setUpBeforeClass()
+ {
+ if (DB_DRIVER === 'sqlite') {
+ @unlink(DB_FILENAME);
+ } elseif (DB_DRIVER === 'mysql') {
+ $pdo = new PDO('mysql:host='.DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
+ $pdo->exec('DROP DATABASE '.DB_NAME);
+ $pdo->exec('CREATE DATABASE '.DB_NAME);
+ $pdo = null;
+ } elseif (DB_DRIVER === 'postgres') {
+ $pdo = new PDO('pgsql:host='.DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
+ $pdo->exec('DROP DATABASE '.DB_NAME);
+ $pdo->exec('CREATE DATABASE '.DB_NAME.' WITH OWNER '.DB_USERNAME);
+ $pdo = null;
+ }
+
+ $service = new Kanboard\ServiceProvider\DatabaseProvider;
+
+ $db = $service->getInstance();
+ $db->table('settings')->eq('option', 'api_token')->update(array('value' => API_KEY));
+ $db->closeConnection();
+ }
+
+ public function setUp()
+ {
+ $this->app = new JsonRPC\Client(API_URL);
+ $this->app->authentication('jsonrpc', API_KEY);
+ $this->app->debug = true;
+
+ $this->admin = new JsonRPC\Client(API_URL);
+ $this->admin->authentication('admin', 'admin');
+ // $this->admin->debug = true;
+
+ $this->user = new JsonRPC\Client(API_URL);
+ $this->user->authentication('user', 'password');
+ // $this->user->debug = true;
+ }
+
+ protected function getProjectId()
+ {
+ $projects = $this->app->getAllProjects();
+ $this->assertNotEmpty($projects);
+ return $projects[0]['id'];
+ }
+
+ protected function getGroupId()
+ {
+ $groups = $this->app->getAllGroups();
+ $this->assertNotEmpty($groups);
+ return $groups[0]['id'];
+ }
+}