def _func(dbconn, cursor):
     lib = t.Library.from_file(t.yaml("conn-queries"))
     conn = t.Connection(lib, dbconn)
     try:
         func(conn)
     finally:
         conn.close()
Beispiel #2
0
def test_defaults():
    lib = t.Library.from_file(t.yaml("defaults-set"))
    s = lib.get_query("test")
    t.eq(s.name, "test")
    t.eq(s.desc, None)
    t.eq(s.type, "query")
    t.eq(s.dbs.keys(), [None])
    t.eq(s.dbs[None].sql, "select * from actors;")
Beispiel #3
0
def test_basic():
    l = t.Library.from_file(t.yaml("basic"))
    s = l.get_query("test")
    t.eq(s.name, "test")
    t.eq(s.dbs[None].sql, "select 1 as a")
    t.eq(s.dbs["pgsql"].sql, 'select 1 as "a"')
    u = l.get_update("test2")
    t.eq(u.dbs[None].sql, "create table foo(a int);")
Beispiel #4
0
def test_merge():
    lib = t.Library.from_file(t.yaml("merge"))
    s = lib.get_query("test")
    t.eq(sorted(s.dbs.keys()), [None, "pgsql"])
    t.eq(s.dbs[None].sql, "select * from scenes;")
    t.eq(s.dbs["pgsql"].sql, "select * from scenes2;")
Beispiel #5
0
def test_multiple_dbs():
    lib = t.Library.from_file(t.yaml("multiple-dbs"))
    s = lib.get_query("yay")
    t.eq(sorted(s.dbs.keys()), ["pgsql", "sqlite"])
    t.eq(s.dbs["pgsql"], s.dbs["sqlite"])
Beispiel #6
0
def test_invalid_type():
    t.raises(ValueError, t.Library.from_file, t.yaml("error-type"))
Beispiel #7
0
def test_no_sql():
    try:
        t.Library.from_file(t.yaml("error-no-sql"))
    except t.IncompleteStatementError, inst:
        t.eq(inst.name, "sql")
Beispiel #8
0
def test_file_name():
    args = tuple([":memory:"])
    conn = t.sheba.connect(t.yaml("conn-queries"), driver='sqlite3', args=args)
    t.eq(isinstance(conn, t.Connection), True)
Beispiel #9
0
def test_no_queries_after_conn():
    fname = t.yaml("error-no-queries-after-conn")
    t.raises(ValueError, t.Library.from_file, fname)
Beispiel #10
0
def test_no_conn_info():
    lib = t.Library.from_file(t.yaml("conn-queries"))
    t.raises(KeyError, lib.get_conn_info, "razzle-dazzle")
Beispiel #11
0
def test_repeated_name():
    fname = t.yaml("error-repeated-conn-name")
    t.raises(ValueError, t.Library.from_file, fname)
Beispiel #12
0
def test_trailing_doc():
    # Assert doesn't raise
    t.Library.from_file(t.yaml("error-last-doc-empty"))
Beispiel #13
0
def test_alternate_conn_info():
    conn = t.sheba.connect(t.yaml("with-conn-info"), name="prod")
    t.eq(isinstance(conn, t.Connection), True)
Beispiel #14
0
def test_kwargs():
    kw = {"database": ":memory:"}
    conn = t.sheba.connect(t.yaml("conn-queries"), driver='sqlite3', kwargs=kw)
    t.eq(isinstance(conn, t.Connection), True)
Beispiel #15
0
def test_merge_desc():
    lib = t.Library.from_file(t.yaml("merge-desc"))
    t.eq(lib.get_query("test").desc, "Some info")
    t.eq(lib.get_query("test2").desc, "Ignored second")
Beispiel #16
0
def test_merge_errors():
    t.raises(ValueError, t.Library.from_file, t.yaml("merge-error"))
Beispiel #17
0
def test_no_queries():
    fname = t.yaml("error-no-queries")
    t.raises(ValueError, t.Library.from_file, fname)