123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- import pytest
- import os
- import subprocess
- def test_rename(tmpdir):
- os.chdir(tmpdir.strpath)
- open('a', 'w').close()
- assert os.path.exists('a')
- subprocess.check_call(['renames', 'a', 'b'])
- assert not os.path.exists('a')
- assert os.path.exists('b')
- def test_prune_source_dirs(tmpdir):
- os.chdir(tmpdir.strpath)
- source_dir_path = os.path.join('1', '2')
- os.makedirs(source_dir_path)
- source_file_path = os.path.join(source_dir_path, 'a')
- open(source_file_path, 'w').close()
- assert os.path.isdir(source_dir_path)
- assert os.path.exists(source_file_path)
- subprocess.check_call(['renames', '1/2/a', 'b'])
- assert os.listdir(tmpdir.strpath) == ['b']
- def test_create_destination_dirs(tmpdir):
- os.chdir(tmpdir.strpath)
- open('a', 'w').close()
- assert os.listdir(tmpdir.strpath) == ['a']
- subprocess.check_call(['renames', 'a', '1/2/b'])
- assert os.listdir(tmpdir.strpath) == ['1']
- assert os.path.isdir('1/2')
- assert os.path.isfile('1/2/b')
- def test_file_exists(tmpdir):
- os.chdir(tmpdir.strpath)
- open('src', 'w').close()
- open('dest', 'w').close()
- assert os.path.isfile('src')
- assert os.path.isfile('dest')
- with pytest.raises(subprocess.CalledProcessError):
- subprocess.check_call(['renames', 'src', 'dest', '--no-override', '--backup'])
- assert os.path.isfile('src')
- assert os.path.isfile('dest')
- assert len(os.listdir(tmpdir.strpath)) == 2
- def test_backup_file(tmpdir):
- os.chdir(tmpdir.strpath)
- open('src', 'w').close()
- open('dest', 'w').close()
- assert os.path.isfile('src')
- assert os.path.isfile('dest')
- subprocess.check_call(['renames', 'src', 'dest', '--backup', '--backup-suffix', '~'])
- assert not os.path.isfile('src')
- assert os.path.isfile('dest')
- assert os.path.isfile('dest~')
- assert len(os.listdir(tmpdir.strpath)) == 2
- def test_backup_directory(tmpdir):
- os.chdir(tmpdir.strpath)
- open('src', 'w').close()
- os.mkdir('dest')
- assert os.path.isfile('src')
- assert os.path.isdir('dest')
- subprocess.check_call(['renames', 'src', 'dest', '--backup', '--backup-suffix', '~'])
- assert not os.path.isfile('src')
- assert os.path.isfile('dest')
- assert os.path.isdir('dest~')
- assert len(os.listdir(tmpdir.strpath)) == 2
- def test_backup_directory_symlink(tmpdir):
- os.chdir(tmpdir.strpath)
- open('src', 'w').close()
- os.mkdir('dir')
- os.symlink('dir', 'dest')
- assert os.path.isfile('src')
- assert os.path.isdir('dir')
- assert os.path.islink('dest')
- assert os.path.isdir('dest')
- subprocess.check_call(['renames', 'src', 'dest', '--backup', '--backup-suffix', '~'])
- assert not os.path.isfile('src')
- assert os.path.isdir('dir')
- assert os.path.islink('dest~')
- assert os.path.isdir('dest~')
- assert os.path.isfile('dest')
- assert len(os.listdir(tmpdir.strpath)) == 3
- def test_override_file(tmpdir):
- os.chdir(tmpdir.strpath)
- open('src', 'w').close()
- open('dest', 'w').close()
- assert os.path.isfile('src')
- assert os.path.isfile('dest')
- subprocess.check_call(['renames', 'src', 'dest'])
- assert not os.path.isfile('src')
- assert os.path.isfile('dest')
- assert len(os.listdir(tmpdir.strpath)) == 1
- def test_attempt_override_directory(tmpdir):
- os.chdir(tmpdir.strpath)
- open('src', 'w').close()
- os.mkdir('dest')
- assert os.path.isfile('src')
- assert os.path.isdir('dest')
- with pytest.raises(subprocess.CalledProcessError):
- subprocess.check_call(['renames', 'src', 'dest'])
- def test_override_directory_symlink(tmpdir):
- os.chdir(tmpdir.strpath)
- open('src', 'w').close()
- os.mkdir('dir')
- os.symlink('dir', 'link')
- assert os.path.isfile('src')
- assert os.path.isdir('dir')
- assert os.path.islink('link')
- assert os.path.isdir('link')
- subprocess.check_call(['renames', 'src', 'link'])
- assert not os.path.isfile('src')
- assert os.path.isdir('dir')
- assert not os.path.islink('link')
- assert os.path.isfile('link')
- assert len(os.listdir(tmpdir.strpath)) == 2
|