Skip to content

Commit 1267194

Browse files
committed
don't run tests twice in parameterized_class
1 parent ad7a970 commit 1267194

1 file changed

Lines changed: 37 additions & 15 deletions

File tree

tests/test_move.py

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313

1414
@parameterized_class(("preserve_time",), [(True,), (False,)])
15-
class TestMove(unittest.TestCase):
15+
class TestMovePreserveTime(unittest.TestCase):
1616
def test_move_fs(self):
1717
namespaces = ("details", "modified")
1818

@@ -40,6 +40,32 @@ def test_move_fs(self):
4040
self.assertEqual(dst_file1_info.modified, src_file1_info.modified)
4141
self.assertEqual(dst_file2_info.modified, src_file2_info.modified)
4242

43+
def test_move_dir(self):
44+
namespaces = ("details", "modified")
45+
46+
src_fs = open_fs("mem://")
47+
src_fs.makedirs("foo/bar")
48+
src_fs.touch("test.txt")
49+
src_fs.touch("foo/bar/baz.txt")
50+
src_file2_info = src_fs.getinfo("foo/bar/baz.txt", namespaces)
51+
52+
dst_fs = open_fs("mem://")
53+
dst_fs.create("test.txt")
54+
dst_fs.setinfo("test.txt", {"details": {"modified": 1000000}})
55+
56+
fs.move.move_dir(src_fs, "/foo", dst_fs, "/", preserve_time=self.preserve_time)
57+
58+
self.assertTrue(dst_fs.isdir("bar"))
59+
self.assertTrue(dst_fs.isfile("bar/baz.txt"))
60+
self.assertFalse(src_fs.exists("foo"))
61+
self.assertTrue(src_fs.isfile("test.txt"))
62+
63+
if self.preserve_time:
64+
dst_file2_info = dst_fs.getinfo("bar/baz.txt", namespaces)
65+
self.assertEqual(dst_file2_info.modified, src_file2_info.modified)
66+
67+
68+
class TestMove(unittest.TestCase):
4369
def test_move_file(self):
4470
with open_fs("temp://") as temp:
4571
syspath = temp.getsyspath("/")
@@ -106,26 +132,22 @@ def test_move_file_read_only_mem_source(self):
106132
)
107133
self.assertTrue(src.exists("file.txt"))
108134

109-
def test_move_dir(self):
110-
namespaces = ("details", "modified")
111-
135+
def test_move_dir_cleanup(self):
112136
src_fs = open_fs("mem://")
113137
src_fs.makedirs("foo/bar")
114-
src_fs.touch("test.txt")
115138
src_fs.touch("foo/bar/baz.txt")
116-
src_file2_info = src_fs.getinfo("foo/bar/baz.txt", namespaces)
139+
src_fs.touch("foo/test.txt")
117140

118141
dst_fs = open_fs("mem://")
119142
dst_fs.create("test.txt")
120-
dst_fs.setinfo("test.txt", {"details": {"modified": 1000000}})
121143

122-
fs.move.move_dir(src_fs, "/foo", dst_fs, "/", preserve_time=self.preserve_time)
144+
ro_src = read_only(src_fs)
123145

124-
self.assertTrue(dst_fs.isdir("bar"))
125-
self.assertTrue(dst_fs.isfile("bar/baz.txt"))
126-
self.assertFalse(src_fs.exists("foo"))
127-
self.assertTrue(src_fs.isfile("test.txt"))
146+
with self.assertRaises(ResourceReadOnly):
147+
fs.move.move_dir(ro_src, "/foo", dst_fs, "/")
128148

129-
if self.preserve_time:
130-
dst_file2_info = dst_fs.getinfo("bar/baz.txt", namespaces)
131-
self.assertEqual(dst_file2_info.modified, src_file2_info.modified)
149+
self.assertTrue(src_fs.exists("foo/bar/baz.txt"))
150+
self.assertTrue(src_fs.exists("foo/test.txt"))
151+
self.assertFalse(dst_fs.isdir("bar"))
152+
self.assertFalse(dst_fs.exists("bar/baz.txt"))
153+
self.assertTrue(dst_fs.exists("test.txt"))

0 commit comments

Comments
 (0)