def test_lista_todos_joinha_por_id_post(self): conn = self.__class__.connection adiciona_post(conn, 1, "titulo", "texto", "url_imagem") with conn.cursor() as cursor: cursor.execute('SELECT LAST_INSERT_ID()') id_post = cursor.fetchone()[0] id_usuario = 1 adiciona_pro_joinha(conn, id_post, id_usuario) try: adiciona_pro_joinha(conn, id_post, id_usuario) self.fail('Nao deveria ter adicionado joinha duas vezes.') except ValueError as e: pass res = lista_todos_joinha_por_id_post(conn, id_post) res_esperado = [(id_post, id_usuario, 1)] self.assertCountEqual(res, res_esperado) remove_joinha(conn, id_post, id_usuario) res2 = lista_todos_joinha_por_id_post(conn, id_post) self.assertIsNone(res2)
def test_lista_visualizacao_por_id_post(self): conn = self.__class__.connection adiciona_post(conn, 1, "titulo", "texto", "url_imagem") agr = datetime.datetime.now().replace(microsecond=0) with conn.cursor() as cursor: cursor.execute('SELECT LAST_INSERT_ID()') id_post = cursor.fetchone()[0] adiciona_post(conn, 2, "titulo", "texto", "url_imagem") agr2 = datetime.datetime.now().replace(microsecond=0) with conn.cursor() as cursor: cursor.execute('SELECT LAST_INSERT_ID()') id_post2 = cursor.fetchone()[0] id_usuario = 2 aparelho = 'iphone6' ip = '0.0.0.0' browser = 'chrome' adiciona_visualizacao(conn, id_post, id_usuario, aparelho, ip, browser) id_usuario2 = 1 aparelho2 = 'iphone5' ip2 = '0.0.0.1' res_esperado = [id_post, 2, 'iphone6', '0.0.0.0', agr, browser] adiciona_visualizacao(conn, id_post2, id_usuario2, aparelho2, ip2, browser) res = lista_visualizacao_por_id_post(conn, id_post) self.assertCountEqual(res[0], res_esperado)
def test_adiciona_visualizacao(self): conn = self.__class__.connection adiciona_post(conn, 1, "titulo", "texto", "url_imagem") agr = datetime.datetime.now().replace(microsecond=0) with conn.cursor() as cursor: cursor.execute('SELECT * FROM post') id_post = cursor.fetchone()[0] id_usuario = 2 aparelho = 'iphone6' ip = '0.0.0.0' browser = 'chrome' res_esperado = [id_post, 2, 'iphone6', '0.0.0.0', agr, browser] adiciona_visualizacao(conn, id_post, id_usuario, aparelho, ip, browser) try: adiciona_visualizacao(conn, id_post, id_usuario, aparelho, ip, browser) self.fail( 'Nao deveria ter adicionado a mesma preferencia duas vezes.') except ValueError as e: pass res = lista_visualizacao_por_id_post(conn, id_post) self.assertCountEqual(res[0], res_esperado)
def test_remove_mencao_passaro(self): conn = self.__class__.connection adiciona_post(conn, 1, "titulo", "texto", "url_imagem") with conn.cursor() as cursor: cursor.execute('SELECT * FROM post') id_post = cursor.fetchone()[0] adiciona_mencao_passaro(conn, id_post, "tucano") remove_mencao_passaro(conn, id_post, "tucano") res = lista_mencao_passaro_por_id_post(conn, id_post) self.assertIsNone(res)
def test_lista_mencao_passaro_por_especie(self): conn = self.__class__.connection adiciona_post(conn, 1, "titulo", "texto", "url_imagem") with conn.cursor() as cursor: cursor.execute('SELECT * FROM post') id_post = cursor.fetchone()[0] especie = "tucano" adiciona_mencao_passaro(conn, id_post, especie) res1 = lista_mencao_passaro_por_especie(conn, "tucano") res1_esperado = [id_post] res2 = lista_mencao_passaro_por_especie(conn, "canario") self.assertCountEqual(res1, res1_esperado) self.assertIsNone(res2)
def test_remove_visualizacao(self): conn = self.__class__.connection adiciona_post(conn, 1, "titulo", "texto", "url_imagem") agr = datetime.datetime.now().replace(microsecond=0) with conn.cursor() as cursor: cursor.execute('SELECT LAST_INSERT_ID()') id_post = cursor.fetchone()[0] id_usuario = 2 aparelho = 'iphone6' ip = '0.0.0.0' browser = 'chrome' adiciona_visualizacao(conn, id_post, id_usuario, aparelho, ip, browser) remove_visualizacao(conn, id_post, id_usuario) res = lista_visualizacao_por_id_post(conn, id_post) self.assertIsNone(res)
def test_lista_mencao_passaro_por_id_post(self): conn = self.__class__.connection adiciona_post(conn, 1, "titulo", "texto", "url_imagem") with conn.cursor() as cursor: cursor.execute('SELECT * FROM post') id_post = cursor.fetchone()[0] adiciona_mencao_passaro(conn, id_post, "tucano") res = lista_mencao_passaro_por_id_post(conn, id_post) res_esperado = ["tucano"] self.assertCountEqual(res, res_esperado) adiciona_mencao_passaro(conn, id_post, "canario") res2 = lista_mencao_passaro_por_id_post(conn, id_post) res2_esperado = ["tucano", "canario"] self.assertCountEqual(res2, res2_esperado)
def test_adiciona_mencao_passaro(self): conn = self.__class__.connection adiciona_post(conn, 1, "titulo", "texto", "url_imagem") with conn.cursor() as cursor: cursor.execute('SELECT * FROM post') id_post = cursor.fetchone()[0] especie = "tucano" res_esperado = [id_post] adiciona_mencao_passaro(conn, id_post, especie) try: adiciona_mencao_passaro(conn, id_post, especie) self.fail('Nao deveria ter adicionado a mesma mencao duas vezes.') except ValueError as e: pass res = lista_mencao_passaro_por_especie(conn, especie) self.assertCountEqual(res, res_esperado)