| 
					
				 | 
			
			
				@@ -0,0 +1,110 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import pytest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import osex 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import os 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def test_rename(tmpdir): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    os.chdir(tmpdir.strpath) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    open('a', 'w').close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    assert os.path.exists('a') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    osex.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) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    osex.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'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    osex.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_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') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    osex.renames('src', 'dest', backup = True, 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') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    osex.renames('src', 'dest', backup = True, 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') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    osex.renames('src', 'dest', backup = True, 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') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    osex.renames('src', 'dest', backup = False) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    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(OSError): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        osex.renames('src', 'dest', backup = False) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+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') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    osex.renames('src', 'link', backup = False) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    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 
			 |