rule_files:
  - counter.rules.yml
evaluation_interval: 1m
tests:
  - interval: 1m
    input_series:
      - series: 'requests_total{scenario="no_reset",instance="a"}'
        values: '100 100 110'
      - series: 'requests_total{scenario="no_reset",instance="b"}'
        values: '50 50 60'
      - series: 'requests_total{scenario="visible_drop",instance="a"}'
        values: '100 100 110'
      - series: 'requests_total{scenario="visible_drop",instance="b"}'
        values: '50 50 5'
      - series: 'requests_total{scenario="hidden_drop",instance="a"}'
        values: '100 100 200'
      - series: 'requests_total{scenario="hidden_drop",instance="b"}'
        values: '50 50 5'
      - series: 'requests_total{scenario="flat_sum",instance="a"}'
        values: '100 100 145'
      - series: 'requests_total{scenario="flat_sum",instance="b"}'
        values: '50 50 5'
      - series: 'requests_total{scenario="both_reset",instance="a"}'
        values: '100 100 2'
      - series: 'requests_total{scenario="both_reset",instance="b"}'
        values: '50 50 3'
    promql_expr_test:
      - expr: '60 * sum by (scenario) (rate(requests_total[2m]))'
        eval_time: 2m
        exp_samples:
          - labels: '{scenario="no_reset"}'
            value: 20
          - labels: '{scenario="visible_drop"}'
            value: 15
          - labels: '{scenario="hidden_drop"}'
            value: 105
          - labels: '{scenario="flat_sum"}'
            value: 50
          - labels: '{scenario="both_reset"}'
            value: 5.000000000000001
      - expr: '60 * rate(service:requests:raw_sum[2m])'
        eval_time: 2m
        exp_samples:
          - labels: '{scenario="no_reset"}'
            value: 20
          - labels: '{scenario="visible_drop"}'
            value: 115
          - labels: '{scenario="hidden_drop"}'
            value: 55
          - labels: '{scenario="flat_sum"}'
            value: 0
          - labels: '{scenario="both_reset"}'
            value: 5
  - interval: 1m
    input_series:
      - series: 'requests_total{scenario="one_sample",instance="a"}'
        values: '_ _ 10'
    promql_expr_test:
      - expr: 'rate(requests_total[2m])'
        eval_time: 2m
        exp_samples: []
