Merge pull request #1286 from MITx/feature/christina/misc

Feature/christina/misc
This commit is contained in:
chrisndodge
2013-01-16 09:17:13 -08:00
3 changed files with 42 additions and 4 deletions

View File

@@ -0,0 +1,38 @@
from django.test.testcases import TestCase
from cache_toolbox.core import get_cached_content, set_cached_content, del_cached_content
from xmodule.modulestore import Location
from xmodule.contentstore.content import StaticContent
class Content:
def __init__(self, location, content):
self.location = location
self.content = content
def get_id(self):
return StaticContent.get_id_from_location(self.location)
class CachingTestCase(TestCase):
# Tests for https://edx.lighthouseapp.com/projects/102637/tickets/112-updating-asset-does-not-refresh-the-cached-copy
unicodeLocation = Location(u'c4x', u'mitX', u'800', u'thumbnail', u'monsters.jpg')
# Note that some of the parts are strings instead of unicode strings
nonUnicodeLocation = Location('c4x', u'mitX', u'800', 'thumbnail', 'monsters.jpg')
mockAsset = Content(unicodeLocation, 'my content')
def test_put_and_get(self):
set_cached_content(self.mockAsset)
self.assertEqual(self.mockAsset.content, get_cached_content(self.unicodeLocation).content,
'should be stored in cache with unicodeLocation')
self.assertEqual(self.mockAsset.content, get_cached_content(self.nonUnicodeLocation).content,
'should be stored in cache with nonUnicodeLocation')
def test_delete(self):
set_cached_content(self.mockAsset)
del_cached_content(self.nonUnicodeLocation)
self.assertEqual(None, get_cached_content(self.unicodeLocation),
'should not be stored in cache with unicodeLocation')
self.assertEqual(None, get_cached_content(self.nonUnicodeLocation),
'should not be stored in cache with nonUnicodeLocation')

View File

@@ -109,10 +109,10 @@ def instance_key(model, instance_or_pk):
)
def set_cached_content(content):
cache.set(content.get_id(), content)
cache.set(str(content.location), content)
def get_cached_content(location):
return cache.get(StaticContent.get_id_from_location(location))
return cache.get(str(location))
def del_cached_content(location):
cache.delete(StaticContent.get_id_from_location(location))
cache.delete(str(location))

View File

@@ -120,7 +120,7 @@ default_options = {
}
task :predjango do
sh("find . -type f -name *.pyc -delete")
sh("find . -type f -name '*.pyc' -delete")
sh('pip install -q --upgrade --no-deps -r local-requirements.txt')
end