File: soql_test.py

package info (click to toggle)
sqlfluff 3.5.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 34,000 kB
  • sloc: python: 106,131; sql: 34,188; makefile: 52; sh: 8
file content (26 lines) | stat: -rw-r--r-- 751 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"""Tests specific to the soql dialect."""

import pytest

from sqlfluff.core import FluffConfig, Linter
from sqlfluff.core.errors import SQLParseError


@pytest.mark.parametrize(
    "raw",
    [
        "ALTER TABLE foo DROP COLUMN bar\n",
        "CREATE USER my_user\n",
        "TRUNCATE TABLE foo\n",
        "EXPLAIN SELECT Id FROM Contact\n",
        "DROP TABLE foo\n",
        "DROP USER my_user\n",
    ],
)
def test_non_selects_unparseable(raw: str) -> None:
    """Test that non-SELECT commands are not parseable."""
    cfg = FluffConfig(configs={"core": {"dialect": "soql"}})
    lnt = Linter(config=cfg)
    result = lnt.lint_string(raw)
    assert len(result.violations) == 1
    assert isinstance(result.violations[0], SQLParseError)