mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-26 17:04:10 +00:00
Merge tests to one
This commit is contained in:
parent
1d7fffc121
commit
4dd2f0ca5e
1 changed files with 5 additions and 11 deletions
|
@ -4615,8 +4615,8 @@ fn test_drop_constraints() {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_semantic_view_all_variants_should_pass() {
|
fn test_semantic_view() {
|
||||||
let test_cases = [
|
let valid_sqls = [
|
||||||
("SELECT * FROM SEMANTIC_VIEW(model)", None),
|
("SELECT * FROM SEMANTIC_VIEW(model)", None),
|
||||||
(
|
(
|
||||||
"SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS dim1, dim2)",
|
"SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS dim1, dim2)",
|
||||||
|
@ -4666,7 +4666,7 @@ fn test_semantic_view_all_variants_should_pass() {
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
for (input_sql, expected_sql) in test_cases {
|
for (input_sql, expected_sql) in valid_sqls {
|
||||||
if let Some(expected) = expected_sql {
|
if let Some(expected) = expected_sql {
|
||||||
// Test that non-canonical order gets normalized
|
// Test that non-canonical order gets normalized
|
||||||
let parsed = snowflake().parse_sql_statements(input_sql).unwrap();
|
let parsed = snowflake().parse_sql_statements(input_sql).unwrap();
|
||||||
|
@ -4676,10 +4676,7 @@ fn test_semantic_view_all_variants_should_pass() {
|
||||||
snowflake().verified_stmt(input_sql);
|
snowflake().verified_stmt(input_sql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_semantic_view_invalid_queries_should_fail() {
|
|
||||||
let invalid_sqls = [
|
let invalid_sqls = [
|
||||||
"SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS dim1 INVALID inv1)",
|
"SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS dim1 INVALID inv1)",
|
||||||
"SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS dim1 DIMENSIONS dim2)",
|
"SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS dim1 DIMENSIONS dim2)",
|
||||||
|
@ -4690,18 +4687,15 @@ fn test_semantic_view_invalid_queries_should_fail() {
|
||||||
let result = snowflake().parse_sql_statements(sql);
|
let result = snowflake().parse_sql_statements(sql);
|
||||||
assert!(result.is_err(), "Expected error for invalid SQL: {}", sql);
|
assert!(result.is_err(), "Expected error for invalid SQL: {}", sql);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
let ast_sql = r#"SELECT * FROM SEMANTIC_VIEW(
|
||||||
fn test_semantic_view_ast_structure() {
|
|
||||||
let sql = r#"SELECT * FROM SEMANTIC_VIEW(
|
|
||||||
my_model
|
my_model
|
||||||
DIMENSIONS DATE_PART('year', date_col), region_name
|
DIMENSIONS DATE_PART('year', date_col), region_name
|
||||||
METRICS orders.revenue, orders.count
|
METRICS orders.revenue, orders.count
|
||||||
WHERE active = true
|
WHERE active = true
|
||||||
) AS model_alias"#;
|
) AS model_alias"#;
|
||||||
|
|
||||||
let stmt = snowflake().parse_sql_statements(sql).unwrap();
|
let stmt = snowflake().parse_sql_statements(ast_sql).unwrap();
|
||||||
match &stmt[0] {
|
match &stmt[0] {
|
||||||
Statement::Query(q) => {
|
Statement::Query(q) => {
|
||||||
if let SetExpr::Select(select) = q.body.as_ref() {
|
if let SetExpr::Select(select) = q.body.as_ref() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue