Index: tests/feedapi_expire.test =================================================================== RCS file: tests/feedapi_expire.test diff -N tests/feedapi_expire.test --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ tests/feedapi_expire.test 21 Aug 2009 08:28:15 -0000 @@ -0,0 +1,56 @@ + t('FeedAPI Expiring'), + 'description' => t('Creates one feed, refresh it. Manipulates directly the timestamp of the items and see if FeedAPI deletes the outdated items or not.'), + 'group' => t('FeedAPI'), + ); + } + + /** + * Checks cron feed scheduling functionality + */ + function testFeedAPIExpire() { + $this->create_type(array_pop($this->get_parsers())); + $this->feedapi_user(); + + $num = db_result(db_query("SELECT COUNT(*) FROM {feedapi_node_item}")); + $this->assertTrue($num == 0, 'At the beginning there are no items'); + + $feed_url = "http://novaak.net/test_feed.rss?". $this->randomName(); + $edit = array( + 'feedapi[feedapi_url]' => $feed_url, + 'feedapi[refresh_time]' => FEEDAPI_NEVER_DELETE_OLD, + ); + $this->drupalPost('node/add/'. $this->info->type, $edit, 'Save'); + + $node = db_fetch_object(db_query("SELECT nid FROM {feedapi} WHERE url = '%s'", $feed_url)); + $this->drupalGet("node/{$node->nid}/refresh"); + $num = db_result(db_query("SELECT COUNT(*) FROM {feedapi_node_item}")); + $this->assertTrue($num > 0, 'The feed has at least one item'); + db_query("UPDATE {feedapi_node_item} SET timestamp = %d", time() - 51840000); + + $edit = array( + 'feedapi[feedapi_url]' => 'http://novaak.net/empty.rss', + 'feedapi[items_delete]' => 31536000, + ); + $this->drupalPost("node/{$node->nid}/edit", $edit, 'Save'); + // Make sure that the feed will be refreshed + $this->drupalGet("node/{$node->nid}/refresh"); + $num = db_result(db_query("SELECT COUNT(*) FROM {feedapi_node_item}")); + $this->assertTrue($num == 0, 'The feed hasn\'t got any items'); + } + +}