summaryrefslogtreecommitdiff
path: root/fs/tests
diff options
context:
space:
mode:
authorwillmcgugan <willmcgugan@67cdc799-7952-0410-af00-57a81ceafa0f>2012-01-05 18:15:05 +0000
committerwillmcgugan <willmcgugan@67cdc799-7952-0410-af00-57a81ceafa0f>2012-01-05 18:15:05 +0000
commit8952ab85cf5a207120ec44831ceb4ea03ecf7996 (patch)
treed951e56a72a1a02717e3efc59ddcdd0e9c524cdf /fs/tests
parent7b9bbbb41d8cf34060994bdb1e2aa938c6628e74 (diff)
downloadpyfilesystem-git-8952ab85cf5a207120ec44831ceb4ea03ecf7996.tar.gz
Added tests for multifs priority
Diffstat (limited to 'fs/tests')
-rw-r--r--fs/tests/__init__.py4
-rw-r--r--fs/tests/test_multifs.py51
-rw-r--r--fs/tests/test_s3fs.py6
3 files changed, 55 insertions, 6 deletions
diff --git a/fs/tests/__init__.py b/fs/tests/__init__.py
index 1cfbe44..91e6a03 100644
--- a/fs/tests/__init__.py
+++ b/fs/tests/__init__.py
@@ -844,9 +844,7 @@ class FSTestCases(object):
# May be disabled - see end of file
class ThreadingTestCases(object):
"""Testcases for thread-safety of FS implementations."""
-
-
-
+
# These are either too slow to be worth repeating,
# or cannot possibly break cross-thread.
_dont_retest = ("test_pickling","test_multiple_overwrite",)
diff --git a/fs/tests/test_multifs.py b/fs/tests/test_multifs.py
index ad77bf8..cbe6671 100644
--- a/fs/tests/test_multifs.py
+++ b/fs/tests/test_multifs.py
@@ -29,4 +29,55 @@ class TestMultiFS(unittest.TestCase):
multi_fs.close()
self.assert_(not m1.closed)
self.assert_(not m2.closed)
+
+
+ def test_priority(self):
+ """Test priority order is working"""
+ m1 = MemoryFS()
+ m2 = MemoryFS()
+ m3 = MemoryFS()
+ m1.setcontents("name", "m1")
+ m2.setcontents("name", "m2")
+ m3.setcontents("name", "m3")
+ multi_fs = MultiFS(auto_close=False)
+ multi_fs.addfs("m1", m1)
+ multi_fs.addfs("m2", m2)
+ multi_fs.addfs("m3", m3)
+ self.assert_(multi_fs.getcontents("name") == "m3")
+
+ m1 = MemoryFS()
+ m2 = MemoryFS()
+ m3 = MemoryFS()
+ m1.setcontents("name", "m1")
+ m2.setcontents("name", "m2")
+ m3.setcontents("name", "m3")
+ multi_fs = MultiFS(auto_close=False)
+ multi_fs.addfs("m1", m1)
+ multi_fs.addfs("m2", m2, priority=10)
+ multi_fs.addfs("m3", m3)
+ self.assert_(multi_fs.getcontents("name") == "m2")
+
+ m1 = MemoryFS()
+ m2 = MemoryFS()
+ m3 = MemoryFS()
+ m1.setcontents("name", "m1")
+ m2.setcontents("name", "m2")
+ m3.setcontents("name", "m3")
+ multi_fs = MultiFS(auto_close=False)
+ multi_fs.addfs("m1", m1)
+ multi_fs.addfs("m2", m2, priority=10)
+ multi_fs.addfs("m3", m3, priority=10)
+ self.assert_(multi_fs.getcontents("name") == "m3")
+ m1 = MemoryFS()
+ m2 = MemoryFS()
+ m3 = MemoryFS()
+ m1.setcontents("name", "m1")
+ m2.setcontents("name", "m2")
+ m3.setcontents("name", "m3")
+ multi_fs = MultiFS(auto_close=False)
+ multi_fs.addfs("m1", m1, priority=11)
+ multi_fs.addfs("m2", m2, priority=10)
+ multi_fs.addfs("m3", m3, priority=10)
+ self.assert_(multi_fs.getcontents("name") == "m1")
+ \ No newline at end of file
diff --git a/fs/tests/test_s3fs.py b/fs/tests/test_s3fs.py
index ed813e7..cbc5f92 100644
--- a/fs/tests/test_s3fs.py
+++ b/fs/tests/test_s3fs.py
@@ -17,8 +17,8 @@ from six import PY3
try:
from fs import s3fs
except ImportError:
- if not PY3:
- raise
+ raise unittest.SkipTest("s3fs wasn't importable")
+
class TestS3FS(unittest.TestCase,FSTestCases,ThreadingTestCases):
@@ -27,7 +27,7 @@ class TestS3FS(unittest.TestCase,FSTestCases,ThreadingTestCases):
bucket = "test-s3fs.rfk.id.au"
- def setUp(self):
+ def setUp(self):
self.fs = s3fs.S3FS(self.bucket)
for k in self.fs._s3bukt.list():
self.fs._s3bukt.delete_key(k)