rule_files:
  - rules.yaml

evaluation_interval: 1m

tests:
  - interval: 1m
    input_series:
      - series: 'up{job="vmagent2", instance="localhost:9090"}'
        values: "0+0x1440"

    metricsql_expr_test:
      - expr: suquery_interval_test
        eval_time: 4m
        exp_samples:
          - labels: '{__name__="suquery_interval_test",datacenter="dc-123", instance="localhost:9090", job="vmagent2"}'
            value: 1

    alert_rule_test:
      - eval_time: 2h
        alertname: InstanceDown
        exp_alerts:
          - exp_labels:
              job: vmagent2
              severity: page
              instance: localhost:9090
              datacenter: dc-123
            exp_annotations:
              summary: "Instance localhost:9090 down"
              description: "localhost:9090 of job vmagent2 has been down for more than 5 minutes."

      - eval_time: 0
        alertname: AlwaysFiring
        exp_alerts:
          - exp_labels:
              datacenter: dc-123

      - eval_time: 0
        alertname: InstanceDown
        exp_alerts: []

    external_labels:
      datacenter: dc-123