| | <?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'); |
| | } |
| | } |
| |
|