refactorar para usar framework pytest, em vez de unitest
This commit is contained in:
@ -1,32 +1,70 @@
|
|||||||
import unittest
|
import pytest
|
||||||
from modules.organizer import (
|
from modules.organizer import (
|
||||||
categorizar_por_tipo,
|
categorizar_por_tipo,
|
||||||
criar_pasta_destino,
|
criar_pasta_destino,
|
||||||
obter_data_ficheiro,
|
obter_data_ficheiro,
|
||||||
)
|
)
|
||||||
import tempfile
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
# import tempfile
|
||||||
|
|
||||||
|
# class TestOrganizer(unittest.TestCase):
|
||||||
|
# def test_categorizar_por_tipo(self):
|
||||||
|
# self.assertEqual(categorizar_por_tipo("imagem.jpg"), "imagem")
|
||||||
|
# self.assertEqual(categorizar_por_tipo("documento.pdf"), "documento")
|
||||||
|
# self.assertEqual(categorizar_por_tipo("video.mp4"), "video")
|
||||||
|
# self.assertEqual(categorizar_por_tipo("ficheiro.zip"), "outros")
|
||||||
|
# self.assertEqual(categorizar_por_tipo("audio.mp3"), "audio")
|
||||||
|
#
|
||||||
|
# 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__":
|
||||||
|
# unittest.main()
|
||||||
|
|
||||||
|
|
||||||
class TestOrganizer(unittest.TestCase):
|
@pytest.mark.parametrize(
|
||||||
def test_categorizar_por_tipo(self):
|
"ficheiro, esperado",
|
||||||
self.assertEqual(categorizar_por_tipo("imagem.jpg"), "imagem")
|
[
|
||||||
self.assertEqual(categorizar_por_tipo("documento.pdf"), "documento")
|
("foto.jpeg", "imagem"),
|
||||||
self.assertEqual(categorizar_por_tipo("video.mp4"), "video")
|
("documento.docx", "documento"),
|
||||||
self.assertEqual(categorizar_por_tipo("ficheiro.zip"), "outros")
|
("video.mp4", "video"),
|
||||||
self.assertEqual(categorizar_por_tipo("audio.mp3"), "audio")
|
("musica.mp3", "audio"),
|
||||||
|
("ficheiro.xyz", "outros"),
|
||||||
def test_criar_pasta_destino(self):
|
],
|
||||||
with tempfile.TemporaryDirectory() as tmp_dir:
|
)
|
||||||
path = criar_pasta_destino(tmp_dir, "imagem")
|
def test_categorizar_por_tipo(ficheiro, esperado):
|
||||||
self.assertTrue(path.exists())
|
assert categorizar_por_tipo(ficheiro) == esperado
|
||||||
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__":
|
def test_obter_data_ficheiro(tmp_path):
|
||||||
unittest.main()
|
ficheiro = tmp_path / "teste.txt"
|
||||||
|
ficheiro.write_text("conteudo")
|
||||||
|
|
||||||
|
# teste data de modificação
|
||||||
|
data_mod = obter_data_ficheiro(str(ficheiro), usar_criacao=False)
|
||||||
|
assert isinstance(data_mod, datetime)
|
||||||
|
|
||||||
|
# testar data de criação
|
||||||
|
data_criacao = obter_data_ficheiro(str(ficheiro), usar_criacao=True)
|
||||||
|
assert isinstance(data_criacao, datetime)
|
||||||
|
|
||||||
|
|
||||||
|
def test_criar_pasta_destino(tmp_path):
|
||||||
|
pasta = criar_pasta_destino(str(tmp_path), "documento")
|
||||||
|
assert pasta.exists()
|
||||||
|
assert pasta.is_dir()
|
||||||
|
|
||||||
|
pasta_com_data = criar_pasta_destino(
|
||||||
|
str(tmp_path), "imagem", datetime.now(), "%Y-%m-%d"
|
||||||
|
)
|
||||||
|
assert pasta_com_data.exists()
|
||||||
|
assert pasta_com_data.is_dir()
|
||||||
|
|||||||
Reference in New Issue
Block a user