/[drupal]/contributions/modules/feedapi/tests/feedapi_expire.test
ViewVC logotype

Diff of /contributions/modules/feedapi/tests/feedapi_expire.test

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1, Sat Oct 31 15:47:09 2009 UTC revision 1.1.2.1, Sat Oct 31 15:47:09 2009 UTC
# Line 0  Line 1 
1    <?php
2    // $Id$
3    
4    require_once(dirname(__FILE__) .'/feedapi_test_case.tinc');
5    
6    /**
7     * Class for testing FeedAPI cron scheduling.
8     */
9    class FeedAPIExpireTestsCase extends FeedAPITestCase {
10    
11      /**
12       * Implementation of getInfo().
13       */
14      public static function getInfo() {
15        return array(
16          'name' => t('FeedAPI Expiring'),
17          'description' => t('Creates one feed, refresh it. Manipulates directly the timestamp of the items and see if FeedAPI deletes the outdated items or not.'),
18          'group' => t('FeedAPI'),
19        );
20      }
21    
22      /**
23       * Checks cron feed scheduling functionality
24       */
25      function testFeedAPIAllExpire() {
26        $this->create_type(array_pop($this->get_parsers()));
27        $this->feedapi_user();
28    
29        $num = db_result(db_query("SELECT COUNT(*) FROM {feedapi_node_item}"));
30        $this->assertTrue($num == 0, 'At the beginning there are no items');
31    
32        $feed_url = $this->testFileURL('test_feed.rss');
33        $edit = array(
34          'feedapi[feedapi_url]' => $feed_url,
35          'feedapi[refresh_time]' => FEEDAPI_NEVER_DELETE_OLD,
36        );
37        $this->drupalPost('node/add/'. $this->info->type, $edit, 'Save');
38    
39        $node = db_fetch_object(db_query("SELECT nid FROM {feedapi} WHERE url = '%s'", $feed_url));
40        $this->drupalGet("node/{$node->nid}/refresh");
41        $num = db_result(db_query("SELECT COUNT(*) FROM {feedapi_node_item}"));
42        $this->assertTrue($num > 0, 'The feed has at least one item');
43        db_query("UPDATE {feedapi_node_item} SET timestamp = %d", time() - 51840000);
44    
45        $edit = array(
46          'feedapi[feedapi_url]' => 'http://novaak.net/empty.rss',
47          'feedapi[items_delete]' => 31536000,
48        );
49        $this->drupalPost("node/{$node->nid}/edit", $edit, 'Save');
50        // Make sure that the feed will be refreshed
51        $this->drupalGet("node/{$node->nid}/refresh");
52        $num = db_result(db_query("SELECT COUNT(*) FROM {feedapi_node_item}"));
53        $this->assertTrue($num == 0, 'The feed hasn\'t got any items');
54      }
55    
56      /**
57       * Checks cron feed scheduling functionality
58       */
59      function testFeedAPISomeExpire() {
60        $this->create_type(array_pop($this->get_parsers()));
61        $this->feedapi_user();
62    
63        $num = db_result(db_query("SELECT COUNT(*) FROM {feedapi_node_item}"));
64        $this->assertTrue($num == 0, 'At the beginning there are no items');
65    
66        $feed_url = $this->testFileURL('test_feed.rss');
67        $edit = array(
68          'feedapi[feedapi_url]' => $feed_url,
69          'feedapi[refresh_time]' => FEEDAPI_NEVER_DELETE_OLD,
70        );
71        $this->drupalPost('node/add/'. $this->info->type, $edit, 'Save');
72    
73        $node = db_fetch_object(db_query("SELECT nid FROM {feedapi} WHERE url = '%s'", $feed_url));
74        $this->drupalGet("node/{$node->nid}/refresh");
75        $num = db_result(db_query("SELECT COUNT(*) FROM {feedapi_node_item}"));
76        $this->assertTrue($num > 0, 'The feed has at least one item');
77        db_query("UPDATE {feedapi_node_item} SET timestamp = %d WHERE nid IN (SELECT nid FROM {node} WHERE title LIKE '%magyar%')", time() - 51840000);
78    
79        $edit = array(
80          'feedapi[feedapi_url]' => 'http://novaak.net/empty.rss',
81          'feedapi[items_delete]' => 31536000,
82        );
83        $this->drupalPost("node/{$node->nid}/edit", $edit, 'Save');
84        // Make sure that the feed will be refreshed
85        $this->drupalGet("node/{$node->nid}/refresh");
86        $num_new = db_result(db_query("SELECT COUNT(*) FROM {feedapi_node_item}"));
87        $this->assertTrue($num - $num_new == 1, 'One item has expired');
88      }
89    
90    }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.1.2.1

  ViewVC Help
Powered by ViewVC 1.1.2