function NodeQueryAlter::testNodeQueryAlterLowLevelNoAccess

Tests 'node_access' query alter, for user without access.

Verifies that a non-standard table alias can be used, and that a user without node access cannot view the nodes.

File

modules/node/node.test, line 2349

Class

NodeQueryAlter
Tests node_query_node_access_alter().

Code

function testNodeQueryAlterLowLevelNoAccess() {
    // User without access should be able to view 0 nodes.
    try {
        $query = db_select('node', 'mytab')->fields('mytab');
        $query->addTag('node_access');
        $query->addMetaData('op', 'view');
        $query->addMetaData('account', $this->noAccessUser);
        $result = $query->execute()
            ->fetchAll();
        $this->assertEqual(count($result), 0, 'User with no access cannot see nodes');
    } catch (Exception $e) {
        $this->fail(t('Altered query is malformed'));
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.