Skip to content

Commit

Permalink
Merge pull request #313 from nanato12/feature/bot-info
Browse files Browse the repository at this point in the history
Add Bot Info
  • Loading branch information
moririnson authored Oct 14, 2020
2 parents d1646ea + e308a92 commit 78bcb2e
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 1 deletion.
12 changes: 11 additions & 1 deletion src/LINEBot.php
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,16 @@ public function __construct(HTTPClient $httpClient, array $args)
}
}

/**
* Get basic information about bot.
*
* @return Response
*/
public function getBotInfo()
{
return $this->httpClient->get($this->endpointBase . '/v2/bot/info');
}

/**
* Gets specified user's profile through API calling.
*
Expand Down Expand Up @@ -775,7 +785,7 @@ public function createChannelAccessToken($channelId)
['Content-Type: application/x-www-form-urlencoded']
);
}

/**
* Revoke channel access token
*
Expand Down
58 changes: 58 additions & 0 deletions tests/LINEBot/GetBotInfoTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?php

/**
* Copyright 2020 LINE Corporation
*
* LINE Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/

namespace LINE\Tests\LINEBot;

use LINE\LINEBot;
use LINE\Tests\LINEBot\Util\DummyHttpClient;
use PHPUnit\Framework\TestCase;

class GetBotInfoTest extends TestCase
{
public function testGetBotInfo()
{
$mock = function ($testRunner, $httpMethod, $url) {
/** @var \PHPUnit\Framework\TestCase $testRunner */
$testRunner->assertEquals('GET', $httpMethod);
$testRunner->assertEquals('https://api.line.me/v2/bot/info', $url);

return [
'userId' => 'Ub9952f8...',
'basicId' => '@216ru..',
'displayName' => 'Example name',
'pictureUrl' => 'https://obs.line-apps.com/...',
'chatMode' => 'chat',
'markAsReadMode' => 'manual',
];
};
$bot = new LINEBot(new DummyHttpClient($this, $mock), ['channelSecret' => 'CHANNEL-SECRET']);

$res = $bot->getBotInfo();

$this->assertEquals(200, $res->getHTTPStatus());
$this->assertTrue($res->isSucceeded());

$data = $res->getJSONDecodedBody();
$this->assertEquals('Ub9952f8...', $data['userId']);
$this->assertEquals('@216ru..', $data['basicId']);
$this->assertEquals('Example name', $data['displayName']);
$this->assertEquals('https://obs.line-apps.com/...', $data['pictureUrl']);
$this->assertEquals('chat', $data['chatMode']);
$this->assertEquals('manual', $data['markAsReadMode']);
}
}

0 comments on commit 78bcb2e

Please sign in to comment.