Beispiel #1
0
def test_normalizer_separate_time_filters_bad_format():
    rules_def = [{
        "type": "not_null",
        "column": "a",
        "separate_time_filters": [{
            "column": "c"
        }]
    }]
    with pytest.raises(ValueError):
        results = RuleNormalizer().normalize(rules_def)
Beispiel #2
0
def test_normalizer_separate_time_filters(rules_def, normalized):
    def sort_rules(rule):
        return (
            rule["type"],
            rule["column"],
            rule["time_filter"][0]["column"] if isinstance(
                rule["time_filter"], list) else rule["time_filter"]["column"],
        )

    results = RuleNormalizer().normalize(rules_def)
    expected = sorted(normalized, key=sort_rules)
    results_sorted = sorted(results, key=sort_rules)
    assert expected == results_sorted
Beispiel #3
0
 def normalize_rules(self, raw_rules):
     return RuleNormalizer.normalize(raw_rules)
Beispiel #4
0
def test_normalizer(rules_def, normalized):
    results = RuleNormalizer().normalize(rules_def)
    op = operator.itemgetter("name", "type", "column", "time_filter")
    expected = sorted(normalized, key=op)
    results_sorted = sorted(results, key=op)
    assert expected == results_sorted
Beispiel #5
0
def test_normalizer_condition(rules_def, normalized):
    results = RuleNormalizer().normalize(rules_def)
    op = operator.itemgetter("type", "column", "condition")
    expected = sorted(normalized, key=op)
    results_sorted = sorted(results, key=op)
    assert expected == results_sorted