Exemple #1
0
def test_get_undefined_database():
    sql_query = 'select * from table_name;'

    parser = SQLParser(sql_query)
    actual = parser.get_databases()
    expected = []

    assert actual == expected
Exemple #2
0
def test_get_single_database():
    sql_query = 'select * from db1.table_name;'

    parser = SQLParser(sql_query)
    actual = parser.get_databases()
    expected = ['db1']

    assert actual == expected
Exemple #3
0
def test_get_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_databases()
    expected = ['database_2', 'database_1']

    assert set(actual) == set(expected)
Exemple #4
0
def test_get_multiple_databases_on_complex_query():
    sql_query = """
    SELECT mydatabase1.tblUsers.UserID,
        mydatabse2.tblUsers.UserID
        FROM
        mydatabase1.tblUsers
        INNER JOIN mydatabase2.tblUsers
           ON mydatabase1.tblUsers.UserID = mydatabase2.tblUsers.UserID;"""

    parser = SQLParser(sql_query)
    actual = parser.get_databases()
    expected = ['mydatabase1', 'mydatabase2']

    assert set(actual) == set(expected)