From 841e9d57849b70223d1f4e443311cf191b783fb8 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Mon, 19 Apr 2010 16:36:22 -0700 Subject: [PATCH] fix purgeCache in Asset.pm. Add a test for it to Asset.t --- lib/WebGUI/Asset.pm | 2 +- t/Asset.t | 25 ++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index 0f11632c7..262e93a9f 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -2369,7 +2369,7 @@ sub purgeCache { $stow->delete('assetLineage'); $stow->delete('assetClass'); $stow->delete('assetRevision'); - eval{$self->session->cache->delete("asset".$self->getId.$self->get("revisionDate"))}; + $self->session->cache->remove("asset".$self->getId.$self->get("revisionDate")); } diff --git a/t/Asset.t b/t/Asset.t index 6d4b5d004..2193794f7 100644 --- a/t/Asset.t +++ b/t/Asset.t @@ -21,7 +21,7 @@ use Test::Deep; use Test::Exception; use WebGUI::Exception; -plan tests => 62; +plan tests => 65; my $session = WebGUI::Test->session; @@ -159,6 +159,29 @@ my $session = WebGUI::Test->session; is $asset->title, 'Root', 'got the right asset'; } +{ + note "new (caching), purgeCache"; + my $testId = 'wg8TestAsset0000000001'; + my $revisionDate = time(); + $session->db->write("insert into asset (assetId) VALUES (?)", [$testId]); + $session->db->write("insert into assetData (assetId, revisionDate) VALUES (?,?)", [$testId, $revisionDate]); + + my $datum; + $datum = $session->cache->get("asset".$testId.$revisionDate); + is $datum, undef, 'no cache exists for the test assetId, yet'; + + my $testAsset = WebGUI::Asset->new($session, $testId, $revisionDate); + $datum = $session->cache->get("asset".$testId.$revisionDate); + isnt $datum, undef, 'cache was created on new (from db)'; + + $testAsset->purgeCache(); + $datum = $session->cache->get("asset".$testId.$revisionDate); + is $datum, undef, 'purgeCache removes the cache entry'; + + $session->db->write("delete from asset where assetId=?", [$testId]); + $session->db->write("delete from assetData where assetId=?", [$testId]); +} + { note "write, update";