| <?php |
|
|
| require_once __DIR__.'/../../Base.php'; |
|
|
| use Kanboard\Core\Http\OAuth2; |
|
|
| class OAuth2Test extends Base |
| { |
| public function testAuthUrl() |
| { |
| $oauth = new OAuth2($this->container); |
| $oauth->createService('A', 'B', 'C', 'D', 'E', array('f', 'g')); |
| $state = $oauth->getState(); |
| $this->assertEquals('D?response_type=code&client_id=A&redirect_uri=C&scope=f+g&state='.$state, $oauth->getAuthorizationUrl()); |
| } |
|
|
| public function testAuthHeader() |
| { |
| $oauth = new OAuth2($this->container); |
| $oauth->createService('A', 'B', 'C', 'D', 'E', array('f', 'g')); |
|
|
| $oauth->setAccessToken('foobar', 'BeaRer'); |
| $this->assertEquals('Authorization: Bearer foobar', $oauth->getAuthorizationHeader()); |
|
|
| $oauth->setAccessToken('foobar', 'unknown'); |
| $this->assertEquals('', $oauth->getAuthorizationHeader()); |
| } |
|
|
| public function testAccessToken() |
| { |
| $oauth = new OAuth2($this->container); |
|
|
| $params = array( |
| 'code' => 'something', |
| 'client_id' => 'A', |
| 'client_secret' => 'B', |
| 'redirect_uri' => 'C', |
| 'grant_type' => 'authorization_code', |
| 'state' => $oauth->getState(), |
| ); |
|
|
| $response = json_encode(array( |
| 'token_type' => 'bearer', |
| 'access_token' => 'plop', |
| )); |
|
|
| $this->container['httpClient'] |
| ->expects($this->once()) |
| ->method('postForm') |
| ->with('E', $params, array('Accept: application/json')) |
| ->will($this->returnValue($response)); |
|
|
| $oauth->createService('A', 'B', 'C', 'D', 'E', array('f', 'g')); |
| $oauth->getAccessToken('something'); |
| } |
| } |
|
|