1
0
Fork 0
mirror of https://gitlab.com/bramw/baserow.git synced 2025-04-02 20:28:00 +00:00
bramw_baserow/backend/flake8_plugins/tests/test_flake8_baserow_psycopg.py
2025-02-27 11:02:46 +00:00

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')