summaryrefslogtreecommitdiffstats
path: root/monitoring/ceph-mixin/tox.ini
blob: 743f4bca63a5bfed0f3308d631fde21449bd2407 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
[tox]
envlist =
    lint,
    jsonnet-{check,lint,fix},
    jsonnet-bundler-{install,update},
    promql-query-{test,lint},
    alerts-check
skipsdist = true

[testenv:jsonnet-bundler-{install,update}]
allowlist_externals =
    jb
description =
    install: Install the jsonnet dependencies
    update: Update the jsonnet dependencies
commands =
    install: jb install
    update: jb update

[testenv:jsonnet-{check,fix,lint}]
basepython = python3
allowlist_externals =
    find
    jb
    jsonnet
    jsonnetfm
    sh
description =
    check: Ensure that auto-generated files matches the current version
    fix: Update generated files from jsonnet file with latest changes
    lint: Test if jsonnet files are linted (without any update)
deps =
    -rrequirements-grafonnet.txt
depends = jsonnet-bundler-install
commands =
    check: sh test-jsonnet.sh
    lint: ./lint-jsonnet.sh --test
    fix: jsonnet -J vendor -m dashboards_out dashboards.jsonnet

[testenv:lint]
description =
     Run python linters
deps =
     -rrequirements-lint.txt
setenv =
commands =
    pylint --rcfile=.pylintrc tests_dashboards
    mypy tests_dashboards
    isort tests_dashboards

[testenv:promql-query-test]
description =
     lint: Run promtool check on grafana queries
     test: Run promtool unit testing on grafana queries.
deps =
    -rrequirements-lint.txt
depends = grafonnet-check
setenv =
allowlist_externals =
  promtool
commands =
    python -m doctest tests_dashboards/util.py
    behave tests_dashboards/features 

[testenv:alerts-{fix,check,lint}]
deps =
    -rrequirements-alerts.txt
    pytest
depends = grafonnet-check
allowlist_externals =
  promtool
commands =
    fix: jsonnet -J vendor -S alerts.jsonnet -o prometheus_alerts.yml
    lint: promtool check rules prometheus_alerts.yml
    test: pytest -rA tests_alerts/test_syntax.py tests_alerts/test_unittests.py
          python3 ./tests_alerts/validate_rules.py