Пример #1
0
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}"
Пример #2
0
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