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+ }
0 commit comments