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"}
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 {}
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"}
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, ))
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)
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 {}
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)
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)
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])
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)
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)
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)
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)