Ejemplo n.º 1
0
def test_filter_schema_compound(operator, expected_operator):
    filter = CompoundFilter(operator, [PROJECT_ID_FILTER, TAG_FILTER])
    data = _FilterSchema().dump(filter)
    assert data == {
        "operator": expected_operator,
        "conditions": [PROJECT_ID_FILTER_BODY, TAG_FILTER_BODY],
    }
Ejemplo n.º 2
0
def test_filter_schema_nested():
    filter = CompoundFilter(
        LogicalOperator.AND,
        [
            CompoundFilter(LogicalOperator.AND,
                           [PROJECT_ID_FILTER, TAG_FILTER]),
            CompoundFilter(LogicalOperator.OR,
                           [TAG_FILTER, PROJECT_ID_FILTER]),
        ],
    )
    data = _FilterSchema().dump(filter)
    assert data == {
        "operator":
        "and",
        "conditions": [
            {
                "operator": "and",
                "conditions": [PROJECT_ID_FILTER_BODY, TAG_FILTER_BODY],
            },
            {
                "operator": "or",
                "conditions": [TAG_FILTER_BODY, PROJECT_ID_FILTER_BODY],
            },
        ],
    }
Ejemplo n.º 3
0
def test_filter_schema_tag(operator, value, expected_operator, expected_value):
    filter = TagFilter("tag-key", operator, value)
    data = _FilterSchema().dump(filter)
    assert data == {
        "by": "tag",
        "key": "tag-key",
        "operator": expected_operator,
        "value": expected_value,
    }
Ejemplo n.º 4
0
def test_filter_schema_deleted_at(operator, value, expected_operator,
                                  expected_value):
    filter = DeletedAtFilter(operator, value)
    data = _FilterSchema().dump(filter)
    assert data == {
        "by": "deletedAt",
        "operator": expected_operator,
        "value": expected_value,
    }
Ejemplo n.º 5
0
def test_filter_schema_run_status(operator, value, expected_operator,
                                  expected_value):
    filter = RunStatusFilter(operator, value)
    data = _FilterSchema().dump(filter)
    assert data == {
        "by": "status",
        "operator": expected_operator,
        "value": expected_value,
    }
Ejemplo n.º 6
0
def test_filter_schema_run_id(operator, value, expected_operator,
                              expected_value):
    filter = RunIdFilter(operator, value)
    data = _FilterSchema().dump(filter)
    assert data == {
        "by": "runId",
        "operator": expected_operator,
        "value": expected_value,
    }
Ejemplo n.º 7
0
def test_filter_schema_metric(operator, value, expected_operator,
                              expected_value):
    filter = MetricFilter("metric-key", operator, value)
    data = _FilterSchema().dump(filter)
    assert data == {
        "by": "metric",
        "key": "metric-key",
        "operator": expected_operator,
        "value": expected_value,
    }
Ejemplo n.º 8
0
def test_filter_schema_param(operator, value, expected_operator,
                             expected_value):
    filter = ParamFilter("param-key", operator, value)
    data = _FilterSchema().dump(filter)
    assert data == {
        "by": "param",
        "key": "param-key",
        "operator": expected_operator,
        "value": expected_value,
    }
Ejemplo n.º 9
0
def test_filter_schema_invalid_operator_with_key(filter_type, value, operator):
    filter = filter_type("key", operator, value)
    with pytest.raises(ValidationError, match="Not a discrete operator"):
        _FilterSchema().dump(filter)
Ejemplo n.º 10
0
def test_filter_schema_invalid_value_with_key(filter_type, value):
    filter = filter_type("key", ComparisonOperator.EQUAL_TO, value)
    with pytest.raises(ValidationError):
        _FilterSchema().dump(filter)
Ejemplo n.º 11
0
def test_filter_schema_invalid_value_run_status():
    filter = RunStatusFilter(ComparisonOperator.EQUAL_TO, "invalid")
    with pytest.raises(AttributeError):
        _FilterSchema().dump(filter)