Skip to content

Commit 3418873

Browse files
committed
tests: add test classes
1 parent 187c34b commit 3418873

4 files changed

Lines changed: 225 additions & 0 deletions

File tree

tests/ApiClientTest.php

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
<?php
2+
/**
3+
*
4+
* API client test class
5+
*
6+
* @copyright Apereo
7+
* @category Test
8+
* @package OpenLRW
9+
* @author Xavier Chopin <bonjour@xavierchop.in>
10+
* @license http://www.osedu.org/licenses/ECL-2.0 ECL-2.0 License
11+
*/
12+
13+
declare(strict_types=1);
14+
15+
namespace Tests;
16+
17+
use OpenLRW\ApiClient;
18+
use OpenLRW\Entity\OneRoster;
19+
use OpenLRW\Entity\User;
20+
use PHPUnit\Framework\TestCase;
21+
22+
class ApiClientTest extends TestCase
23+
{
24+
25+
const URL = 'localhost:9966';
26+
const KEY = '4f97aee0-2998-4bab-85e7-bf25a39a05b5';
27+
const PASSWORD = '3b2f42b4-7819-4527-8f09-bb721366554f';
28+
29+
public function testClientShouldNotBeNull()
30+
{
31+
$client = new ApiClient(self::URL, self::KEY, self::PASSWORD);
32+
$this->assertNotNull($client);
33+
}
34+
35+
36+
public function testServerShouldBeUp()
37+
{
38+
$client = new ApiClient(self::URL, self::KEY, self::PASSWORD);
39+
$response = $client::isUp();
40+
$this->assertTrue($response);
41+
}
42+
43+
public function testServerShouldBeDown()
44+
{
45+
$client = new ApiClient('http://fake_openlrw.apero.org', self::KEY, self::PASSWORD);
46+
$response = $client::isUp();
47+
$this->assertFalse($response);
48+
}
49+
50+
public function testJwtShouldNotBeNull()
51+
{
52+
$client = new ApiClient(self::URL, self::KEY, self::PASSWORD);
53+
$client::generateJwt();
54+
$jwt = $client::getJwt();
55+
$this->assertNotNull($jwt);
56+
}
57+
58+
59+
public function testStaticJwtShouldNotBeNull()
60+
{
61+
$client = new ApiClient(self::URL, self::KEY, self::PASSWORD);
62+
$client::generateJwt();
63+
$jwt = ApiClient::getJwt();
64+
$this->assertNotNull($jwt);
65+
}
66+
67+
68+
public function testUserShouldNotBeNull()
69+
{
70+
new ApiClient(self::URL, self::KEY, self::PASSWORD);
71+
ApiClient::generateJwt();
72+
$user = User::find('test2u');
73+
$this->assertNotNull($user);
74+
}
75+
76+
77+
public function testOneRosterGetShouldReturnOk()
78+
{
79+
new ApiClient(self::URL, self::KEY, self::PASSWORD);
80+
ApiClient::generateJwt();
81+
$user = OneRoster::get('users/test2u');
82+
$this->assertNotNull($user);
83+
}
84+
85+
86+
public function testGetShouldReturnOk()
87+
{
88+
new ApiClient(self::URL, self::KEY, self::PASSWORD);
89+
90+
$jwt = ApiClient::generateJwt();
91+
92+
$header = ['X-Requested-With' => 'XMLHttpRequest', 'Authorization' => "Bearer $jwt"];
93+
94+
$user = ApiClient::httpGet('/api/users/test2u', $header);
95+
$this->assertNotNull($user);
96+
}
97+
98+
}

tests/ClassTest.php

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?php
2+
/**
3+
*
4+
* ClassTest class
5+
*
6+
* @copyright Apereo
7+
* @category Test
8+
* @package OpenLRW
9+
* @author Xavier Chopin <bonjour@xavierchop.in>
10+
* @license http://www.osedu.org/licenses/ECL-2.0 ECL-2.0 License
11+
*/
12+
13+
declare(strict_types=1);
14+
15+
namespace Tests;
16+
17+
use OpenLRW\ApiClient;
18+
use OpenLRW\Entity\Klass;
19+
use OpenLRW\Entity\User;
20+
use OpenLRW\Exception\NotFoundException;
21+
use PHPUnit\Framework\TestCase;
22+
23+
class ClassTest extends TestCase
24+
{
25+
26+
public function testClassShouldNotBeNull()
27+
{
28+
new ApiClient(ApiClientTest::URL, ApiClientTest::KEY, ApiClientTest::PASSWORD);
29+
ApiClient::generateJwt();
30+
$class = Klass::find('1');
31+
$this->assertNotNull($class);
32+
}
33+
34+
public function testAttributeShouldNotBeNull()
35+
{
36+
new ApiClient(ApiClientTest::URL, ApiClientTest::KEY, ApiClientTest::PASSWORD);
37+
ApiClient::generateJwt();
38+
$class = Klass::find('1');
39+
$sourcedId = $class->sourcedId;
40+
$this->assertEquals('1', $sourcedId);
41+
}
42+
43+
}

tests/EventTest.php

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
/**
3+
*
4+
* EventTest class
5+
*
6+
* @copyright Apereo
7+
* @category Test
8+
* @package OpenLRW
9+
* @author Xavier Chopin <bonjour@xavierchop.in>
10+
* @license http://www.osedu.org/licenses/ECL-2.0 ECL-2.0 License
11+
*/
12+
13+
declare(strict_types=1);
14+
15+
namespace Tests;
16+
17+
use OpenLRW\ApiClient;
18+
use OpenLRW\Entity\Event;
19+
use OpenLRW\Entity\User;
20+
use PHPUnit\Framework\TestCase;
21+
22+
class EventTest extends TestCase
23+
{
24+
25+
public function testSendCaliperShouldReturnOK()
26+
{
27+
new ApiClient(ApiClientTest::URL, ApiClientTest::KEY, ApiClientTest::PASSWORD);
28+
$response = Event::caliperFactory('test_user_php', 'Test', 'this is a unit test');
29+
30+
$this->assertEquals(200, $response);
31+
}
32+
33+
public function testSendCaliperShouldNotBeNull()
34+
{
35+
new ApiClient(ApiClientTest::URL, ApiClientTest::KEY, ApiClientTest::PASSWORD);
36+
ApiClient::generateJwt();
37+
$events = User::events('test_user_php');
38+
39+
$this->assertEquals('Test', $events[0]->action);
40+
}
41+
42+
}

tests/UserTest.php

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
/**
3+
*
4+
* API client test class
5+
*
6+
* @copyright Apereo
7+
* @category Test
8+
* @package OpenLRW
9+
* @author Xavier Chopin <bonjour@xavierchop.in>
10+
* @license http://www.osedu.org/licenses/ECL-2.0 ECL-2.0 License
11+
*/
12+
13+
declare(strict_types=1);
14+
15+
namespace Tests;
16+
17+
use OpenLRW\ApiClient;
18+
use OpenLRW\Entity\User;
19+
use OpenLRW\Exception\NotFoundException;
20+
use PHPUnit\Framework\TestCase;
21+
22+
class UserTest extends TestCase
23+
{
24+
25+
public function testUserShouldNotBeNull()
26+
{
27+
new ApiClient(ApiClientTest::URL, ApiClientTest::KEY, ApiClientTest::PASSWORD);
28+
ApiClient::generateJwt();
29+
$user = User::find('test2u');
30+
$this->assertNotNull($user);
31+
}
32+
33+
public function testUserShouldThrowException()
34+
{
35+
$this->expectException(NotFoundException::class);
36+
37+
new ApiClient(ApiClientTest::URL, ApiClientTest::KEY, ApiClientTest::PASSWORD);
38+
ApiClient::generateJwt();
39+
User::find('this_user_does_not_exist');
40+
}
41+
42+
}

0 commit comments

Comments
 (0)