class TestTrashDirectory(unittest.TestCase): def setUp(self): self.temp_dir = MyPath.make_temp_dir() require_empty_dir(self.temp_dir / 'trash-dir') self.trash_dir = TrashDirectory() self.logger = Mock() self.trash_dir.logger = self.logger def test_should_list_a_trashinfo(self): make_file(self.temp_dir / 'trash-dir/info/foo.trashinfo') result = self.list_trashinfos() assert [('trashinfo', self.temp_dir / 'trash-dir/info/foo.trashinfo') ] == result def test_should_list_multiple_trashinfo(self): make_file(self.temp_dir / 'trash-dir/info/foo.trashinfo') make_file(self.temp_dir / 'trash-dir/info/bar.trashinfo') make_file(self.temp_dir / 'trash-dir/info/baz.trashinfo') result = self.list_trashinfos() six.assertCountEqual( self, [('trashinfo', self.temp_dir / 'trash-dir/info/foo.trashinfo'), ('trashinfo', self.temp_dir / 'trash-dir/info/baz.trashinfo'), ('trashinfo', self.temp_dir / 'trash-dir/info/bar.trashinfo')], result) def test_non_trashinfo_should_reported_as_a_warn(self): make_file(self.temp_dir / 'trash-dir/info/not-a-trashinfo') result = self.list_trashinfos() six.assertCountEqual(self, [ ('non_trashinfo', self.temp_dir / 'trash-dir/info/not-a-trashinfo') ], result) def list_trashinfos(self): return list(self.trash_dir.all_info_files(self.temp_dir / 'trash-dir')) def tearDown(self): self.temp_dir.clean_up()
class TestTrashDirectory: def setUp(self): require_empty_dir('sandbox') self.trash_dir = TrashDirectory() self.logger = Mock() self.trash_dir.logger = self.logger def test_should_list_a_trashinfo(self): write_file('sandbox/info/foo.trashinfo') result = self.list_trashinfos() assert_equal([('trashinfo', 'sandbox/info/foo.trashinfo')], result) def test_should_list_multiple_trashinfo(self): write_file('sandbox/info/foo.trashinfo') write_file('sandbox/info/bar.trashinfo') write_file('sandbox/info/baz.trashinfo') result = self.list_trashinfos() assert_items_equal([('trashinfo', 'sandbox/info/foo.trashinfo'), ('trashinfo', 'sandbox/info/baz.trashinfo'), ('trashinfo', 'sandbox/info/bar.trashinfo')], result) def test_non_trashinfo_should_reported_as_a_warn(self): write_file('sandbox/info/not-a-trashinfo') result = self.list_trashinfos() assert_items_equal([('non_trashinfo', 'sandbox/info/not-a-trashinfo')], result) def list_trashinfos(self): return list(self.trash_dir.all_info_files('sandbox'))