コード例 #1
0
def test_listar_usuario(sessao):
    usuarios = [
        Usuario(nome='Ernani', email='*****@*****.**'),
        Usuario(nome='Rose', email='*****@*****.**')
    ]
    for usuario in usuarios:
        sessao.salvar(usuario)
    assert usuarios == sessao.listar()
コード例 #2
0
    def get_usuario_segun_nombre_usuario(username) -> dict:
        usuario = {}
        access_token = get_access_token()

        # Más información sobre los datos recibidos en
        # https://developer.twitter.com/en/docs/twitter-api/users/lookup/api-reference/get-users-by-username-username
        respuesta = requests.get(
            '{}/2/users/by/username/{}?user.fields=created_at,description,entities,id,location,name,public_metrics,url,username'
            .format(os.getenv('API_TWITTER_URL'), username),
            headers={'Authorization': 'Bearer {}'.format(access_token)})
        # Ejemplo del campo 'data'
        # {
        #     'id': '197103453',
        #     'username': '******',
        #     'name': 'Sergi del Moral',
        #     'public_metrics': {
        #         'followers_count': 6850, 'following_count': 1060, 'tweet_count': 17391, 'listed_count': 218
        #         }
        # }
        data = HttpResponse.get_campo_data(respuesta)
        usuario = Usuario(data['id'], data['username'], data['name'],
                          data['public_metrics']['followers_count'],
                          data['public_metrics']['following_count'],
                          data['description'], data['url'], data['location'])
        return usuario.__dict__
コード例 #3
0
def test_parametros_de_spam(sessao):
    usuario = Usuario(nome='Ernani', email='*****@*****.**')
    sessao.salvar(usuario)
    enviador = Mock()
    enviador_de_spam = EnviadorDeSpam(sessao, enviador)
    enviador_de_spam.enviar_emails('*****@*****.**',
                                   'Teste envio de spam do PythonPro',
                                   'Se recebeu, funciona!!')
    enviador.enviar.assert_called_once_with(
        '*****@*****.**', '*****@*****.**',
        'Teste envio de spam do PythonPro', 'Se recebeu, funciona!!')
コード例 #4
0
    def AltaSecretaria(self):
        user=Usuario(usuario=str(self.request.get('usuario')).upper(),
                    password=str(self.request.get('password')).upper())
	doctores=self.request.get('doctores')
        secre=Secretaria()
        secre.usuario=user.put()
        nombre=self.request.get('nombre')#str(self.request.get('nombre')).upper()
	secre.nombre = nombre
	paterno=self.request.get('paterno')
        secre.paterno = paterno
	materno=self.request.get('materno')
        secre.materno = materno
	telefono=self.request.get('telefono')
	secre.telefono= telefono
	celular=self.request.get('celular')
	secre.celular= celular
	direccion=self.request.get('direccion')
	secre.direccion= direccion
        secre.put()
	self.AltaRelaciones(doctores,user.usuario)
        return False
コード例 #5
0
    def get_perfiles_usuarios_segun_nombre_usuario(nombres_usuarios) -> list:
        if type(nombres_usuarios) != list or len(nombres_usuarios) == 0:
            raise ValueError(
                'Argumento nombre_usuarios={} es incorrecto'.format(
                    nombres_usuarios))

        usuarios = []

        access_token = get_access_token()

        # Si hay más de 100 usuarios, haremos grupos de 100 debido a que la API de Twitter
        # no premite ,ás de 100 usuarios por request.
        # Arrondeamos el número, eg: si 175/100=1.75, se convierte en 2 veces; si 65/100=0.65, se convierte en 1 vez.
        veces_numero_cien = math.ceil(len(nombres_usuarios) / 100)
        inici = 0
        final = 100
        for _ in range(veces_numero_cien):
            nombres_usuarios_agrupados = ','.join(
                nombres_usuarios[inici:final])
            inici += 100
            final += 100

            # Más información sobre los datos recibidos en
            # https://developer.twitter.com/en/docs/twitter-api/users/lookup/api-reference/get-users-by-username-username
            respuesta = requests.get(
                '{}/2/users/by?usernames={}&user.fields=created_at,description,entities,id,location,name,public_metrics,url,username'
                .format(os.getenv('API_TWITTER_URL'),
                        nombres_usuarios_agrupados),
                headers={'Authorization': 'Bearer {}'.format(access_token)})
            # Ejemplo de los datos
            # [{
            #     'id': '197103453',
            #     'username': '******',
            #     'name': 'Sergi del Moral',
            #     'public_metrics': {
            #         'followers_count': 6850, 'following_count': 1060, 'tweet_count': 17391, 'listed_count': 218
            #         }
            # }]
            data = HttpResponse.get_campo_data(respuesta)

            for usuario in data:
                usuario = Usuario(usuario['id'], usuario['username'],
                                  usuario['name'],
                                  usuario['public_metrics']['followers_count'],
                                  usuario['public_metrics']['following_count'],
                                  usuario['description'], usuario['url'],
                                  usuario['location'])
                usuarios.append(usuario.__dict__)

        return usuarios
コード例 #6
0
    def AltaPaciente(self):
        user=Usuario(usuario=str(self.request.get('usuario')).upper(),
                    password=str(self.request.get('password')).upper())
        paciente=Paciente()
        paciente.usuario=user.put()
	nombre=str(self.request.get('nombre')).upper()
        paciente.nombre = nombre
	paterno=self.request.get('paterno')#lo grabo en variables para evitar problemas con el encodig
	paciente.paterno = paterno
	materno=self.request.get('materno');
	paciente.materno =  materno
	paciente.fecha_nacimiento = self.request.get('fecha_nacimiento')
	paciente.estatura =float(self.request.get('estatura'))
	paciente.correo=self.request.get('correo')
	paciente.peso = float(self.request.get('peso'))
        paciente.telefono = self.request.get('telefono')
        paciente.celular = self.request.get('celular')
        paciente.direccion = self.request.get('direccion')
        paciente.put()
        relacion=GraboRelaciones()
        dr=self.request.get('dr')
        relacion.Grabar(dr,user.usuario)
        return False
コード例 #7
0
 def test_GraboRelacion(self):
     usuario=Usuario()
     usuario.usuario="secretaria2".upper()
     usuario.password="******"
     usuario.correo="*****@*****.**"
     usuario.put()
     secretaria=Secretaria()
     secretaria.usuario=usuario
     secretaria.nombre="secretaria2"
     secretaria.paterno="perez"
     secretaria.materno="de la o"
     secretaria.telefono="7507070"
     secretaria.celular="6679949494"
     secretaria.direccion="la calle street #461 col. buenavista"
     secretaria.put()
     inst=GraboRelaciones()
     relacion=inst.Grabar("pruebadr".upper(),"secretaria2".upper())
     self.assertEqual(relacion,True)
コード例 #8
0
 def test_GraboRelacionFormaSecretaria(self):
     usuario=Usuario()
     usuario.usuario="secretaria2".upper()
     usuario.password="******"
     usuario.correo="*****@*****.**"
     usuario.put()
     secretaria=Secretaria()
     secretaria.usuario=usuario
     secretaria.nombre="secretaria2"
     secretaria.paterno="perez"
     secretaria.materno="de la o"
     secretaria.telefono="7507070"
     secretaria.celular="6679949494"
     secretaria.direccion="la calle street #461 col. buenavista"
     secretaria.put()
     from ajax.grabosecretaria import GraboSecretaria
     grabsec=GraboSecretaria()
     grabsec.AltaRelaciones("pruebadr|".upper(),"secretaria2".upper())
     inst=GraboRelaciones()
     instanciaDr=ValidoDoctor()
     doctor=instanciaDr.instanciaDoctor("pruebadr".upper())
     relacion=inst.ExisteRelacion(doctor,usuario)
     self.assertEqual(relacion,True)        
コード例 #9
0
def test_salvar_usuario(sessao):
    usuario = Usuario(nome='Ernani', email='*****@*****.**')
    sessao.salvar(usuario)
    assert isinstance(usuario.id, int)
コード例 #10
0
def CreoUsuarios():
    """Creo un usuario Paciente -prueba- y uno Dr. -pruebadr- para lo que se ofrezca"""
    #alta paciente
    usuario=Usuario()
    usuario.usuario="prueba".upper()
    usuario.password="******"
    usuario.correo="*****@*****.**"
    usuario.put()
    paciente=Paciente()
    paciente.usuario=usuario
    paciente.nombre="paciente"
    paciente.paterno="PacientePaterno"
    paciente.materno="MaternoPaciente"
    paciente.fecha_nacimiento="12/03/1980"
    paciente.estatura=1.72
    paciente.peso=float(82)
    paciente.correo="*****@*****.**"
    paciente.put()
    
    #alta doctor
    usuario=Usuario()
    usuario.usuario="pruebadr".upper()
    usuario.password="******"
    usuario.correo="*****@*****.**"
    usuario.put()
    doctor=Doctor()
    doctor.usuario=usuario
    doctor.nombre="dr"
    doctor.paterno="drPaterno"
    doctor.materno="drPaciente"
    doctor.fecha_nacimiento="12/03/1980"
    doctor.estatura=1.72
    doctor.peso=float(82)
    doctor.correo="*****@*****.**"
    doctor.put()
    
    #alta secretaria
    usuario=Usuario()
    usuario.usuario="secretaria".upper()
    usuario.password="******"
    usuario.correo="*****@*****.**"
    usuario.put()
    secretaria=Secretaria()
    secretaria.usuario=usuario
    secretaria.nombre="secretaria"
    secretaria.paterno="perez"
    secretaria.materno="de la o"
    secretaria.telefono="7507070"
    secretaria.celular="6679949494"
    secretaria.direccion="la calle street #461 col. buenavista"
    secretaria.put()
    return False
コード例 #11
0
from unittest import mock
from unittest.mock import Mock

import pytest

from main import EnviadorDeSpam
from modelos import Usuario
from spam.enviador_de_email import Enviador


@pytest.mark.parametrize("usuarios", [[
    Usuario(nome='Ernani', email='*****@*****.**'),
    Usuario(nome='Rose', email='*****@*****.**')
], [Usuario(nome='Ernani', email='*****@*****.**')]])
def test_quantidade_de_spam(sessao, usuarios):
    for usuario in usuarios:
        sessao.salvar(usuario)
    enviador = Mock()
    enviador_de_spam = EnviadorDeSpam(sessao, enviador)
    enviador_de_spam.enviar_emails('*****@*****.**',
                                   'Teste envio de spam do PythonPro',
                                   'Se recebeu, funciona!!')
    assert len(usuarios) == enviador.enviar.call_count


def test_parametros_de_spam(sessao):
    usuario = Usuario(nome='Ernani', email='*****@*****.**')
    sessao.salvar(usuario)
    enviador = Mock()
    enviador_de_spam = EnviadorDeSpam(sessao, enviador)
    enviador_de_spam.enviar_emails('*****@*****.**',
コード例 #12
0
 def AgregoUsuario(self):
     user=Usuario(usuario='prueba',password='******')
     user.put()
コード例 #13
0
 def post(self):
     user=Usuario(usuario=str(self.request.get('usuario')).upper(),
                  password=str(self.request.get('password')).upper())
     user.put()
     return False