summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/gallery/libraries/drivers/Cache/Database.php7
-rw-r--r--modules/gallery/tests/Cache_Test.php79
2 files changed, 37 insertions, 49 deletions
diff --git a/modules/gallery/libraries/drivers/Cache/Database.php b/modules/gallery/libraries/drivers/Cache/Database.php
index 5c453f28..82a09ab9 100644
--- a/modules/gallery/libraries/drivers/Cache/Database.php
+++ b/modules/gallery/libraries/drivers/Cache/Database.php
@@ -90,7 +90,7 @@ class Cache_Database_Driver extends Cache_Driver {
->select()
->from("caches");
foreach ($tags as $tag) {
- $db->where("tags", "LIKE", "<$tag>");
+ $db->where("tags", "LIKE", "%<$tag>%");
}
$db_result = $db->execute();
@@ -153,14 +153,13 @@ class Cache_Database_Driver extends Cache_Driver {
* @param bool delete a tag
* @return bool
*/
- public function delete($id, $tag = false) {
+ public function delete($id, $tag=false) {
$db = db::build()
->delete("caches");
if ($id === true) {
// Delete all caches
- $db->where("1", "=", "1");
} else if ($tag === true) {
- $db->where("tags", "LIKE", "<$id>");
+ $db->where("tags", "LIKE", "%<$id>%");
} else {
$db->where("key", "=", $id);
}
diff --git a/modules/gallery/tests/Cache_Test.php b/modules/gallery/tests/Cache_Test.php
index 776c6625..d5bf37cc 100644
--- a/modules/gallery/tests/Cache_Test.php
+++ b/modules/gallery/tests/Cache_Test.php
@@ -20,88 +20,83 @@
class Cache_Test extends Unit_Test_Case {
private $_driver;
public function setup() {
- Database::instance()->from("caches")->where("1", "=", "1")->delete();
+ db::build()->delete("caches")->execute();
$this->_driver = new Cache_Database_Driver();
}
public function cache_exists_test() {
- $db = Database::instance();
-
$this->assert_false($this->_driver->exists("test_key"), "test_key should not be defined");
$id = md5(rand());
- $db->insert("caches", array("key" => $id, "tags" => "<tag1>, <tag2>",
- "expiration" => 84600 + time(),
- "cache" => serialize("some test data")));
+ db::build()
+ ->insert("caches")
+ ->columns("key", "tags", "expiration", "cache")
+ ->values($id, "<tag1>, <tag2>", 84600 + time(), serialize("some test data"))
+ ->execute();
$this->assert_true($this->_driver->exists($id), "test_key should be defined");
}
public function cache_get_test() {
- $db = Database::instance();
-
$id = md5(rand());
- $db->insert("caches", array("key" => $id, "tags" => "<tag1>, <tag2>",
- "expiration" => 84600 + time(),
- "cache" => serialize("some test data")));
- $data = $this->_driver->get($id);
+ db::build()
+ ->insert("caches")
+ ->columns("key", "tags", "expiration", "cache")
+ ->values($id, "<tag1>, <tag2>", 84600 + time(), serialize("some test data"))
+ ->execute();
+
+ $data = $this->_driver->get(array($id));
$this->assert_equal("some test data", $data, "cached data should match");
- $data = $this->_driver->get("");
+ $data = $this->_driver->get(array(""));
$this->assert_equal(null, $data, "cached data should not be found");
}
public function cache_set_test() {
- $db = Database::instance();
-
$id = md5(rand());
$original_data = array("field1" => "value1", "field2" => "value2");
- $this->_driver->set($id, $original_data, array("tag1", "tag2"), 84600);
+ $this->_driver->set(array($id => $original_data), array("tag1", "tag2"), 84600);
- $data = $this->_driver->get($id);
+ $data = $this->_driver->get(array($id));
$this->assert_equal($original_data, $data, "cached data should match");
}
- public function cache_find_test() {
- $db = Database::instance();
-
+ public function cache_get_tag_test() {
$id1 = md5(rand());
$value1 = array("field1" => "value1", "field2" => "value2");
- $this->_driver->set($id1, $value1, array("tag1", "tag2"), 84600);
+ $this->_driver->set(array($id1 => $value1), array("tag1", "tag2"), 84600);
$id2 = md5(rand());
$value2 = array("field3" => "value3", "field4" => "value4");
- $this->_driver->set($id2, $value2, array("tag2", "tag3"), 84600);
+ $this->_driver->set(array($id2 => $value2), array("tag2", "tag3"), 84600);
$id3 = md5(rand());
$value3 = array("field5" => "value5", "field6" => "value6");
- $this->_driver->set($id3, $value3, array("tag3", "tag4"), 84600);
+ $this->_driver->set(array($id3 => $value3), array("tag3", "tag4"), 84600);
- $data = $this->_driver->find("tag2");
+ $data = $this->_driver->get_tag(array("tag2"));
$expected = array($id1 => $value1, $id2 => $value2);
ksort($expected);
$this->assert_equal($expected, $data, "Expected id1 & id2");
- $data = $this->_driver->find("tag4");
+ $data = $this->_driver->get_tag(array("tag4"));
$this->assert_equal(array($id3 => $value3), $data, "Expected id3");
}
public function cache_delete_expired_test() {
- $db = Database::instance();
-
$id1 = md5(rand());
$value1 = array("field1" => "value1", "field2" => "value2");
- $this->_driver->set($id1, $value1, array("tag1", "tag2"), -84600);
+ $this->_driver->set(array($id1 => $value1), array("tag1", "tag2"), -84600);
$id2 = md5(rand());
$value2 = array("field3" => "value3", "field4" => "value4");
- $this->_driver->set($id2, $value2, array("tag2", "tag3"), -846000);
+ $this->_driver->set(array($id2 => $value2), array("tag2", "tag3"), -846000);
$id3 = md5(rand());
$value3 = array("field5" => "value5", "field6" => "value6");
- $this->_driver->set($id3, $value3, array("tag3", "tag4"), -84600);
+ $this->_driver->set(array($id3 => $value3), array("tag3", "tag4"), -84600);
$data = $this->_driver->delete_expired();
@@ -111,19 +106,17 @@ class Cache_Test extends Unit_Test_Case {
}
public function cache_delete_id_test() {
- $db = Database::instance();
-
$id1 = md5(rand());
$value1 = array("field1" => "value1", "field2" => "value2");
- $this->_driver->set($id1, $value1, array("tag1", "tag2"), 84600);
+ $this->_driver->set(array($id1 => $value1), array("tag1", "tag2"), 84600);
$id2 = md5(rand());
$value2 = array("field3" => "value3", "field4" => "value4");
- $this->_driver->set($id2, $value2, array("tag2", "tag3"), 846000);
+ $this->_driver->set(array($id2 => $value2), array("tag2", "tag3"), 846000);
$id3 = md5(rand());
$value3 = array("field5" => "value5", "field6" => "value6");
- $this->_driver->set($id3, $value3, array("tag3", "tag4"), 84600);
+ $this->_driver->set(array($id3 => $value3), array("tag3", "tag4"), 84600);
$this->_driver->delete($id1);
@@ -133,19 +126,17 @@ class Cache_Test extends Unit_Test_Case {
}
public function cache_delete_tag_test() {
- $db = Database::instance();
-
$id1 = md5(rand());
$value1 = array("field1" => "value1", "field2" => "value2");
- $this->_driver->set($id1, $value1, array("tag1", "tag2"), 84600);
+ $this->_driver->set(array($id1 => $value1), array("tag1", "tag2"), 84600);
$id2 = md5(rand());
$value2 = array("field3" => "value3", "field4" => "value4");
- $this->_driver->set($id2, $value2, array("tag2", "tag3"), 846000);
+ $this->_driver->set(array($id2 => $value2), array("tag2", "tag3"), 846000);
$id3 = md5(rand());
$value3 = array("field5" => "value5", "field6" => "value6");
- $this->_driver->set($id3, $value3, array("tag3", "tag4"), 84600);
+ $this->_driver->set(array($id3 => $value3), array("tag3", "tag4"), 84600);
$data = $this->_driver->delete("tag3", true);
@@ -155,19 +146,17 @@ class Cache_Test extends Unit_Test_Case {
}
public function cache_delete_all_test() {
- $db = Database::instance();
-
$id1 = md5(rand());
$value1 = array("field1" => "value1", "field2" => "value2");
- $this->_driver->set($id1, $value1, array("tag1", "tag2"), 84600);
+ $this->_driver->set(array($id1 => $value1), array("tag1", "tag2"), 84600);
$id2 = md5(rand());
$value2 = array("field3" => "value3", "field4" => "value4");
- $this->_driver->set($id2, $value2, array("tag2", "tag3"), 846000);
+ $this->_driver->set(array($id2 => $value2), array("tag2", "tag3"), 846000);
$id3 = md5(rand());
$value3 = array("field5" => "value5", "field6" => "value6");
- $this->_driver->set($id3, $value3, array("tag3", "tag4"), 84600);
+ $this->_driver->set(array($id3 => $value3), array("tag3", "tag4"), 84600);
$data = $this->_driver->delete(true);