Esempio n. 1
0
 def get_extensions(self) -> Mapping[str, QueryExtension]:
     return {
         "project": ProjectExtension(project_column="project_id"),
         "timeseries": TimeSeriesExtension(
             default_granularity=3600,
             default_window=timedelta(days=5),
             timestamp_column="timestamp",
         ),
     }
Esempio n. 2
0
 def get_extensions(self) -> Mapping[str, QueryExtension]:
     return {
         "timeseries": TimeSeriesExtension(
             default_granularity=3600,
             default_window=timedelta(days=7),
             timestamp_column="timestamp",
         ),
         "organization": OrganizationExtension(),
     }
Esempio n. 3
0
def test_query_extension_processing(
    raw_data: Mapping[str, Any],
    expected_ast_condition: Expression,
    expected_granularity: int,
) -> None:
    state.set_config("max_days", 1)
    extension = TimeSeriesExtension(
        default_granularity=60,
        default_window=timedelta(days=5),
        timestamp_column="timestamp",
    )
    valid_data = validate_jsonschema(raw_data, extension.get_schema())
    query = Query({"conditions": []}, QueryEntity(EntityKey.EVENTS, ColumnSet([])))

    request_settings = HTTPRequestSettings()

    extension.get_processor().process_query(query, valid_data, request_settings)
    assert query.get_condition_from_ast() == expected_ast_condition
    assert query.get_granularity() == expected_granularity
Esempio n. 4
0
def test_query_extension_processing(
    raw_data: dict,
    expected_conditions: Sequence[Condition],
    expected_ast_condition: Expression,
    expected_granularity: int,
):
    state.set_config("max_days", 1)
    extension = TimeSeriesExtension(
        default_granularity=60,
        default_window=timedelta(days=5),
        timestamp_column="timestamp",
    )
    valid_data = validate_jsonschema(raw_data, extension.get_schema())
    query = Query({"conditions": []}, TableSource("my_table", ColumnSet([])),)

    request_settings = HTTPRequestSettings()

    extension.get_processor().process_query(query, valid_data, request_settings)
    assert query.get_conditions() == expected_conditions
    assert query.get_condition_from_ast() == expected_ast_condition
    assert query.get_granularity() == expected_granularity