27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
import pytest
|
|
|
|
from moto.logs.logs_query.query_parser import parse_query
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"query,fields,limit,sort",
|
|
[
|
|
("fields @timestamp", ["@timestamp"], None, []),
|
|
("fields @timestamp, @message", ["@timestamp", "@message"], None, []),
|
|
("limit 42", [], 42, []),
|
|
("sort @timestamp desc", [], None, [("@timestamp", "desc")]),
|
|
("sort @timestamp asc", [], None, [("@timestamp", "asc")]),
|
|
("sort @timestamp", [], None, [("@timestamp", "desc")]),
|
|
("fields @timestamp | limit 42", ["@timestamp"], 42, []),
|
|
("limit 42 | fields @timestamp", ["@timestamp"], 42, []),
|
|
("fields @fld | sort @fld | limit 42", ["@fld"], 42, [("@fld", "desc")]),
|
|
("sort @fld asc | fields @fld | limit 42", ["@fld"], 42, [("@fld", "asc")]),
|
|
("limit 42 | sort @fld | fields @fld", ["@fld"], 42, [("@fld", "desc")]),
|
|
],
|
|
)
|
|
def test_query(query, fields, limit, sort):
|
|
parsed = parse_query(query)
|
|
assert parsed.fields == fields
|
|
assert parsed.limit == limit
|
|
assert parsed.sort == sort
|