Example #1
0
    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)
Example #2
0
    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)
Example #3
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, ))
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
def post_usuario(item: usuarioObj):
    usr = Usuario(connection)
    try:
        usr.adiciona(item.username, item.email, item.nome, item.idCidade)
    except Exception as e:
        print(e)
        return {"error": "Não foi possivel adicionar usuário"}
    return {}
Example #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)
Example #8
0
    def test_adiciona_busca(self):
        conn = self.__class__.connection
        pst = Post(conn)
        cid = Cidade(conn)
        user = Usuario(conn)
        vis = Visualizacao(conn)
        aces = Acesso(conn)
        busca = Busca(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])
        newUser = ('david_test', "*****@*****.**", "David Fogelman",
                   cids[0][0])

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

        idNew = newUser[0]
        pst.adiciona(id, *oldPst)
        psts = pst.lista()
        idPost = psts[0][0]

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

        oldVis = (idAcesso, idPost, idNew)
        vis.adiciona(*oldVis)
        time.sleep(2)
        newVis = (idAcesso, idPost, id)
        vis.adiciona(*newVis)
        time.sleep(1)
        vis.adiciona(*newVis)
        viss = vis.lista()
        self.assertTrue(any(elem in viss[0] for elem in oldVis))

        bus = busca.mais_visualizador()
        self.assertIsNotNone(bus)
        self.assertSequenceEqual(bus, (oldUser[0], 2))

        cru = busca.tabela_cruz()[0]
        self.assertIsNotNone(cru)
        self.assertSequenceEqual(cru, ('Android', 'Chrome', 1))
Example #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])
Example #10
0
    def test_adiciona_vizualizacao(self):
        conn = self.__class__.connection
        pst = Post(conn)
        cid = Cidade(conn)
        user = Usuario(conn)
        vis = Visualizacao(conn)
        aces = Acesso(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)
        id = oldUser[0]
        pst.adiciona(id, *oldPst)

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

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

        oldVis = (idAcesso, idPost, id)
        vis.adiciona(*oldVis)

        viss = vis.lista()
        self.assertTrue(any(elem in viss[0] for elem in oldVis))

        # DELETA POST
        pst.remove(idPost)
        res = pst.lista()
        self.assertFalse(res)

        # TESTA TRIGGER DE POST
        viss = vis.lista()
        self.assertFalse(viss)

        acess = aces.lista()
        self.assertFalse(acess)
Example #11
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)
Example #12
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)
Example #13
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])
Example #14
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)
Example #15
0
    def test_update_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])
        newUser = ('david', "*****@*****.**", "David Pasaro", cids[0][0])

        user.adiciona(*oldUser)
        user.muda_email(newUser[0], newUser[1])
        user.muda_nome(newUser[0], newUser[2])
        user.muda_cidade(newUser[0], newUser[3])
        res = user.lista()

        self.assertSequenceEqual(res, (newUser, ))

        user.remove(newUser[0])

        res = user.lista()
        self.assertFalse(res)
Example #16
0
    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)