class AggregatorCronTestCase

Tests functionality of the cron process in the Aggregator module.

Hierarchy

Expanded class hierarchy of AggregatorCronTestCase

File

modules/aggregator/aggregator.test, line 862

View source
class AggregatorCronTestCase extends AggregatorTestCase {
  public static function getInfo() {
    return array(
      'name' => 'Update on cron functionality',
      'description' => 'Update feeds on cron.',
      'group' => 'Aggregator',
    );
  }
  
  /**
   * Adds feeds and updates them via cron process.
   */
  public function testCron() {
    // Create feed and test basic updating on cron.
    $this->createSampleNodes();
    $feed = $this->createFeed();
    $this->cronRun();
    $this->assertEqual(5, db_query('SELECT COUNT(*) FROM {aggregator_item} WHERE fid = :fid', array(
      ':fid' => $feed->fid,
    ))
      ->fetchField(), 'Expected number of items in database.');
    $this->removeFeedItems($feed);
    $this->assertEqual(0, db_query('SELECT COUNT(*) FROM {aggregator_item} WHERE fid = :fid', array(
      ':fid' => $feed->fid,
    ))
      ->fetchField(), 'Expected number of items in database.');
    $this->cronRun();
    $this->assertEqual(5, db_query('SELECT COUNT(*) FROM {aggregator_item} WHERE fid = :fid', array(
      ':fid' => $feed->fid,
    ))
      ->fetchField(), 'Expected number of items in database.');
    // Test feed locking when queued for update.
    $this->removeFeedItems($feed);
    db_update('aggregator_feed')->condition('fid', $feed->fid)
      ->fields(array(
      'queued' => REQUEST_TIME,
    ))
      ->execute();
    $this->cronRun();
    $this->assertEqual(0, db_query('SELECT COUNT(*) FROM {aggregator_item} WHERE fid = :fid', array(
      ':fid' => $feed->fid,
    ))
      ->fetchField(), 'Expected number of items in database.');
    db_update('aggregator_feed')->condition('fid', $feed->fid)
      ->fields(array(
      'queued' => 0,
    ))
      ->execute();
    $this->cronRun();
    $this->assertEqual(5, db_query('SELECT COUNT(*) FROM {aggregator_item} WHERE fid = :fid', array(
      ':fid' => $feed->fid,
    ))
      ->fetchField(), 'Expected number of items in database.');
  }

}

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