File: test_query_parser.py

package info (click to toggle)
python-moto 5.1.18-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 116,520 kB
  • sloc: python: 636,725; javascript: 181; makefile: 39; sh: 3
file content (26 lines) | stat: -rw-r--r-- 1,076 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
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