示例#1
0
def test_get_single_table():
    sql_query = 'select * from tablita;'

    parser = SQLParser(sql_query)
    actual = parser.get_tables()
    expected = [('tablita', None)]

    assert actual == expected
示例#2
0
def test_get_tables_from_multiple_databases():
    sql_query = """SELECT *
        FROM database_2.table_2
        JOIN database_1.table_1
            ON (database_2.table_2.some_field = database_1.table_1.some_other_field)
        WHERE database_1.table_1.data_1 LIKE database_2.table_2.data_2;"""

    parser = SQLParser(sql_query)
    actual = parser.get_tables()
    expected = [('table_1', None), ('table_2', None)]

    assert set(actual) == set(expected)
示例#3
0
def test_get_tables_with_alias():
    sql_query = """SELECT e.last_name,
        e.department_id,
        d.department_name
        FROM   employees e
        LEFT OUTER JOIN department d
            ON ( e.department_id = d.department_id ); """

    parser = SQLParser(sql_query)
    actual = parser.get_tables()
    expected = [('employees', 'e'), ('department', 'd')]

    assert set(actual) == set(expected)