def test_raw_multi_queries(db: DB): sql = 'SELECT 1 as one; SELECT 2 as two; SELECT 3 as three' try: loop.run_until_complete(db.raw(sql)) except Exception as exc: assert False, f"'test_raw_multi_queries' raised an exception {exc}"
def test_insert_raw(db: DB): user_id = 29998 location = ''.join(random.choice(string.ascii_letters) for i in range(6)) # test inserRaw with a rather complex query sql = 'INSERT INTO boards ("user_id", "location") SELECT $1, $2 WHERE NOT EXISTS (SELECT "user_id" FROM boards WHERE "user_id" = $1)' loop.run_until_complete(db.raw(sql, user_id, location)) # insert it again that has no new row gets inserted loop.run_until_complete(db.raw(sql, user_id, location)) # verify that only 1 row was inserted rows = loop.run_until_complete( db.table('boards').select().where('user_id', user_id)) loop.run_until_complete( db.table('boards').where('user_id', user_id).delete()) assert len(rows) == 1 assert rows[0]['user_id'] == user_id assert rows[0]['location'] == location