diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-04-10 15:50:32 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-04-10 15:50:32 -0500 |
commit | 17e7093e4b63a9df1ff717de839c6281dbf55e98 (patch) | |
tree | cb08da0ef7eec9d50c474b7e9f183cca572c771c | |
parent | e579cf544da9f4e44078377ecdff782c8c2cbf29 (diff) | |
download | mediagoblin-17e7093e4b63a9df1ff717de839c6281dbf55e98.tar.lz mediagoblin-17e7093e4b63a9df1ff717de839c6281dbf55e98.tar.xz mediagoblin-17e7093e4b63a9df1ff717de839c6281dbf55e98.zip |
Started BasicFileStorage tests. test_basic_storage__resolve_filepath() done.
Also switched to using assert_raises, which is only sane!
-rw-r--r-- | mediagoblin/tests/test_storage.py | 60 |
1 files changed, 52 insertions, 8 deletions
diff --git a/mediagoblin/tests/test_storage.py b/mediagoblin/tests/test_storage.py index cdcddf09..a30ca149 100644 --- a/mediagoblin/tests/test_storage.py +++ b/mediagoblin/tests/test_storage.py @@ -15,6 +15,11 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. +import os +import tempfile + +from nose.tools import assert_raises + from mediagoblin import storage @@ -31,11 +36,50 @@ def test_clean_listy_filepath(): assert storage.clean_listy_filepath( ['../../../etc/', 'passwd']) == expected - try: - storage.clean_listy_filepath( - ['../../', 'linooks.jpg']) - except storage.InvalidFilepath: - # Yes, this error should be raise - pass - else: - assert "success" == "failboat" + assert_raises( + storage.InvalidFilepath, + storage.clean_listy_filepath, + ['../../', 'linooks.jpg']) + + +########################## +# Basic file storage tests +########################## + +def get_tmp_filestorage(mount_url=None): + tmpdir = tempfile.mkdtemp() + this_storage = storage.BasicFileStorage(tmpdir, mount_url) + return tmpdir, this_storage + + +def test_basic_storage__resolve_filepath(): + tmpdir, this_storage = get_tmp_filestorage() + + result = this_storage._resolve_filepath(['dir1', 'dir2', 'filename.jpg']) + assert result == os.path.join( + tmpdir, 'dir1/dir2/filename.jpg') + + result = this_storage._resolve_filepath(['../../etc/', 'passwd']) + assert result == os.path.join( + tmpdir, 'etc/passwd') + + assert_raises( + storage.InvalidFilepath, + this_storage._resolve_filepath, + ['../../', 'etc', 'passwd']) + + +def test_basic_storage_file_exists(): + pass + + +def test_basic_storage_get_file(): + pass + + +def test_basic_storage_delete_file(): + pass + + +def test_basic_storage_url_for_file(): + pass |