http response prometheus /api/v1/status/flags 200 {"status":"success","data":{"storage.tsdb.retention.time": "1d"}}
http response prometheus /api/v1/metadata 200 {"status":"success","data":{}}
http response prometheus /api/v1/status/config 200 {"status":"success","data":{"yaml":"global:\n  scrape_interval: 1m\n"}}
http response prometheus /api/v1/query_range 200 {"status":"success","data":{"resultType":"matrix","result":[]}}
http response prometheus /api/v1/query 200 {"status":"success","data":{"resultType":"vector","result":[]}}
http start prometheus 127.0.0.1:2100

http response bitbucket / 200 OK
http start bitbucket 127.0.0.1:6100

mkdir testrepo
cd testrepo
exec git init --initial-branch=main .

cp ../src/v1.yml rules.yml
cp ../src/.pint.hcl .
env GIT_AUTHOR_NAME=pint
env GIT_AUTHOR_EMAIL=pint@example.com
env GIT_COMMITTER_NAME=pint
env GIT_COMMITTER_EMAIL=pint@example.com
exec git add .
exec git commit -am 'import rules and config'

exec git checkout -b v2
cp ../src/v2.yml rules.yml
exec git commit -am 'v2'

env BITBUCKET_AUTH_TOKEN="12345"
pint.ok -l debug --no-color ci
! stdout .
stderr '{\\"path\\":\\"rules.yml\\",\\"line\\":3,\\"message\\":\\"alerts/count: '
stderr '{\\"path\\":\\"rules.yml\\",\\"line\\":8,\\"message\\":\\"alerts/count: '

-- src/v1.yml --
- alert: alert1
  # pint disable promql/series(prom)
  expr: up == 0
  for: 5m
- alert: alert2
  # pint disable promql/series(prom)
  expr: up == 0
  for: 5m
-- src/v2.yml --
- alert: alert1
  # pint disable promql/series(prom)
  expr: up{job="foo"} == 0
  for: 5m
- alert: alert2
  # pint disable promql/series(prom)
  expr: up{job="foo"} == 0
  for: 1m

-- src/.pint.hcl --
parser {
  relaxed = [".*"]
}
ci {
  baseBranch = "main"
}
repository {
  bitbucket {
    uri        = "http://127.0.0.1:6100"
    project    = "prometheus"
    repository = "rules"
  }
}
prometheus "prom" {
  uri      = "http://127.0.0.1:2100"
  timeout  = "5s"
  required = true
}
rule {
  alerts {
    range      = "1d"
    step       = "1m"
    resolve    = "5m"
  }
}
