#coding=utf-8
'''
Created on Jun 14, 2015
@author: danimar
'''
import unittest
import os, os.path
from pytrustnfe.servicos.assinatura import Assinatura
XML_ASSINAR = '' \
'' \
']>' \
'' \
' ' \
' Hello, World!' \
' ' \
''
XML_ERRADO = '' \
'' \
' ' \
' Hello, World!' \
' ' \
''
class test_assinatura(unittest.TestCase):
caminho = os.path.dirname(__file__)
def test_assinar_xml_arquivo_invalido(self):
assinatura = Assinatura(os.path.join(self.caminho, 'teste_nao_existe.pfx'), '123456')
self.assertRaises(Exception, assinatura.assina_xml, XML_ASSINAR)
def test_assinar_xml_senha_invalida(self):
assinatura = Assinatura(os.path.join(self.caminho,'teste.pfx'), '123')
self.assertRaises(Exception, assinatura.assina_xml, XML_ASSINAR)
def test_assinar_xml_invalido(self):
assinatura = Assinatura(os.path.join(self.caminho,'teste.pfx'), '123456')
self.assertRaises(RuntimeError, assinatura.assina_xml, XML_ERRADO)
def test_assinar_xml_valido(self):
assinatura = Assinatura(os.path.join(self.caminho,'teste.pfx'), '123456')
xml = assinatura.assina_xml(XML_ASSINAR)
xml_assinado = open(os.path.join(self.caminho, 'xml_assinado.xml'), 'r').read()
self.assertEqual(xml_assinado, xml, 'Xml assinado é inválido')