28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
import unittest
|
|
from pathlib import Path
|
|
from swap_link import swap_link
|
|
|
|
class TestSwapLink(unittest.TestCase):
|
|
|
|
data_dir = "test/data/search_test"
|
|
|
|
def test_wrong_lnk_file(self):
|
|
with self.assertRaises(Exception):
|
|
swap_link(data_dir+"inexistent.txt", data_dir+"/subdir/match1.txt") # inexistent file
|
|
with self.assertRaises(Exception):
|
|
swap_link(data_dir+"/subdir1/match1.txt", data_dir+"/subdir/match1.txt") # non link file
|
|
with self.assertRaises(Exception):
|
|
swap_link(data_dir+"lnk_dir/ln_valid", data_dir+"/subdir/match1.txt") # not broken link
|
|
# TODO: no writing permission on file
|
|
|
|
def test_wrong_tgt_file(self):
|
|
with self.assertRaises(Exception):
|
|
swap_link(data_dir+"lnk_dir/tgt_file.txt", data_dir+"inexistent")
|
|
# TODO: target is link to lnk file (can't have 2 symlinks pointing at one another)
|
|
|
|
def test_fix_link(self):
|
|
lnk = 'test/data/lnk_dir/tgt_file.txt'
|
|
tgt = 'test/data/tgt_dir/tgt_file.txt'
|
|
swap_link(lnk, tgt)
|
|
print(f"Lnk path resolve:")
|
|
self.assertEqual(Path(lnk).resolve(), Path(tgt).resolve()) |