def test_has_equal_ast_field_fail():
    state = prepare_state("SELECT id, name FROM Trips",
                          "SELECT name FROM Trips")
    sel = check_node(state, "SelectStmt", 0)
    tl = check_edge(sel, "target_list", 0)
    with pytest.raises(TF):
        has_equal_ast(tl)
Esempio n. 2
0
def test_has_equal_ast_not_exact_fail():
    query = "SELECT id, name FROM Trips WHERE id < 100 AND name = 'greg'"
    state = prepare_state(query, query)
    child = check_node(state, "SelectStmt")
    with pytest.raises(TF) as exc_info:
        has_equal_ast(child, sql="id < 999", start="expression", exact=False)
    print_message(exc_info)
Esempio n. 3
0
def test_has_equal_ast_field_fail():
    state = prepare_state('SELECT id, name FROM Trips',
                          "SELECT name FROM Trips")
    sel = cf.check_node(state, "SelectStmt", 0)
    tl = cf.check_field(sel, "target_list", 0)
    with pytest.raises(TF) as exc_info:
        has_equal_ast(tl)
    print_message(exc_info)
Esempio n. 4
0
 def test_has_equal_ast_simple(self, state):
     state.solution_ast = state.ast_dispatcher.ast_mod.parse(
         "echo a $b ${c}")
     has_equal_ast(state)
def test_has_equal_ast_manual_pass():
    query = "SELECT id, name FROM Trips"
    state = prepare_state(query, query)
    child = check_node(state, "SelectStmt")
    has_equal_ast(child, sql=query, start="subquery")
def test_has_equal_ast_manual_fail():
    query = "SELECT id, name FROM Trips"
    state = prepare_state(query, query)
    with pytest.raises(TF):
        child = check_node(state, "SelectStmt")
        has_equal_ast(child, sql="SELECT * FROM Trips", start="subquery")
def test_has_equal_ast_field_success():
    state = prepare_state("SELECT name FROM Trips", "SELECT name FROM Trips")
    sel = check_node(state, "SelectStmt", 0)
    tl = check_edge(sel, "target_list", 0)
    has_equal_ast(tl)
def test_has_equal_ast_fail_quoted_column():
    state = prepare_state('SELECT "id", "name" FROM "Trips"',
                          "SELECT id, name FROM Trips")
    with pytest.raises(TF):
        has_equal_ast(state=state)
def test_has_equal_ast_not_exact_pass():
    query = "SELECT id, name FROM Trips WHERE id < 100 AND name = 'greg'"
    state = prepare_state(query, query)
    child = check_node(state, "SelectStmt")
    has_equal_ast(child, sql="id < 100", start="expression", exact=False)
Esempio n. 10
0
def test_has_equal_ast_pass_unparsed():
    query = "SELECT CURSOR (SELECT * FROM TRIPS) FROM Trips"
    state = prepare_state(query, query)
    has_equal_ast(state=state)
Esempio n. 11
0
def test_has_equal_ast_pass_spacing():
    state = prepare_state("SELECT id,name from Trips",
                          "SELECT id, name FROM Trips")
    has_equal_ast(state=state)
Esempio n. 12
0
def test_has_equal_ast_pass_clause_caps():
    state = prepare_state("select id, name from Trips",
                          "SELECT id, name FROM Trips")
    has_equal_ast(state=state)
Esempio n. 13
0
def test_has_equal_ast_pass_identical():
    state = prepare_state("SELECT id, name FROM Trips",
                          "SELECT id, name FROM Trips")
    has_equal_ast(state=state)
Esempio n. 14
0
 def test_has_equal_ast_simple_fail(self, state):
     with pytest.raises(TF):
         has_equal_ast(state)
def test_has_equal_ast_pass(sol, stu):
    state = prepare_state(sol, stu)
    has_equal_ast(state=state)
Esempio n. 16
0
 def test_has_equal_ast_subcode(self, state):
     word = check_edge(state, "words", 0)
     has_equal_ast(word)
Esempio n. 17
0
def test_has_equal_ast_subcode(state):
    word = check_field(check_node(state, 'SimpleCommand'), 'words', 0)
    has_equal_ast(word)