Merge pull request #1392 from prymitive/test-env

fix(tests): more complete config tests
This commit is contained in:
Łukasz Mierzwa
2020-01-31 17:18:52 +00:00
committed by GitHub
5 changed files with 232 additions and 16 deletions

View File

@@ -167,7 +167,7 @@ benchmark-go:
.PHONY: test-go
test-go:
GO111MODULE=on go test -v \
GO111MODULE=on go test \
-cover -coverprofile=coverage.txt -covermode=atomic \
./...

View File

@@ -0,0 +1,180 @@
# Print out and compare logged config set via env variables
env ALERTMANAGER_INTERVAL=10s
env ALERTMANAGER_NAME=ro
env ALERTMANAGER_URI=http://localhost:9093
env ALERTMANAGER_EXTERNAL_URI=http://localhost:9093
env ALERTMANAGER_READONLY=true
env ALERTMANAGER_TIMEOUT=10s
env ALERTACKNOWLEDGEMENT_ENABLED=true
env ALERTACKNOWLEDGEMENT_DURATION=5m
env ALERTACKNOWLEDGEMENT_AUTHOR=karma
env ALERTACKNOWLEDGEMENT_COMMENTPREFIX=ACK
env ANNOTATIONS_DEFAULT_HIDDEN=true
env ANNOTATIONS_HIDDEN='help summary'
env ANNOTATIONS_VISIBLE='visible'
env ANNOTATIONS_KEEP='keep'
env ANNOTATIONS_STRIP='strip1 strip2 strip3'
env CUSTOM_CSS='/custom.css'
env CUSTOM_JS='/custom.js'
env DEBUG=true
env FILTERS_DEFAULT='@receiver=by-cluster-service @state=active'
env GRID_SORTING_ORDER=label
env GRID_SORTING_REVERSE=false
env GRID_SORTING_LABEL=severity
env KARMA_NAME=karma-demo
env LABELS_COLOR_STATIC=job
env LABELS_COLOR_UNIQUE='@receiver instance cluster'
env LABELS_KEEP='keep1 keep2'
env LABELS_STRIP='strip1 strip2'
env LISTEN_ADDRESS=localhost
env LISTEN_PORT=1234
env LISTEN_PREFIX='/prefix/'
env LOG_CONFIG=true
env LOG_LEVEL=info
env LOG_FORMAT=text
env LOG_TIMESTAMP=false
env RECEIVERS_KEEP='keep1 keep2'
env RECEIVERS_STRIP='strip1 strip2'
env SENTRY_DSN=abcdef1234567890
env SENTRY_PUBLIC=1234567890abcdef
env SILENCEFORM_AUTHOR_POPULATE_FROM_HEADER_HEADER=CF-RAY
env SILENCEFORM_AUTHOR_POPULATE_FROM_HEADER_VALUE_RE='^(.+)$'
env SILENCEFORM_STRIP_LABELS='job severity region'
env UI_REFRESH=10s
env UI_HIDEFILTERSWHENIDLE=false
env UI_COLORTITLEBAR=true
env UI_THEME=dark
env UI_MINIMALGROUPWIDTH=300
env UI_ALERTSPERGROUP=2
env UI_COLLAPSEGROUPS=expanded
karma.bin-should-work --check-config
! stdout .
cmp stderr expected.stderr
-- expected.stderr --
level=info msg="Version: dev"
level=info msg="Parsed configuration:"
level=info msg="alertmanager:"
level=info msg=" interval: 10s"
level=info msg=" servers:"
level=info msg=" - name: ro"
level=info msg=" uri: http://localhost:9093"
level=info msg=" external_uri: http://localhost:9093"
level=info msg=" timeout: 10s"
level=info msg=" proxy: false"
level=info msg=" readonly: true"
level=info msg=" tls:"
level=info msg=" ca: \"\""
level=info msg=" cert: \"\""
level=info msg=" key: \"\""
level=info msg=" insecureSkipVerify: false"
level=info msg=" headers: {}"
level=info msg="alertAcknowledgement:"
level=info msg=" enabled: true"
level=info msg=" duration: 5m0s"
level=info msg=" author: karma"
level=info msg=" commentPrefix: ACK"
level=info msg="annotations:"
level=info msg=" default:"
level=info msg=" hidden: true"
level=info msg=" hidden:"
level=info msg=" - help"
level=info msg=" - summary"
level=info msg=" visible:"
level=info msg=" - visible"
level=info msg=" keep:"
level=info msg=" - keep"
level=info msg=" strip:"
level=info msg=" - strip1"
level=info msg=" - strip2"
level=info msg=" - strip3"
level=info msg="custom:"
level=info msg=" css: /custom.css"
level=info msg=" js: /custom.js"
level=info msg="debug: true"
level=info msg="filters:"
level=info msg=" default:"
level=info msg=" - '@receiver=by-cluster-service'"
level=info msg=" - '@state=active'"
level=info msg="grid:"
level=info msg=" sorting:"
level=info msg=" order: label"
level=info msg=" reverse: false"
level=info msg=" label: severity"
level=info msg=" customValues:"
level=info msg=" labels: {}"
level=info msg="karma:"
level=info msg=" name: karma-demo"
level=info msg="labels:"
level=info msg=" keep:"
level=info msg=" - keep1"
level=info msg=" - keep2"
level=info msg=" strip:"
level=info msg=" - strip1"
level=info msg=" - strip2"
level=info msg=" color:"
level=info msg=" custom: {}"
level=info msg=" static:"
level=info msg=" - job"
level=info msg=" unique:"
level=info msg=" - '@receiver'"
level=info msg=" - instance"
level=info msg=" - cluster"
level=info msg="listen:"
level=info msg=" address: localhost"
level=info msg=" port: 1234"
level=info msg=" prefix: /prefix/"
level=info msg="log:"
level=info msg=" config: true"
level=info msg=" level: info"
level=info msg=" format: text"
level=info msg=" timestamp: false"
level=info msg="receivers:"
level=info msg=" keep:"
level=info msg=" - keep1"
level=info msg=" - keep2"
level=info msg=" strip:"
level=info msg=" - strip1"
level=info msg=" - strip2"
level=info msg="sentry:"
level=info msg=" private: abcdef1234567890"
level=info msg=" public: 1234567890abcdef"
level=info msg="silences:"
level=info msg=" comments:"
level=info msg=" linkDetect:"
level=info msg=" rules: []"
level=info msg="silenceForm:"
level=info msg=" author:"
level=info msg=" populate_from_header:"
level=info msg=" header: CF-RAY"
level=info msg=" value_re: ^(.+)$"
level=info msg=" strip:"
level=info msg=" labels:"
level=info msg=" - job"
level=info msg=" - severity"
level=info msg=" - region"
level=info msg="ui:"
level=info msg=" refresh: 10s"
level=info msg=" hideFiltersWhenIdle: false"
level=info msg=" colorTitlebar: true"
level=info msg=" theme: dark"
level=info msg=" minimalGroupWidth: 300"
level=info msg=" alertsPerGroup: 2"
level=info msg=" collapseGroups: expanded"
level=info msg="[ro] Configured Alertmanager source at http://localhost:9093 (proxied: false, readonly: true)"
level=info msg="Configuration is valid"

View File

@@ -1,4 +1,4 @@
# Print out and compare full logged config
# Print out and compare logged config set via config file
karma.bin-should-work --config.file=karma.yaml --check-config
! stdout .
cmp stderr expected.stderr
@@ -31,12 +31,23 @@ alertmanager:
key: key.pem
alertAcknowledgement:
enabled: true
duration: 15m0s
author: karma-ack
duration: 7m0s
author: karma
commentPrefix: ACK!
annotations:
default:
hidden: true
hidden:
- help
- summary
visible:
- visible
keep:
- keep
strip:
- strip1
- strip2
- strip3
custom:
js: /custom.js
css: /custom.css
@@ -61,6 +72,12 @@ grid:
karma:
name: karma-demo
labels:
keep:
- keep1
- keep2
strip:
- strip1
- strip2
color:
static:
- job
@@ -84,6 +101,13 @@ log:
level: info
format: text
timestamp: false
receivers:
keep:
- keep1
- keep2
strip:
- strip1
- strip2
sentry:
private: abcdef1234567890
public: 1234567890abcdef
@@ -258,17 +282,23 @@ level=info msg=" insecureSkipVerify: false"
level=info msg=" headers: {}"
level=info msg="alertAcknowledgement:"
level=info msg=" enabled: true"
level=info msg=" duration: 15m0s"
level=info msg=" author: karma-ack"
level=info msg=" duration: 7m0s"
level=info msg=" author: karma"
level=info msg=" commentPrefix: ACK!"
level=info msg="annotations:"
level=info msg=" default:"
level=info msg=" hidden: false"
level=info msg=" hidden: true"
level=info msg=" hidden:"
level=info msg=" - help"
level=info msg=" visible: []"
level=info msg=" keep: []"
level=info msg=" strip: []"
level=info msg=" - summary"
level=info msg=" visible:"
level=info msg=" - visible"
level=info msg=" keep:"
level=info msg=" - keep"
level=info msg=" strip:"
level=info msg=" - strip1"
level=info msg=" - strip2"
level=info msg=" - strip3"
level=info msg="custom:"
level=info msg=" css: /custom.css"
level=info msg=" js: /custom.js"
@@ -294,8 +324,12 @@ level=info msg=" warning: \"2\""
level=info msg="karma:"
level=info msg=" name: karma-demo"
level=info msg="labels:"
level=info msg=" keep: []"
level=info msg=" strip: []"
level=info msg=" keep:"
level=info msg=" - keep1"
level=info msg=" - keep2"
level=info msg=" strip:"
level=info msg=" - strip1"
level=info msg=" - strip2"
level=info msg=" color:"
level=info msg=" custom:"
level=info msg=" region:"
@@ -328,8 +362,12 @@ level=info msg=" level: info"
level=info msg=" format: text"
level=info msg=" timestamp: false"
level=info msg="receivers:"
level=info msg=" keep: []"
level=info msg=" strip: []"
level=info msg=" keep:"
level=info msg=" - keep1"
level=info msg=" - keep2"
level=info msg=" strip:"
level=info msg=" - strip1"
level=info msg=" - strip2"
level=info msg="sentry:"
level=info msg=" private: abcdef1234567890"
level=info msg=" public: 1234567890abcdef"

View File

@@ -1,5 +1,4 @@
# Works in simple mode when single --alertmanager.uri flag is passed
karma.bin-should-work --log.format=text --log.config=false --alertmanager.uri=http://localhost
! stdout .
stderr 'msg="Using simple config with a single Alertmanager server"'
stderr 'msg="\[default\] Configured Alertmanager source at http://localhost \(proxied: false\, readonly: false\)"'

View File

@@ -284,7 +284,6 @@ func (config *configSchema) Read() string {
// accept single Alertmanager server from flag/env if nothing is set yet
if len(config.Alertmanager.Servers) == 0 && v.GetString("alertmanager.uri") != "" {
log.Info("Using simple config with a single Alertmanager server")
config.Alertmanager.Servers = []AlertmanagerConfig{
{
Name: v.GetString("alertmanager.name"),