class TestTrashPutTrashDirectory:
    def setUp(self):
        parent_path = lambda _ : None
        volume_of = lambda _ : '/'
        self.try_trash_file_using_candidates = Mock()
        self.cmd = TrashPutCmd(None,
                               None,
                               {'XDG_DATA_HOME':'~/xdh'},
                               volume_of,
                               parent_path,
                               None,
                               None,
                               None,
                               None)
        self.cmd.getuid = lambda : '123'
        self.cmd.try_trash_file_using_candidates = self.try_trash_file_using_candidates

    def test_normally(self):

        self.cmd.run(['trash-put', 'file'])

        assert_equals([call('file', '/', [
            ('~/xdh/Trash', '/', AbsolutePaths, all_is_ok_checker),
            ('/.Trash/123', '/', TopDirRelativePaths, TopTrashDirWriteRules),
            ('/.Trash-123', '/', TopDirRelativePaths, all_is_ok_checker),
            ])], self.try_trash_file_using_candidates.mock_calls)

    def test_with_a_specified_trashdir(self):
        self.cmd.run(['trash-put', '--trash-dir=/Trash2', 'file'])

        assert_equals([call('file', '/', [
            ('/Trash2', '/', TopDirRelativePaths, all_is_ok_checker),
            ])], self.try_trash_file_using_candidates.mock_calls)
class TestTrashPutTrashDirectory(unittest.TestCase):
    def setUp(self):
        parent_path = lambda _: None

        class MyVolumes:
            def volume_of(self, path):
                return '/'

        volumes = MyVolumes()
        self.try_trash_file_using_candidates = Mock()
        self.cmd = TrashPutCmd(None, None, {'XDG_DATA_HOME': '~/xdh'}, volumes,
                               parent_path, None, None, lambda: '123', None)
        self.cmd.try_trash_file_using_candidates = self.try_trash_file_using_candidates

    def test_normally(self):

        self.cmd.run(['trash-put', 'file'])

        assert [
            call('file', '/', [
                ('~/xdh/Trash', '/', AbsolutePaths, all_is_ok_rules),
                ('/.Trash/123', '/', TopDirRelativePaths, top_trash_dir_rules),
                ('/.Trash-123', '/', TopDirRelativePaths, all_is_ok_rules),
            ])
        ] == self.try_trash_file_using_candidates.mock_calls

    def test_with_a_specified_trashdir(self):
        self.cmd.run(['trash-put', '--trash-dir=/Trash2', 'file'])

        assert [
            call('file', '/', [
                ('/Trash2', '/', TopDirRelativePaths, all_is_ok_rules),
            ])
        ] == self.try_trash_file_using_candidates.mock_calls
Example #3
0
class TestTrashPutTrashDirectory:
    def setUp(self):
        parent_path = lambda _: None
        volume_of = lambda _: '/'
        self.try_trash_file_using_candidates = Mock()
        self.cmd = TrashPutCmd(None, None, {'XDG_DATA_HOME': '~/xdh'},
                               volume_of, parent_path, None, None, None, None)
        self.cmd.getuid = lambda: '123'
        self.cmd.try_trash_file_using_candidates = self.try_trash_file_using_candidates

    def test_normally(self):

        self.cmd.run(['trash-put', 'file'])

        assert_equals([
            call('file', '/', [
                ('~/xdh/Trash', '/', AbsolutePaths, all_is_ok_checker),
                ('/.Trash/123', '/', TopDirRelativePaths,
                 TopTrashDirWriteRules),
                ('/.Trash-123', '/', TopDirRelativePaths, all_is_ok_checker),
            ])
        ], self.try_trash_file_using_candidates.mock_calls)

    def test_with_a_specified_trashdir(self):
        self.cmd.run(['trash-put', '--trash-dir=/Trash2', 'file'])

        assert_equals([
            call('file', '/', [
                ('/Trash2', '/', TopDirRelativePaths, all_is_ok_checker),
            ])
        ], self.try_trash_file_using_candidates.mock_calls)
Example #4
0
    def test_trash_put_last_line(self):
        from trashcli.put import TrashPutCmd

        cmd = TrashPutCmd(self.out, StringIO(), None, None)
        cmd.run(['', '--help'])

        self.assert_last_line_of_output_is(
                'Report bugs to https://github.com/andreafrancia/trash-cli/issues')
    def test_trash_put_last_line(self):
        from trashcli.put import TrashPutCmd

        cmd = TrashPutCmd(self.out, StringIO(), None, None, None, None, None,
                          None, None)
        cmd.run(['', '--help'])

        self.assert_last_line_of_output_is(
            'Report bugs to https://github.com/andreafrancia/trash-cli/issues')
 def run_trash_put(self, *arg):
     self.stderr = StringIO()
     self.stdout = StringIO()
     args = ['trash-put'] + list(arg)
     cmd = TrashPutCmd(self.stdout, self.stderr, None, None, None, None,
                       None, None, None)
     self._collect_exit_code(lambda: cmd.run(args))
Example #7
0
 def run_trashput(self, *argv):
     cmd = TrashPutCmd(stdout=self.out,
                       stderr=self.err,
                       environ=self.environ,
                       fstab=self.fstab)
     self.exit_code = cmd.run(list(argv))
     self.stderr = self.err.getvalue()
Example #8
0
 def run_trashput(self, *argv):
     cmd = TrashPutCmd(
         stdout  = self.out,
         stderr  = self.err,
         environ = self.environ,
         fstab   = self.fstab
     )
     self.exit_code = cmd.run(list(argv))
     self.stderr = self.err.getvalue()
Example #9
0
 def run_trashput(self, *argv):
     cmd = TrashPutCmd(stdout=self.out,
                       stderr=self.err,
                       environ=self.environ,
                       volume_of=self.fstab.volume_of,
                       parent_path=os.path.dirname,
                       realpath=lambda x: x)
     self.exit_code = cmd.run(list(argv))
     self.stderr = self.err.getvalue()
Example #10
0
 def run_trashput(self, *argv):
     cmd = TrashPutCmd(stdout=self.out,
                       stderr=self.err,
                       environ=self.environ,
                       volume_of=self.fstab.volume_of,
                       parent_path=os.path.dirname,
                       realpath=lambda x: x,
                       fs=RealFs(),
                       getuid=lambda: None,
                       now=datetime.now)
     self.exit_code = cmd.run(list(argv))
     self.stderr = self.err.getvalue()
Example #11
0
 def run(self, *arg):
     self.stderr = StringIO()
     self.stdout = StringIO()
     args = ['trash-put'] + list(arg)
     cmd = TrashPutCmd(self.stdout,
                       self.stderr,
                       None,
                       None,
                       None,
                       None,
                       None,
                       None,
                       None)
     self._collect_exit_code(lambda:cmd.run(args))
Example #12
0
 def run_trashput(self, *argv):
     cmd = TrashPutCmd(
         stdout      = self.out,
         stderr      = self.err,
         environ     = self.environ,
         volume_of   = self.fstab.volume_of,
         parent_path = os.path.dirname,
         realpath    = lambda x:x,
         fs          = RealFs(),
         getuid      = lambda: None,
         now         = datetime.now
     )
     self.exit_code = cmd.run(list(argv))
     self.stderr = self.err.getvalue()
 def run_trashput(self, *argv):
     self.environ = {'XDG_DATA_HOME': self.temp_dir / 'XDG_DATA_HOME'}
     self.out = StringIO()
     self.err = StringIO()
     cmd = TrashPutCmd(stdout=self.out,
                       stderr=self.err,
                       environ=self.environ,
                       volumes=self.volumes,
                       parent_path=os.path.dirname,
                       realpath=lambda x: x,
                       fs=RealFs(),
                       getuid=lambda: None,
                       now=datetime.now)
     self.exit_code = cmd.run(list(argv))
     self.stdout = self.out.getvalue()
     self.stderr = self.err.getvalue()