diff options
author | Nathan Yergler <nathan@yergler.net> | 2011-10-01 12:08:58 -0700 |
---|---|---|
committer | Nathan Yergler <nathan@yergler.net> | 2011-10-01 12:08:58 -0700 |
commit | 6bfbe0242653678c09258b7a642514d706153eac (patch) | |
tree | d3e0c7f94f566886a6b80ce98d8a003465f4368f /mediagoblin/tests/test_cache.py | |
parent | 0a8a3fc1571100aba3bd3a3dec98f5e9e252780b (diff) | |
parent | 573aba86b58c2ab064d0d57ed0bbae6bdf9a2819 (diff) | |
download | mediagoblin-6bfbe0242653678c09258b7a642514d706153eac.tar.lz mediagoblin-6bfbe0242653678c09258b7a642514d706153eac.tar.xz mediagoblin-6bfbe0242653678c09258b7a642514d706153eac.zip |
Merge remote-tracking branch 'refs/remotes/upstream/master' into 569-application-middleware
Conflicts:
mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html
Diffstat (limited to 'mediagoblin/tests/test_cache.py')
-rw-r--r-- | mediagoblin/tests/test_cache.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/mediagoblin/tests/test_cache.py b/mediagoblin/tests/test_cache.py new file mode 100644 index 00000000..cbffeb84 --- /dev/null +++ b/mediagoblin/tests/test_cache.py @@ -0,0 +1,52 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011 Free Software Foundation, Inc +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +from mediagoblin.tests.tools import setup_fresh_app +from mediagoblin import mg_globals + + +DATA_TO_CACHE = { + 'herp': 'derp', + 'lol': 'cats'} + + +def _get_some_data(key): + """ + Stuid function that makes use of some caching. + """ + some_data_cache = mg_globals.cache.get_cache('sum_data') + if some_data_cache.has_key(key): + return some_data_cache.get(key) + + value = DATA_TO_CACHE.get(key) + some_data_cache.put(key, value) + return value + + +@setup_fresh_app +def test_cache_working(test_app): + some_data_cache = mg_globals.cache.get_cache('sum_data') + assert not some_data_cache.has_key('herp') + assert _get_some_data('herp') == 'derp' + assert some_data_cache.get('herp') == 'derp' + # should get the same value again + assert _get_some_data('herp') == 'derp' + + # now we force-change it, but the function should use the cached + # version + some_data_cache.put('herp', 'pred') + assert _get_some_data('herp') == 'pred' |