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()
Пример #2
0
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'))