From 577031cc1fd3113f509f17b74242d7047bf9f23d Mon Sep 17 00:00:00 2001 From: El RIDO Date: Sun, 25 Dec 2016 12:04:47 +0100 Subject: [PATCH] written unit test to reproduce #149 --- tst/Data/DatabaseTest.php | 9 +++++++-- tst/Data/FilesystemTest.php | 7 ++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/tst/Data/DatabaseTest.php b/tst/Data/DatabaseTest.php index 0195569..64e9c06 100644 --- a/tst/Data/DatabaseTest.php +++ b/tst/Data/DatabaseTest.php @@ -77,19 +77,24 @@ class DatabaseTest extends PHPUnit_Framework_TestCase $this->assertEquals(json_decode(json_encode($original)), $this->_model->read(Helper::getPasteId())); } + /** + * pastes a-g are expired and should get deleted, x never expires and y-z expire in an hour + */ public function testPurge() { $this->_model->delete(Helper::getPasteId()); $expired = Helper::getPaste(array('expire_date' => 1344803344)); $paste = Helper::getPaste(array('expire_date' => time() + 3600)); - $keys = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'x', 'y', 'z'); + $keys = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'x', 'y', 'z'); $ids = array(); foreach ($keys as $key) { $ids[$key] = substr(md5($key), 0, 16); $this->_model->delete($ids[$key]); $this->assertFalse($this->_model->exists($ids[$key]), "paste $key does not yet exist"); - if (in_array($key, array('x', 'y', 'z'))) { + if (in_array($key, array('y', 'z'))) { $this->assertTrue($this->_model->create($ids[$key], $paste), "store $key paste"); + } elseif ($key === 'x') { + $this->assertTrue($this->_model->create($ids[$key], Helper::getPaste()), "store $key paste"); } else { $this->assertTrue($this->_model->create($ids[$key], $expired), "store $key paste"); } diff --git a/tst/Data/FilesystemTest.php b/tst/Data/FilesystemTest.php index 33e37c8..9502921 100644 --- a/tst/Data/FilesystemTest.php +++ b/tst/Data/FilesystemTest.php @@ -66,18 +66,23 @@ class FilesystemTest extends PHPUnit_Framework_TestCase $this->assertEquals(json_decode(json_encode($original)), $this->_model->read(Helper::getPasteId())); } + /** + * pastes a-g are expired and should get deleted, x never expires and y-z expire in an hour + */ public function testPurge() { mkdir($this->_path . DIRECTORY_SEPARATOR . '00', 0777, true); $expired = Helper::getPaste(array('expire_date' => 1344803344)); $paste = Helper::getPaste(array('expire_date' => time() + 3600)); - $keys = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'x', 'y', 'z'); + $keys = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'x', 'y', 'z'); $ids = array(); foreach ($keys as $key) { $ids[$key] = substr(md5($key), 0, 16); $this->assertFalse($this->_model->exists($ids[$key]), "paste $key does not yet exist"); if (in_array($key, array('x', 'y', 'z'))) { $this->assertTrue($this->_model->create($ids[$key], $paste), "store $key paste"); + } elseif ($key === 'x') { + $this->assertTrue($this->_model->create($ids[$key], Helper::getPaste()), "store $key paste"); } else { $this->assertTrue($this->_model->create($ids[$key], $expired), "store $key paste"); }