Commit ebca3af7 by chrisndodge

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

Feature/christina/misc
parents e884f17d 65d45d6d
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')
......@@ -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))
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment