mirror of
https://gitlab.com/bramw/baserow.git
synced 2025-04-02 20:28:00 +00:00
38 lines
No EOL
976 B
Python
38 lines
No EOL
976 B
Python
import ast
|
|
from flake8_baserow.psycopg import BaserowPsycopgChecker
|
|
|
|
|
|
def run_checker(code: str):
|
|
tree = ast.parse(code)
|
|
checker = BaserowPsycopgChecker(tree, 'test.py')
|
|
return list(checker.run())
|
|
|
|
def test_direct_import():
|
|
code = '''
|
|
import psycopg
|
|
import psycopg2
|
|
from psycopg import connect
|
|
from psycopg2 import connect as pg_connect
|
|
'''
|
|
errors = run_checker(code)
|
|
assert len(errors) == 4
|
|
assert all(error[2].startswith('BRP001') for error in errors)
|
|
|
|
def test_allowed_import():
|
|
code = '''
|
|
from baserow.core.psycopg import connect
|
|
from baserow.core.psycopg import psycopg2
|
|
'''
|
|
errors = run_checker(code)
|
|
assert len(errors) == 0
|
|
|
|
def test_mixed_imports():
|
|
code = '''
|
|
import psycopg
|
|
from baserow.core.psycopg import connect
|
|
from psycopg2 import connect as pg_connect
|
|
'''
|
|
errors = run_checker(code)
|
|
assert len(errors) == 2
|
|
assert errors[0][2].startswith('BRP001')
|
|
assert errors[1][2].startswith('BRP001') |