DbLogResourceTest.php in Zircon Profile 8
File
core/modules/dblog/src/Tests/Rest/DbLogResourceTest.php
View source
<?php
namespace Drupal\dblog\Tests\Rest;
use Drupal\Component\Serialization\Json;
use Drupal\Core\Url;
use Drupal\rest\Tests\RESTTestBase;
class DbLogResourceTest extends RESTTestBase {
public static $modules = array(
'hal',
'dblog',
);
protected function setUp() {
parent::setUp();
$this
->enableService('dblog');
}
public function testWatchdog() {
$this->container
->get('logger.channel.rest')
->notice('Test message');
$id = db_query_range("SELECT wid FROM {watchdog} WHERE type = :type ORDER BY wid DESC", 0, 1, array(
':type' => 'rest',
))
->fetchField();
$account = $this
->drupalCreateUser(array(
'restful get dblog',
));
$this
->drupalLogin($account);
$response = $this
->httpRequest(Url::fromRoute('rest.dblog.GET.' . $this->defaultFormat, [
'id' => $id,
'_format' => $this->defaultFormat,
]), 'GET');
$this
->assertResponse(200);
$this
->assertHeader('content-type', $this->defaultMimeType);
$log = Json::decode($response);
$this
->assertEqual($log['wid'], $id, 'Log ID is correct.');
$this
->assertEqual($log['type'], 'rest', 'Type of log message is correct.');
$this
->assertEqual($log['message'], 'Test message', 'Log message text is correct.');
$response = $this
->httpRequest(Url::fromRoute('rest.dblog.GET.' . $this->defaultFormat, [
'id' => 9999,
'_format' => $this->defaultFormat,
]), 'GET');
$this
->assertResponse(404);
$decoded = Json::decode($response);
$this
->assertEqual($decoded['error'], 'Log entry with ID 9999 was not found', 'Response message is correct.');
}
}