summaryrefslogtreecommitdiffstats
path: root/tests/serverApi/ServerApiCept.php
diff options
context:
space:
mode:
authorArnold Daniels <arnold@jasny.net>2015-09-27 16:55:48 +0200
committerArnold Daniels <arnold@jasny.net>2015-09-27 16:55:48 +0200
commit3323715e88c22eeae359d9b7cb40ec921c97199e (patch)
tree63ccf1c19240612122232caab24fc7bcaef1becc /tests/serverApi/ServerApiCept.php
parentbb037525545f1cc36ad15f6a0719c807ab878591 (diff)
parent06d3638c4e66d607435ac0e4f784560b34d3927f (diff)
downloadsso-3323715e88c22eeae359d9b7cb40ec921c97199e.zip
sso-3323715e88c22eeae359d9b7cb40ec921c97199e.tar.gz
sso-3323715e88c22eeae359d9b7cb40ec921c97199e.tar.bz2
Merge pull request #16 from jasny/library
Turn demo into a library
Diffstat (limited to 'tests/serverApi/ServerApiCept.php')
-rw-r--r--tests/serverApi/ServerApiCept.php57
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/serverApi/ServerApiCept.php b/tests/serverApi/ServerApiCept.php
new file mode 100644
index 0000000..3e98112
--- /dev/null
+++ b/tests/serverApi/ServerApiCept.php
@@ -0,0 +1,57 @@
+<?php
+$token = 'hello_world';
+$broker = "ServerApi";
+$checksum = '514ee01d6ed9a88908790683c203e2ac';
+$password = 'admin';
+$username = 'admin';
+
+$I = new ServerApiTester($scenario);
+$I->defaultArgs = [
+ 'token' => $token,
+ 'broker' => $broker, 'checksum' => $checksum,
+ 'PHPSESSID' => 'SSO-ServerApi-hello_world-0949c41dd2c747f8e1d4bfd85dd2f4d8'
+];
+
+$I->wantTo('attach session and view user info and logout');
+$I->sendServerRequest('attach', ['PHPSESSID' => '']);
+$I->seeResponseIsJson();
+$I->seeResponseCodeIs(200);
+$I->seeResponseContainsJson(['token' => $token]);
+
+$I->sendServerRequest('userInfo');
+$I->seeResponseCodeIs(401);
+$I->seeResponseIsJson();
+$I->seeResponseContainsJson(['error' => 'Not logged in']);
+
+$I->sendServerRequest('login', [
+ 'password' => 'wrong',
+ 'username' => 'wrong'
+]);
+
+$I->seeResponseCodeIs(401);
+$I->seeResponseIsJson(['error' => 'Incorrect credentials']);
+
+$I->sendServerRequest('login', [
+ 'password' => $username,
+ 'username' => $password
+]);
+$I->seeResponseCodeIs(200);
+$I->seeResponseIsJson(['token' => $token]);
+
+$I->sendServerRequest('userInfo');
+$I->seeResponseCodeIs(200);
+$I->seeResponseIsJson();
+$I->seeResponseContainsJson([
+ 'fullname' => 'jackie',
+ 'email' => 'jackie@admin.com',
+ 'username' => 'admin'
+]);
+
+$I->sendServerRequest('logout');
+$I->seeResponseCodeIs(200);
+$I->seeResponseIsJson();
+
+$I->sendServerRequest('userInfo');
+$I->seeResponseCodeIs(401);
+$I->seeResponseIsJson();
+$I->seeResponseContainsJson(['error' => 'Not logged in']); \ No newline at end of file