Beispiel #1
0
def get_passaro(passaro_id: str):
    pas = Passaro(connection)
    try:
        p = pas.acha(passaro_id.lower())
        return {"tag": p[0], "especie": p[1], "nome_pop": p[2]}
    except Exception as e:
        return {"error": "Não foi possivel adicionar passaro"}
Beispiel #2
0
def post_passaro(item: passaroObj):
    pas = Passaro(connection)
    try:
        pas.adiciona(item.tag.lower(), item.especie, item.nome_pop)
    except Exception as e:
        return {"error": "Não foi possivel adicionar passaro"}
    return {}
Beispiel #3
0
def delete_passaro(passaro_id: str):
    pas = Passaro(connection)
    try:
        pas.remove(passaro_id.lower())
        return {}
    except Exception as e:
        return {"error": "Não foi possivel adicionar passaro"}
Beispiel #4
0
    def test_usuario_remove_preferencia_passaro(self):
        conn = self.__class__.connection
        pas = Passaro(conn)
        cid = Cidade(conn)
        user = Usuario(conn)

        # Pega todas as cidades
        cids = cid.lista()
        oldPas = ('Bentivinus Bolotoide', 'Bem-te-vi', 'Passarinho')
        oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0])

        oldPref = (oldUser[0], oldPas[0])

        user.adiciona(*oldUser)
        res = user.acha(oldUser[0])
        self.assertSequenceEqual(res, oldUser)

        pas.adiciona(*oldPas)
        res = pas.lista()
        self.assertCountEqual(res, (oldPas, ))

        res = user.lista_pref(oldUser[0])
        self.assertFalse(res)

        user.adiciona_pref(*oldPref)
        res = user.lista_pref(oldUser[0])
        self.assertIsNotNone(res)
        self.assertSequenceEqual(res, (oldPref, ))
Beispiel #5
0
    def test_lista_passaros(self):
        conn = self.__class__.connection
        pas = Passaro(conn)
        allPas = [('Bentivinus Bolotoide', 'Bem-não-te-viu', 'Passarinho'),
                  ('Quero Queroides', 'QueroQuerQuero', 'Monstrinho')]
        # Verifica que ainda não tem pássaros no sistema.
        res = pas.lista()
        self.assertFalse(res)

        # Adiciona alguns perigos.
        passaros_id = []
        for p in allPas:
            pas.adiciona(*p)
            passaros_id.append(pas.acha(p[0]))

        # Verifica se os perigos foram adicionados corretamente.
        res = pas.lista()
        self.assertCountEqual(res, passaros_id)

        # Remove os perigos.
        for p in passaros_id:
            pas.remove(p[0])

        # Verifica que todos os perigos foram removidos.
        res = pas.lista()
        self.assertFalse(res)
Beispiel #6
0
def get_passaro():
    pas = Passaro(connection)
    passaros = pas.lista()
    if passaros:
        return [{
            "tag": p[0],
            "especie": p[1],
            "nome_pop": p[2]
        } for p in passaros]
    return {}
Beispiel #7
0
    def test_remove_usu_tags(self):  # removendo usuario tag é remomvida
        conn = self.__class__.connection
        pst = Post(conn)
        cid = Cidade(conn)
        user = Usuario(conn)
        pas = Passaro(conn)

        # Pega todas as cidades
        cids = cid.lista()

        oldPst = ('Um novo passaro',
                  'Encontrei um passaro novo na minha caminhada @juju #sabiá',
                  'https://passarito.com')
        oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0])

        oldUserju = ('juju', "*****@*****.**", "Julia Pessoa", cids[0][0])

        oldPas = ('sabia', 'saiazito sabioluns', 'sabii')

        user.adiciona(*oldUser)
        user.adiciona(*oldUserju)
        res = user.acha(oldUser[0])
        resju = user.acha(oldUserju[0])
        self.assertSequenceEqual(res, oldUser)
        self.assertSequenceEqual(resju, oldUserju)
        pas.adiciona(*oldPas)

        id = res[0]
        pst.adiciona(id, *oldPst)

        psts = pst.lista()
        self.assertTrue(any(elem in psts[0] for elem in oldPst))

        res = pst.acha_por_id(psts[0][0])
        self.assertSequenceEqual(res, psts[0])

        idPost = psts[0][0]
        dici_tags = pst.parser_post(oldPst[1])

        pst.cria_tags(dici_tags, idPost)

        tagpas = pst.lista_tags_passaro()
        self.assertTrue(any(elem in tagpas[0] for elem in dici_tags['#']))
        tagusu = pst.lista_tags_usuario()
        self.assertTrue(any(elem in tagusu[0] for elem in dici_tags['@']))

        user.remove(id)
        res = pst.lista()
        self.assertIsNone(res)
        tagsU = pst.acha_tags_por_PK_usuario(idPost)
        self.assertIsNone(tagsU)
        tagsP = pst.acha_tags_por_PK_passaro(idPost)
        self.assertIsNone(tagsP)
Beispiel #8
0
    def test_update_passaro(self):
        newPas = ('Bentivinus Bolotoide', 'Bem-não-te-viu', 'Passarinho')
        oldPas = ('Bentivinus Bolotoide', 'Bem-te-vi', 'Passarinho')
        conn = self.__class__.connection
        pas = Passaro(conn)

        pas.adiciona(*oldPas)
        pas.atualiza(*newPas)
        res = pas.lista()

        self.assertSequenceEqual(res, (newPas, ))

        pas.remove('Bentivinus Bolotoide')

        res = pas.lista()
        self.assertFalse(res)
Beispiel #9
0
    def test_url_tag_ref_usr(self):
        conn = self.__class__.connection
        pst = Post(conn)
        cid = Cidade(conn)
        user = Usuario(conn)
        pas = Passaro(conn)
        busca = Busca(conn)

        # Pega todas as cidades
        cids = cid.lista()

        oldPst = ('Um novo passaro',
                  'Encontrei um passaro novo na minha caminhada @juju #sabia',
                  'https://passarito.com')
        oldPas = ('sabia', 'saiazito sabioluns', 'sabii')
        oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0])

        oldUserju = ('juju', "*****@*****.**", "Julia Pessoa", cids[0][0])

        user.adiciona(*oldUser)
        user.adiciona(*oldUserju)
        res = user.acha(oldUser[0])
        resju = user.acha(oldUserju[0])
        pas.adiciona(*oldPas)

        id = res[0]
        pst.adiciona(id, *oldPst)

        psts = pst.lista()
        self.assertTrue(any(elem in psts[0] for elem in oldPst))

        res = pst.acha_por_id(psts[0][0])
        self.assertSequenceEqual(res, psts[0])

        idPost = psts[0][0]
        dici_tags = pst.parser_post(oldPst[1])

        pst.cria_tags(dici_tags, idPost)
        bus = busca.url_passaro()[0]
        self.assertIsNotNone(bus)
        self.assertSequenceEqual((oldPas[0], oldPst[-1]), bus)

        # Teste Ref
        self.assertIsNone(busca.ref_usuario(oldUser[0]))
        self.assertEqual(busca.ref_usuario(oldUserju[0])[0][0], oldUser[0])
Beispiel #10
0
    def test_remove_passaro(self):
        oldPas = ('Bentivinus Bolotoide', 'Bem-te-vi', 'Passarinho')
        conn = self.__class__.connection
        pas = Passaro(conn)

        pas.adiciona(*oldPas)

        id = pas.acha(oldPas[0])

        res = pas.lista()
        self.assertCountEqual(res, (id, ))

        pas.remove(oldPas[0])

        res = pas.lista()
        self.assertFalse(res)
Beispiel #11
0
    def test_adiciona_reacao(self):
        conn = self.__class__.connection

        joi = Joinha(conn)
        pst = Post(conn)
        cid = Cidade(conn)
        user = Usuario(conn)
        pas = Passaro(conn)

        # Pega todas as cidades
        cids = cid.lista()

        oldPst = ('Um novo passaro',
                  'Encontrei um passaro novo na minha caminhada @juju #sabia',
                  'https://passarito.com')
        oldPas = ('sabia', 'saiazito sabioluns', 'sabii')
        oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0])

        oldUserju = ('juju', "*****@*****.**", "Julia Pessoa", cids[0][0])

        user.adiciona(*oldUser)
        res = user.lista()
        id = res[0][0]
        pas.adiciona(*oldPas)
        pst.adiciona(id, *oldPst)

        user.adiciona(*oldUserju)
        idJu = user.acha(oldUserju[0])[0]

        psts = pst.lista()
        res = pst.acha_por_id(psts[0][0])
        idPost = psts[0][0]
        dici_tags = pst.parser_post(oldPst[1])
        pst.cria_tags(dici_tags, idPost)

        joi.adiciona(idJu, idPost, 0)
        reac = joi.acha_reacao(idJu, idPost)[0]

        self.assertIsNotNone(reac)
        self.assertEqual(reac[0], 0)
Beispiel #12
0
    def test_adiciona_passaro(self):
        oldPas = ('Bentivinus Bolotoide', 'Bem-te-vi', 'Passarinho')
        conn = self.__class__.connection
        pas = Passaro(conn)

        pas.adiciona(*oldPas)

        # tenta adicionar duas vezes o passaro
        try:
            pas.adiciona(*oldPas)
            self.fail('Nao deveria ter adicionado o mesmo passaro duas vezes.')
        except ValueError as e:
            pass

        id = pas.acha(oldPas[0])
        self.assertIsNotNone(id)

        # Tenta achar um perigo inexistente.
        id = pas.acha('Bentivinus NonExistum')
        self.assertIsNone(id)
Beispiel #13
0
    def test_busca_mais_pop(self):
        conn = self.__class__.connection
        pst = Post(conn)
        cid = Cidade(conn)
        user = Usuario(conn)
        pas = Passaro(conn)
        aces = Acesso(conn)
        vis = Visualizacao(conn)
        busca = Busca(conn)

        # Pega todas as cidades
        cids = cid.lista()

        oldPst = ('Um novo passaro',
                  'Encontrei um passaro novo na minha caminhada @juju #sabia',
                  'https://passarito.com')
        oldPas = ('sabia', 'saiazito sabioluns', 'sabii')
        oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0])

        oldUserju = ('juju', "*****@*****.**", "Julia Pessoa", cids[0][0])

        user.adiciona(*oldUser)
        user.adiciona(*oldUserju)
        id = oldUser[0]

        idJu = oldUserju[0]
        pst.adiciona(id, *oldPst)
        pst.adiciona(idJu, *oldPst)

        psts = pst.lista()
        res = pst.acha_por_id(psts[0][0])

        aces.adiciona('127.0.0.1', 'Chrome', 'Android')
        res = aces.lista()
        idAcesso = res[0][0]

        oldVis = [(idAcesso, psts[0][0], idJu), (idAcesso, psts[0][0], idJu),
                  (idAcesso, psts[0][0], idJu), (idAcesso, psts[1][0], id),
                  (idAcesso, psts[1][0], id)]

        for v in oldVis:
            vis.adiciona(*v)
            time.sleep(1)