Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save mayribeirofernandes/529695af13f06be511028ffe9fed175c to your computer and use it in GitHub Desktop.

Select an option

Save mayribeirofernandes/529695af13f06be511028ffe9fed175c to your computer and use it in GitHub Desktop.
Verificação de 02 arquivos PDF via comparação do HASH
[...]
Confere HASHs dos documentos
[Arguments] ${PATH_PDF_GABARITO} ${PATH_PDF_RETORNADO} ${ID_DOC_REMOTO}
## Mantenho os PDFs originais em uma pasta temporária, caso o teste falhe eles
## serão publicados nos artefatos para verificação, caso contrário apagaremos eles
${PATH_ORIGINAL_GABARITO} Set Variable ${PATH_RESULTS}/DocsPDFComFalha/${TEST TAGS[0]}/${ID_DOC_REMOTO}_gabarito.pdf
${PATH_ORIGINAL_RETORNADO} Set Variable ${PATH_RESULTS}/DocsPDFComFalha/${TEST TAGS[0]}/${ID_DOC_REMOTO}_retornado.pdf
Copy File ${PATH_PDF_GABARITO} ${PATH_ORIGINAL_GABARITO}
Move File ${PATH_PDF_RETORNADO} ${PATH_ORIGINAL_RETORNADO}
## Crio as cópias que editarei para retirar o CreationDate e fazer a conferência dos HASHs
${PATH_RESULTS_GABARITO} Set Variable ${PATH_RESULTS}/${ID_DOC_REMOTO}_gabarito.pdf
${PATH_RESULTS_RETORNADO} Set Variable ${PATH_RESULTS}/${ID_DOC_REMOTO}_retornado.pdf
Copy File ${PATH_ORIGINAL_GABARITO} ${PATH_RESULTS_GABARITO}
Copy File ${PATH_ORIGINAL_RETORNADO} ${PATH_RESULTS_RETORNADO}
## Retiro o CreationDate do binário das cópias
Remove CreationDate do PDF ${PATH_RESULTS_GABARITO}
Remove CreationDate do PDF ${PATH_RESULTS_RETORNADO}
## Comparo os HASHs desses novos arquivos gerados sem o CreationDate
${HASH_PDF_GABARITO} Gerar Hash Arquivo ${PATH_RESULTS_GABARITO}
${HASH_PDF_RETORNADO} Gerar Hash Arquivo ${PATH_RESULTS_RETORNADO}
## Após obter os HASHs, excluo essas cópias modificadas
Remove File ${PATH_RESULTS_GABARITO}
Remove File ${PATH_RESULTS_RETORNADO}
${STATUS} Run Keyword And Return Status Compara HASHs dos documentos ${HASH_PDF_GABARITO} ${HASH_PDF_RETORNADO}
Run Keyword If ${STATUS} Remove File ${PATH_ORIGINAL_GABARITO}
Run Keyword If ${STATUS} Remove File ${PATH_ORIGINAL_RETORNADO}
Run Keyword If ${STATUS} Remove Directory ${PATH_RESULTS}/DocsPDFComFalha/${TEST TAGS[0]}
Run Keyword Unless ${STATUS} Fail msg=O arquivo PDF está com um conteúdo inesperado.\nVerifique os arquivos:\n${PATH_ORIGINAL_GABARITO}\nX\n${PATH_ORIGINAL_RETORNADO}
Compara HASHs dos documentos
[Arguments] ${HASH_ESPERADO} ${HASH_RETORNADO}
Log Hash PDF Gabarito:${HASH_ESPERADO}\nHash PDF Retornado:${HASH_RETORNADO}
Should Be Equal As Strings ${HASH_ESPERADO} ${HASH_RETORNADO}
Remove CreationDate do PDF
[Arguments] ${PATH_PDF}
${PDF} Get Binary File ${PATH_PDF}
##Essa conversão para string deixará os PDFs corrompidos. Mas,
##sem essa conversão para remoção do CreationDate, nunca os hashs seriam iguais.
${PDF} Convert To String ${PDF}
${PDF_PT01} Fetch From Left ${PDF} /CreationDate
${PDF_PT02} Fetch From Right ${PDF} Z)
Create Binary File ${PATH_PDF} ${PDF_PT01}${PDF_PT02}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment