Code Duplication    Length = 31-31 lines in 2 locations

ActionTree/tests/stock_actions.py 2 locations

@@ 155-185 (lines=31) @@
152
        self.unlink.assert_called_once_with("xxx")
153
154
155
class DeleteDirectoryTestCase(PatchingTestCase):
156
    def setUp(self):
157
        self.rmtree = self.patch("shutil.rmtree")
158
159
    def test_label(self):
160
        self.assertEqual(DeleteDirectory("xxx").label, "rm -r xxx")
161
162
        self.rmtree.assert_not_called()
163
164
    def test_pickle(self):
165
        self.assertIsInstance(pickle.dumps(DeleteDirectory("xxx")), bytes)
166
167
    def test_success(self):
168
        DeleteDirectory("xxx").do_execute({})
169
170
        self.rmtree.assert_called_once_with("xxx")
171
172
    def test_directory_does_not_exist(self):
173
        self.rmtree.side_effect = OSError(errno.ENOENT, "No such file or directory")
174
175
        DeleteDirectory("xxx").do_execute({})
176
177
        self.rmtree.assert_called_once_with("xxx")
178
179
    def test_other_failure(self):
180
        self.rmtree.side_effect = OSError(-1, "Foobar")
181
182
        with self.assertRaises(OSError):
183
            DeleteDirectory("xxx").do_execute({})
184
185
        self.rmtree.assert_called_once_with("xxx")
186
187
188
class CopyFileTestCase(PatchingTestCase):
@@ 122-152 (lines=31) @@
119
        self.assertEqual(catcher.exception.exceptions[0].args, (1, ["false"], None))
120
121
122
class DeleteFileTestCase(PatchingTestCase):
123
    def setUp(self):
124
        self.unlink = self.patch("os.unlink")
125
126
    def test_label(self):
127
        self.assertEqual(DeleteFile("xxx").label, "rm xxx")
128
129
        self.unlink.assert_not_called()
130
131
    def test_pickle(self):
132
        self.assertIsInstance(pickle.dumps(DeleteFile("xxx")), bytes)
133
134
    def test_success(self):
135
        DeleteFile("xxx").do_execute({})
136
137
        self.unlink.assert_called_once_with("xxx")
138
139
    def test_file_does_not_exist(self):
140
        self.unlink.side_effect = OSError(errno.ENOENT, "No such file or directory")
141
142
        DeleteFile("xxx").do_execute({})
143
144
        self.unlink.assert_called_once_with("xxx")
145
146
    def test_other_failure(self):
147
        self.unlink.side_effect = OSError(-1, "Foobar")
148
149
        with self.assertRaises(OSError):
150
            DeleteFile("xxx").do_execute({})
151
152
        self.unlink.assert_called_once_with("xxx")
153
154
155
class DeleteDirectoryTestCase(PatchingTestCase):