mirror of
https://github.com/quay/quay.git
synced 2026-01-26 06:21:37 +03:00
37 lines
986 B
Python
37 lines
986 B
Python
import pytest
|
|
|
|
from data.text import match_mysql, match_like
|
|
from data.database import Repository
|
|
from test.fixtures import *
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"input",
|
|
[
|
|
("hello world"),
|
|
("hello ' world"),
|
|
('hello " world'),
|
|
("hello ` world"),
|
|
],
|
|
)
|
|
def test_mysql_text_escaping(input):
|
|
query, values = Repository.select().where(match_mysql(Repository.description, input)).sql()
|
|
assert input not in query
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"input, expected",
|
|
[
|
|
("hello world", "hello world"),
|
|
("hello 'world", "hello world"),
|
|
('hello "world', "hello world"),
|
|
("hello `world", "hello world"),
|
|
("hello !world", "hello !!world"),
|
|
("hello %world", "hello !%world"),
|
|
],
|
|
)
|
|
def test_postgres_text_escaping(input, expected):
|
|
query, values = Repository.select().where(match_like(Repository.description, input)).sql()
|
|
assert input not in query
|
|
assert values[0] == "%" + expected + "%"
|