8.2.x AggregatorCronTest.php public AggregatorCronTest::testCron()
8.0.x AggregatorCronTest.php public AggregatorCronTest::testCron()
8.1.x AggregatorCronTest.php public AggregatorCronTest::testCron()
8.3.x AggregatorCronTest.php public AggregatorCronTest::testCron()

Adds feeds and updates them via cron process.

File

core/modules/aggregator/src/Tests/AggregatorCronTest.php, line 14

Class

AggregatorCronTest
Update feeds on cron.

Namespace

Drupal\aggregator\Tests

Code

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->id()))->fetchField());
  $this->deleteFeedItems($feed);
  $this->assertEqual(0, db_query('SELECT COUNT(*) FROM {aggregator_item} WHERE fid = :fid', array(':fid' => $feed->id()))->fetchField());
  $this->cronRun();
  $this->assertEqual(5, db_query('SELECT COUNT(*) FROM {aggregator_item} WHERE fid = :fid', array(':fid' => $feed->id()))->fetchField());

  // Test feed locking when queued for update.
  $this->deleteFeedItems($feed);
  db_update('aggregator_feed')
    ->condition('fid', $feed->id())
    ->fields(array(
      'queued' => REQUEST_TIME,
    ))
    ->execute();
  $this->cronRun();
  $this->assertEqual(0, db_query('SELECT COUNT(*) FROM {aggregator_item} WHERE fid = :fid', array(':fid' => $feed->id()))->fetchField());
  db_update('aggregator_feed')
    ->condition('fid', $feed->id())
    ->fields(array(
      'queued' => 0,
    ))
    ->execute();
  $this->cronRun();
  $this->assertEqual(5, db_query('SELECT COUNT(*) FROM {aggregator_item} WHERE fid = :fid', array(':fid' => $feed->id()))->fetchField());
}