]> git.agnieray.net Git - galette.git/commitdiff
Add test on news caching
authorJohan Cwiklinski <johan@x-tnd.be>
Wed, 8 Mar 2017 04:14:31 +0000 (05:14 +0100)
committerJohan Cwiklinski <johan@x-tnd.be>
Wed, 8 Mar 2017 04:14:31 +0000 (05:14 +0100)
tests/Galette/IO/tests/units/News.php
tests/TestsBootstrap.php

index 3bcef495305563458ee808a2a66c1cc567fa0c81..cd2f21e7f7fc379896b1d14c32efdf60b6c8cfa9 100644 (file)
@@ -69,6 +69,59 @@ class News extends atoum
             ->size->isGreaterThan(0);
     }
 
+    /**
+     * Test news caching
+     *
+     * @return void
+     */
+    public function testCacheNews()
+    {
+        $file = GALETTE_CACHE_DIR . md5('http://galette.eu/dc/index.php/feed/atom') . '.cache';
+
+        //ensure file does not exists
+        $this->boolean(file_exists($file))->isFalse;
+
+        //load news with caching
+        $news = new \Galette\IO\News('http://galette.eu/dc/index.php/feed/atom');
+
+        $posts = $news->getPosts();
+        $this->array($posts)
+            ->size->isGreaterThan(0);
+
+        //ensure file does exists
+        $this->boolean(file_exists($file))->isTrue;
+
+        $dformat = 'Y-m-d H:i:s';
+        $mdate = \DateTime::createFromFormat(
+            $dformat,
+            date(
+                $dformat,
+                filemtime($file)
+            )
+        );
+
+        $expired = $mdate->sub(
+            new \DateInterval('PT25H')
+        );
+        $touched = touch($file, $expired->getTimestamp());
+        $this->boolean($touched)->isTrue;
+
+        $news = new \Galette\IO\News('http://galette.eu/dc/index.php/feed/atom');
+        $mnewdate = \DateTime::createFromFormat(
+            $dformat,
+            date(
+                $dformat,
+                filemtime($file)
+            )
+        );
+        $isnewdate = $mnewdate > $mdate;
+        $this->boolean($isnewdate)->isTrue;
+
+        //drop file finally
+        unlink($file);
+    }
+
+
     /**
      * Test news loading with allow_url_fopen off
      *
index a1d8cec69abaf6d9f5852ed197800d2f5c3a4b26..a8976d15b34bdd0f4046bc5e023c68e817dc29f5 100755 (executable)
@@ -37,6 +37,7 @@ define('GALETTE_PLUGINS_PATH', __DIR__ . '/plugins/');
 define('GALETTE_TPL_SUBDIR', 'templates/default/');
 define('GALETTE_THEME', 'themes/default/');
 define('GALETTE_TEMPIMAGES_PATH', __DIR__ . '/tests-data');
+define('GALETTE_CACHE_DIR', __DIR__ . '/tests-data/');
 if (is_dir(GALETTE_TEMPIMAGES_PATH)) {
     $files = new RecursiveIteratorIterator(
         new RecursiveDirectoryIterator(