testes unitários
This commit is contained in:
@ -0,0 +1,28 @@
|
|||||||
|
import unittest
|
||||||
|
import tempfile
|
||||||
|
from pathlib import Path
|
||||||
|
from modules.copier import copiar_ficheiros_para_destino
|
||||||
|
|
||||||
|
|
||||||
|
class TestCopier(unittest.TestCase):
|
||||||
|
def setUp(self) -> None:
|
||||||
|
self.origem = tempfile.TemporaryDirectory()
|
||||||
|
self.destino = tempfile.TemporaryDirectory()
|
||||||
|
(Path(self.origem.name) / "teste.txt").write_text("conteudo")
|
||||||
|
|
||||||
|
def tearDown(self) -> None:
|
||||||
|
self.origem.cleanup()
|
||||||
|
self.destino.cleanup()
|
||||||
|
|
||||||
|
def test_copiar_ficheiros_para_destino(self):
|
||||||
|
ficheiros = [str(f) for f in Path(self.origem.name).iterdir()]
|
||||||
|
copiar_ficheiros_para_destino(
|
||||||
|
ficheiros, self.destino.name, categorizar_data=False
|
||||||
|
)
|
||||||
|
copiados = list(Path(self.destino.name).rglob("teste.txt"))
|
||||||
|
self.assertEqual(len(copiados), 1)
|
||||||
|
self.assertTrue(copiados[0].exists())
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
unittest.main()
|
||||||
|
|||||||
@ -1,6 +1,11 @@
|
|||||||
import unittest
|
import unittest
|
||||||
from organizer import categorizar_por_tipo
|
import tempfile
|
||||||
from pathlib import Path
|
from datetime import datetime
|
||||||
|
from modules.organizer import (
|
||||||
|
categorizar_por_tipo,
|
||||||
|
criar_pasta_destino,
|
||||||
|
obter_data_ficheiro,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestOrganizer(unittest.TestCase):
|
class TestOrganizer(unittest.TestCase):
|
||||||
@ -8,7 +13,18 @@ class TestOrganizer(unittest.TestCase):
|
|||||||
self.assertEqual(categorizar_por_tipo("imagem.jpg"), "imagem")
|
self.assertEqual(categorizar_por_tipo("imagem.jpg"), "imagem")
|
||||||
self.assertEqual(categorizar_por_tipo("documento.pdf"), "documento")
|
self.assertEqual(categorizar_por_tipo("documento.pdf"), "documento")
|
||||||
self.assertEqual(categorizar_por_tipo("video.mp4"), "video")
|
self.assertEqual(categorizar_por_tipo("video.mp4"), "video")
|
||||||
self.assertEqual(categorizar_por_tipo("ficheiro.zip"), "outro")
|
self.assertEqual(categorizar_por_tipo("ficheiro.zip"), "outros")
|
||||||
|
|
||||||
|
def test_criar_pasta_destino(self):
|
||||||
|
with tempfile.TemporaryDirectory() as tmp_dir:
|
||||||
|
path = criar_pasta_destino(tmp_dir, "imagem")
|
||||||
|
self.assertTrue(path.exists())
|
||||||
|
self.assertTrue(path.is_dir())
|
||||||
|
|
||||||
|
def test_obter_data_ficheiro(self):
|
||||||
|
with tempfile.NamedTemporaryFile() as tmp_file:
|
||||||
|
data_mod = obter_data_ficheiro(tmp_file.name, usar_criacao=False)
|
||||||
|
self.assertIsInstance(data_mod, datetime)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
@ -0,0 +1,25 @@
|
|||||||
|
import unittest
|
||||||
|
import tempfile
|
||||||
|
from pathlib import Path
|
||||||
|
from modules.scanner import listar_ficheiros
|
||||||
|
|
||||||
|
|
||||||
|
class TestScanner(unittest.TestCase):
|
||||||
|
def setUp(self) -> None:
|
||||||
|
# criar derectorio temporario
|
||||||
|
self.temp_dir = tempfile.TemporaryDirectory()
|
||||||
|
(Path(self.temp_dir.name) / "teste.txt").touch()
|
||||||
|
(Path(self.temp_dir.name) / "imagem.jpg").touch()
|
||||||
|
|
||||||
|
def tearDown(self) -> None:
|
||||||
|
self.temp_dir.cleanup()
|
||||||
|
|
||||||
|
def test_listar_ficheiros(self):
|
||||||
|
ficheiros = listar_ficheiros(self.temp_dir.name)
|
||||||
|
self.assertEqual(len(ficheiros), 2)
|
||||||
|
for f in ficheiros:
|
||||||
|
self.assertTrue(Path(f).exists())
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
unittest.main()
|
||||||
|
|||||||
Reference in New Issue
Block a user