def test_archivate_dirs(mocker, directories, links, files): test_archive = mocker.Mock() path = "/path" tag = "tag" mocker.patch("os.path.exists", return_value=True) def contains(lst): def foo(x): return x in [os.path.join(path, d) for d in lst] return foo mocker.patch("os.path.isdir", side_effect=contains(directories)) mocker.patch("os.path.islink", side_effect=contains(links)) in_path = directories + links + files random.shuffle(in_path) mocker.patch("os.listdir", return_value=in_path) archivate.archive_dirs(test_archive, path, tag) assert len(test_archive.add.call_args_list) == len(directories) for directory in directories: test_archive.add.assert_has_calls([ mock.call( os.path.join(path, directory), "{0}/{1}".format(tag, directory)) ])
def backup(self): assert self.path assert self.tag archivate.archive_dirs(self.archive, self.path, self.tag)
def test_archivate_dirs_no_paths(mocker): test_archive = mocker.Mock() mocker.patch("os.path.exists", return_value=False) archivate.archive_dirs(test_archive, "/path", "tag") assert not test_archive.add.called