def test_adiciona_usuario(self): conn = self.__class__.connection cid = Cidade(conn) user = Usuario(conn) # Pega todas as cidades cids = cid.lista() oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0]) user.adiciona(*oldUser) # tenta adicionar duas vezes o passaro try: user.adiciona(*oldUser) self.fail('Nao deveria ter adicionado o mesmo passaro duas vezes.') except ValueError as e: pass id = user.acha(oldUser[0]) self.assertIsNotNone(id) # Tenta achar um perigo inexistente. id = user.acha('Usuarium NonExistum') self.assertIsNone(id)
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_remove_post(self): conn = self.__class__.connection pst = Post(conn) cid = Cidade(conn) user = Usuario(conn) # Pega todas as cidades cids = cid.lista() oldPst = ('Um novo passaro', 'Encontrei um passaro novo na minha caminhada', 'https://passarito.com') oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0]) user.adiciona(*oldUser) res = user.acha(oldUser[0]) id = res[0] pst.adiciona(id, *oldPst) res = pst.lista() idPost = res[0][0] pst.remove(idPost) res = pst.lista() self.assertIsNone(res)
def test_adiciona_post(self): conn = self.__class__.connection pst = Post(conn) cid = Cidade(conn) user = Usuario(conn) # Pega todas as cidades cids = cid.lista() oldPst = ('Um novo passaro', 'Encontrei um passaro novo na minha caminhada', 'https://passarito.com') oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0]) user.adiciona(*oldUser) res = user.acha(oldUser[0]) self.assertSequenceEqual(res, oldUser) 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] pst.remove(idPost) res = pst.lista() self.assertFalse(res)
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_usuarios(self): conn = self.__class__.connection cid = Cidade(conn) user = Usuario(conn) # Pega todas as cidades cids = cid.lista() allUsers = [ ('david', "*****@*****.**", "David Fogelman", cids[0][0]), ('david alias', "*****@*****.**", "David Pasaro", cids[0][0]) ] # Verifica que ainda não tem pássaros no sistema. res = user.lista() self.assertFalse(res) # Adiciona alguns perigos. users_id = [] for u in allUsers: user.adiciona(*u) users_id.append(user.acha(u[0])) # Verifica se os perigos foram adicionados corretamente. res = user.lista() self.assertCountEqual(res, (users_id)) # Remove os perigos. for u in users_id: user.remove(u[0]) # Verifica que todos os perigos foram removidos. res = user.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 get_id_usuario(usuario_id: str): usr = Usuario(connection) try: u = usr.acha(usuario_id) return { "username": u[0], "email": u[1], "nome": u[2], "idCidade": u[3] } except Exception as e: return {"error": "Não foi possivel listar usuarios"}
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_lista_posts(self): conn = self.__class__.connection pst = Post(conn) cid = Cidade(conn) user = Usuario(conn) busca = Busca(conn) # Pega todas as cidades cids = cid.lista() psts = [ ('Um novo passaro', 'Encontrei um passaro novo na minha caminhada', 'https://passarito.com'), ('Um novo passaro inédito', 'Encontrei um pássaro inédito no meu cooper matinal', 'https://pterodactilo.com') ] oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0]) user.adiciona(*oldUser) res = user.acha(oldUser[0]) id = res[0] for p in psts: pst.adiciona(id, *p) time.sleep(1) res = pst.lista() posts_id = [p[0] for p in res] self.assertEqual(len(posts_id), len(psts)) for p in posts_id: pst.remove(p) # Verifica que todos os perigos foram removidos. res = pst.lista() self.assertFalse(res) self.assertIsNotNone(busca.cron_rev(id)) # Teste de ordem reversa self.assertEqual(busca.cron_rev(id)[0][1], psts[1][0])
def test_update_post(self): conn = self.__class__.connection pst = Post(conn) cid = Cidade(conn) user = Usuario(conn) # Pega todas as cidades cids = cid.lista() oldPst = ('Um novo passaro', 'Encontrei um passaro novo na minha caminhada', 'https://passarito.com') newPst = ('Um novo passaro inédito', 'Encontrei um pássaro inédito no meu cooper matinal', 'https://pterodactilo.com') oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0]) user.adiciona(*oldUser) res = user.acha(oldUser[0]) id = res[0] pst.adiciona(id, *oldPst) psts = pst.lista() idPost = psts[0][0] pst.muda_titulo(idPost, newPst[0]) pst.muda_texto(idPost, newPst[1]) pst.muda_foto(idPost, newPst[2]) res = pst.acha_por_id(idPost) self.assertTrue(any(elem in res for elem in newPst)) res = pst.lista() pst.remove(idPost) res = pst.lista() self.assertIsNone(res)
def test_remove_usuario(self): conn = self.__class__.connection cid = Cidade(conn) user = Usuario(conn) # Pega todas as cidades cids = cid.lista() oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0]) user.adiciona(*oldUser) id = user.acha(oldUser[0]) self.assertIsNotNone(id) # Tenta achar um perigo inexistente. res = user.lista() self.assertCountEqual(res, (id, )) user.remove(oldUser[0]) res = user.lista() self.assertFalse(res)