| @@ -0,0 +1,28 @@ | |||||
| from focker.jail import backup_file | |||||
| import tempfile | |||||
| import os | |||||
| def test_backup_file(): | |||||
| with tempfile.TemporaryDirectory() as d: | |||||
| fname = os.path.join(d, 'dummy.conf') | |||||
| with open(fname, 'w') as f: | |||||
| f.write('init') | |||||
| nbackups = 10 | |||||
| for i in range(15): | |||||
| backup_file(fname, nbackups=nbackups, chmod=0o640) | |||||
| with open(fname, 'w') as f: | |||||
| f.write(str(i)) | |||||
| fname = os.path.join(d, 'dummy.conf') | |||||
| with open(fname, 'r') as f: | |||||
| assert f.read() == '14' | |||||
| for i in range(nbackups): | |||||
| fname = os.path.join(d, 'dummy.conf.%d' % i) | |||||
| assert os.path.exists(fname) | |||||
| with open(fname, 'r') as f: | |||||
| if i < 5: | |||||
| assert f.read() == str(i + 9) | |||||
| else: | |||||
| assert f.read() == str(i - 1) | |||||