Descrição
Durante a execução de tests/sps/formats, foram identificados testes que estão desatualizados em relação ao código atual (não relacionados aos bugs funcionais já reportados separadamente).
1. Módulo inexistente: packtools.sps.formats.pdf.utils.docx_utils
tests/sps/formats/pdf/utils/test_docx_utils.py faz:
from packtools.sps.formats.pdf.utils import docx_utils
mas packtools/sps/formats/pdf/utils/ contém apenas file_utils.py, request_utils.py e xml_utils.py. Esse módulo docx_utils não existe, causando erro de coleção:
ImportError: cannot import name 'docx_utils' from 'packtools.sps.formats.pdf.utils'
Isso interrompe a coleção de toda a suíte tests/sps/formats quando rodada sem --ignore.
2. Mensagem de exceção desatualizada em test_oai_dc_agris.py
test_xml_oai_dc_agris_title_pipe_without_title espera:
self.assertEqual(str(context.exception),
"Unable to add title 'NoneType' object has no attribute 'strip'")
mas a implementação atual de xml_oai_dc_agris_title_pipe levanta:
"Unable to add title 'NoneType' object is not subscriptable"
A lógica interna mudou (de .strip() para acesso por índice/chave) e a mensagem esperada no teste não foi atualizada.
3. test_xml_oai_dc_relation não encontra <related-article> filho direto de <article>
test_xml_oai_dc.py::TestPipelineOaiDc::test_xml_oai_dc_relation usa um XML de fixture com <related-article> como filho direto de <article> (fora de front/body/back/sub-article). A função xml_oai_dc_relation usa RelatedItems(xml_tree).related_articles (modelo deprecated em packtools/sps/models/related_articles.py), que itera via get_parent_context, e não retorna nada para esse XML — resultando em <metadata/> vazio em vez do <dc:relation> esperado.
Não está claro se o problema é:
- a fixture do teste não refletir uma estrutura SPS real (related-article normalmente fica dentro de
front-stub/body/back), ou
- o modelo deprecated
RelatedItems ter uma lacuna de cobertura que xml_oai_dc_relation ainda depende.
Como reproduzir
.venv/bin/python -m pytest tests/sps/formats -q --ignore=tests/sps/formats/pdf/utils/test_docx_utils.py
FAILED tests/sps/formats/test_oai_dc.py::TestPipelineOaiDc::test_xml_oai_dc_relation
FAILED tests/sps/formats/test_oai_dc_agris.py::TestPipelineOaiDcAgris::test_xml_oai_dc_agris_title_pipe_without_title
Sugestão
- Item 1: criar o módulo
docx_utils.py com as funções esperadas pelo teste (get_first_section, etc.) ou remover/atualizar o teste se a funcionalidade foi movida/removida.
- Item 2: atualizar a string esperada no teste para refletir a mensagem atual, ou ajustar
xml_oai_dc_agris_title_pipe para preservar a mensagem original (decidir qual é o comportamento desejado).
- Item 3: revisar se a fixture do teste deve usar uma estrutura SPS válida (related-article dentro de
body/back) ou se RelatedItems/xml_oai_dc_relation precisam ser ajustados para cobrir related-article no nível do artigo.
Contexto
Identificado durante revisão/execução da suíte tests/sps/formats (conversores de formato).
Descrição
Durante a execução de
tests/sps/formats, foram identificados testes que estão desatualizados em relação ao código atual (não relacionados aos bugs funcionais já reportados separadamente).1. Módulo inexistente:
packtools.sps.formats.pdf.utils.docx_utilstests/sps/formats/pdf/utils/test_docx_utils.pyfaz:mas
packtools/sps/formats/pdf/utils/contém apenasfile_utils.py,request_utils.pyexml_utils.py. Esse módulodocx_utilsnão existe, causando erro de coleção:Isso interrompe a coleção de toda a suíte
tests/sps/formatsquando rodada sem--ignore.2. Mensagem de exceção desatualizada em
test_oai_dc_agris.pytest_xml_oai_dc_agris_title_pipe_without_titleespera:mas a implementação atual de
xml_oai_dc_agris_title_pipelevanta:A lógica interna mudou (de
.strip()para acesso por índice/chave) e a mensagem esperada no teste não foi atualizada.3.
test_xml_oai_dc_relationnão encontra<related-article>filho direto de<article>test_xml_oai_dc.py::TestPipelineOaiDc::test_xml_oai_dc_relationusa um XML de fixture com<related-article>como filho direto de<article>(fora defront/body/back/sub-article). A funçãoxml_oai_dc_relationusaRelatedItems(xml_tree).related_articles(modelo deprecated empacktools/sps/models/related_articles.py), que itera viaget_parent_context, e não retorna nada para esse XML — resultando em<metadata/>vazio em vez do<dc:relation>esperado.Não está claro se o problema é:
front-stub/body/back), ouRelatedItemster uma lacuna de cobertura quexml_oai_dc_relationainda depende.Como reproduzir
Sugestão
docx_utils.pycom as funções esperadas pelo teste (get_first_section, etc.) ou remover/atualizar o teste se a funcionalidade foi movida/removida.xml_oai_dc_agris_title_pipepara preservar a mensagem original (decidir qual é o comportamento desejado).body/back) ou seRelatedItems/xml_oai_dc_relationprecisam ser ajustados para cobrir related-article no nível do artigo.Contexto
Identificado durante revisão/execução da suíte
tests/sps/formats(conversores de formato).