Files
link-fixer/test/test_swap_link.py
2024-07-22 22:41:00 -04:00

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())