Exemple #1
0
class TestTrashRm(unittest.TestCase):
    def setUp(self):
        self.xdg_data_home = MyPath.make_temp_dir()
        self.stderr = StringIO()
        self.trash_rm = RmCmd(environ={'XDG_DATA_HOME': self.xdg_data_home},
                              getuid=lambda: 123,
                              volumes_listing=VolumesListing(lambda: []),
                              stderr=self.stderr,
                              file_reader=FileSystemReader())
        self.fake_trash_dir = FakeTrashDir(self.xdg_data_home / 'Trash')

    def test_issue69(self):
        self.fake_trash_dir.add_trashinfo_without_path('foo')

        self.trash_rm.run(['trash-rm', 'ignored'])

        assert (self.stderr.getvalue() ==
                "trash-rm: %s/Trash/info/foo.trashinfo: unable to parse 'Path'"
                '\n' % self.xdg_data_home)

    def test_integration(self):
        self.fake_trash_dir.add_trashinfo_basename_path("del", 'to/be/deleted')
        self.fake_trash_dir.add_trashinfo_basename_path("keep", 'to/be/kept')

        self.trash_rm.run(['trash-rm', 'delete*'])

        assert self.fake_trash_dir.ls_info() == ['keep.trashinfo']

    def tearDown(self):
        self.xdg_data_home.clean_up()
    def test_without_arguments(self):
        from trashcli.rm import RmCmd
        cmd = RmCmd(None, None, None, None, None)
        cmd.stderr = StringIO()
        cmd.run([None])

        assert_equals('Usage:\n    trash-rm PATTERN\n\nPlease specify PATTERN\n', cmd.stderr.getvalue())
Exemple #3
0
    def test_without_arguments(self):
        from trashcli.rm import RmCmd
        cmd = RmCmd(None, None, None, None, None)
        cmd.stderr = StringIO()
        cmd.run([None])

        assert ('Usage:\n    trash-rm PATTERN\n\nPlease specify PATTERN\n' ==
                cmd.stderr.getvalue())
Exemple #4
0
 def setUp(self):
     self.xdg_data_home = MyPath.make_temp_dir()
     self.stderr = StringIO()
     self.trash_rm = RmCmd(environ={'XDG_DATA_HOME': self.xdg_data_home},
                           getuid=123,
                           list_volumes=lambda: [],
                           stderr=self.stderr,
                           file_reader=FileSystemReader())
Exemple #5
0
 def setUp(self):
     self.xdg_data_home = MyPath.make_temp_dir()
     self.stderr = StringIO()
     self.trash_rm = RmCmd(environ={'XDG_DATA_HOME': self.xdg_data_home},
                           getuid=lambda: 123,
                           volumes_listing=VolumesListing(lambda: []),
                           stderr=self.stderr,
                           file_reader=FileSystemReader())
     self.fake_trash_dir = FakeTrashDir(self.xdg_data_home / 'Trash')
Exemple #6
0
 def setUp(self):
     require_empty_dir('sandbox/xdh')
     self.stderr = StringIO()
     self.trash_rm = RmCmd(environ = {'XDG_DATA_HOME':'sandbox/xdh'}
                      , getuid = 123
                      , list_volumes = lambda:[]
                      , stderr = self.stderr
                      , file_reader = FileSystemReader())
Exemple #7
0
    def test_without_pattern_argument(self):
        from trashcli.rm import RmCmd
        cmd = RmCmd(None, None, None, None, None)
        cmd.stderr = StringIO()
        cmd.file_reader = Mock([])
        cmd.file_reader.exists = Mock([], return_value=None)
        cmd.file_reader.entries_if_dir_exists = Mock([], return_value=[])
        cmd.environ = {}
        cmd.getuid = lambda: '111'
        cmd.list_volumes = lambda: ['/vol1']

        cmd.run([None, None])

        assert_equals('', cmd.stderr.getvalue())
Exemple #8
0
class TestTrashRm(unittest.TestCase):
    def setUp(self):
        require_empty_dir('sandbox/xdh')
        self.xdg_data_home = MyPath.make_temp_dir()
        self.stderr = StringIO()
        self.trash_rm = RmCmd(environ={'XDG_DATA_HOME': self.xdg_data_home},
                              getuid=123,
                              list_volumes=lambda: [],
                              stderr=self.stderr,
                              file_reader=FileSystemReader())

    def test_issue69(self):
        self.add_trashinfo("foo.trashinfo", a_trashinfo_without_path())

        self.trash_rm.run(['trash-rm', 'ignored'])

        assert (self.stderr.getvalue() ==
                "trash-rm: %s/Trash/info/foo.trashinfo: unable to parse 'Path'"
                '\n' % self.xdg_data_home)

    def test_integration(self):
        self.add_trashinfo("1.trashinfo",
                           a_trashinfo_with_path('to/be/deleted'))
        self.add_trashinfo("2.trashinfo", a_trashinfo_with_path('to/be/kept'))

        self.trash_rm.run(['trash-rm', 'delete*'])

        self.assert_trashinfo_has_been_deleted("1.trashinfo")

    def add_trashinfo(self, trashinfo_name, contents):
        make_file(self.trashinfo_path(trashinfo_name), contents)

    def trashinfo_path(self, trashinfo_name):
        return self.xdg_data_home / 'Trash/info' / trashinfo_name

    def assert_trashinfo_has_been_deleted(self, trashinfo_name):
        import os
        path = self.trashinfo_path(trashinfo_name)
        assert not os.path.exists(path), 'File "%s" still exists' % path

    def tearDown(self):
        self.xdg_data_home.clean_up()
    def test_without_pattern_argument(self):
        from trashcli.rm import RmCmd
        cmd = RmCmd(None, None, None, None, None)
        cmd.stderr = StringIO()
        cmd.file_reader = Mock([])
        cmd.file_reader.exists = Mock([], return_value = None)
        cmd.file_reader.entries_if_dir_exists = Mock([], return_value = [])
        cmd.environ = {}
        cmd.getuid = lambda : '111'
        cmd.list_volumes = lambda: ['/vol1']

        cmd.run([None, None])

        assert_equals('', cmd.stderr.getvalue())