Delete files in a test environment
(self, command)
| 76 | self.assertLExists(cmd.path) |
| 77 | |
| 78 | def _test_delete(self, command): |
| 79 | """Delete files in a test environment""" |
| 80 | |
| 81 | # make some files |
| 82 | f_del = self.write_file('foo.txt.bbtestbak') |
| 83 | f_keep = self.write_file('foo.txt') |
| 84 | subdir = os.path.join(self.tempdir, 'sub') |
| 85 | os.mkdir(subdir) |
| 86 | f_del2 = self.write_file(os.path.join(subdir, 'bar.ini.bbtestbak')) |
| 87 | f_del3 = self.write_file(os.path.join(subdir, 'bar.ini.bbtestBAK')) |
| 88 | |
| 89 | # sanity check |
| 90 | self.assertExists(f_del) |
| 91 | self.assertExists(f_keep) |
| 92 | self.assertExists(f_del2) |
| 93 | |
| 94 | # run deep scan |
| 95 | def run_deep_scan(regex): |
| 96 | astr = '<action command="{}" search="deep" cache="false" path="{}" {}/>'.format( |
| 97 | command, self.tempdir, regex) |
| 98 | cleaner = TestCleaner.action_to_cleaner(astr) |
| 99 | from bleachbit.Worker import backends, Worker |
| 100 | backends['test'] = cleaner |
| 101 | operations = {'test': ['option1']} |
| 102 | from bleachbit import CLI |
| 103 | ui = CLI.CliCallback() |
| 104 | worker = Worker(ui, True, operations) |
| 105 | list(worker.run()) |
| 106 | del backends['test'] |
| 107 | |
| 108 | # validate results |
| 109 | run_deep_scan(r'regex="\.bbtestbak$" wholeregex="sub.*\.bbtestbak$"') |
| 110 | self.assertExists(f_del) |
| 111 | self.assertExists(f_keep) |
| 112 | self.assertFalse(os.path.exists(f_del2)) |
| 113 | if 'posix' == os.name: |
| 114 | self.assertExists(f_del3) |
| 115 | else: |
| 116 | self.assertFalse(os.path.exists(f_del3)) |
| 117 | |
| 118 | # validate results |
| 119 | run_deep_scan(r'regex="\.bbtestbak$"') |
| 120 | self.assertFalse(os.path.exists(f_del)) |
| 121 | self.assertExists(f_keep) |
| 122 | |
| 123 | # cleanup |
| 124 | os.unlink(f_keep) |
| 125 | if 'posix' == os.name: |
| 126 | os.unlink(f_del3) |
| 127 | os.rmdir(subdir) |
| 128 | |
| 129 | def test_delete(self): |
| 130 | self._test_delete('delete') |
no test coverage detected