def test_expirado(): """Revisar si el TA se encuentra vencido.""" wsaa = WSAA() #checking for expired certificate script_dir = os.path.dirname(__file__) file_path = os.path.join(script_dir, 'xml/expired_ta.xml') chk = wsaa.AnalizarXml(xml=open(file_path, "r").read()) chk2 = wsaa.Expirado() #checking for a valid certificate,i.e. which will #have expiration time 12 hrs(43200 secs) from generation fec = str(date("c", date("U") + 43200)) chk3 = wsaa.Expirado(fecha=fec) assert chk == True assert chk2 == True assert chk3 == False
def Autenticar(self, *args, **kwargs): if 'service' in kwargs: service = kwargs['service'] else: service = 'wsfecred' wsaa = WSAA() archivo = ubicacion_sistema() + service + '-ta.xml' try: file = open(archivo, "r") ta = file.read() file.close() except: ta = '' if ta == '': #si no existe el archivo se solicita un ticket solicitar = True else: ok = wsaa.AnalizarXml(ta) expiracion = wsaa.ObtenerTagXml("expirationTime") solicitar = wsaa.Expirado( expiracion) #si el ticket esta vencido se solicita uno nuevo logging.info( "Fecha expiracion de ticket acceso {}".format(expiracion)) if solicitar: #Generar un Ticket de Requerimiento de Acceso(TRA) tra = wsaa.CreateTRA(service=service) #Generar el mensaje firmado(CMS) if LeerIni(clave='h**o') == 'S': #homologacion cms = wsaa.SignTRA( tra, LeerIni(clave="cert_homo", key="WSAA"), LeerIni(clave="privatekey_homo", key="WSAA")) ok = wsaa.Conectar("", LeerIni(clave='url_homo', key='WSAA')) # Homologación else: cms = wsaa.SignTRA( tra, LeerIni(clave="cert_prod", key="WSAA"), LeerIni(clave="privatekey_prod", key="WSAA")) ok = wsaa.Conectar("", LeerIni(clave='url_prod', key='WSAA')) #Produccion #Llamar al web service para autenticar ta = wsaa.LoginCMS(cms) #Grabo el ticket de acceso para poder reutilizarlo file = open(archivo, 'w') logging.debug('Ticket de acceso {}'.format(ta)) file.write(ta) file.close() # devuelvo el ticket de acceso #print "Ticket acceso: {}".format(ta) return ta