Merge branch 'master' into go_tests
This commit is contained in:
commit
d782f164c7
4 changed files with 16 additions and 5 deletions
|
@ -1,7 +1,7 @@
|
|||
# vim: set ft=dockerfile:
|
||||
ARG GOVERSION=1.21.5
|
||||
|
||||
FROM golang:${GOVERSION}-alpine AS build
|
||||
FROM golang:${GOVERSION}-alpine3.18 AS build
|
||||
|
||||
WORKDIR /go/src/crowdsec
|
||||
|
||||
|
|
|
@ -232,6 +232,8 @@ teardown() {
|
|||
ACQUIS_YAML=$(config_get '.crowdsec_service.acquisition_path')
|
||||
config_set "$ACQUIS_YAML" 'del(.filenames)'
|
||||
|
||||
# if filenames are missing, it won't be able to detect source type
|
||||
config_set "$ACQUIS_YAML" '.source="file"'
|
||||
rune -1 wait-for "${CROWDSEC}"
|
||||
assert_stderr --partial "failed to configure datasource file: no filename or filenames configuration provided"
|
||||
|
||||
|
|
|
@ -62,7 +62,8 @@ teardown() {
|
|||
@test "context file is good" {
|
||||
echo '{"source_ip":["evt.Parsed.source_ip"]}' > "$CONTEXT_YAML"
|
||||
rune -0 "$CROWDSEC" -t --debug
|
||||
assert_stderr --partial 'console context to send: {"source_ip":["evt.Parsed.source_ip"]}'
|
||||
# the log content may have quotes escaped or not, depending on tty detection
|
||||
assert_stderr --regexp 'console context to send: .*source_ip.*evt.Parsed.source_ip'
|
||||
}
|
||||
|
||||
@test "context file is from hub (local item)" {
|
||||
|
@ -71,7 +72,7 @@ teardown() {
|
|||
echo '{"context":{"source_ip":["evt.Parsed.source_ip"]}}' > "$CONFIG_DIR/contexts/foobar.yaml"
|
||||
rune -0 "$CROWDSEC" -t --trace
|
||||
assert_stderr --partial "loading console context from $CONFIG_DIR/contexts/foobar.yaml"
|
||||
assert_stderr --partial 'console context to send: {"source_ip":["evt.Parsed.source_ip"]}'
|
||||
assert_stderr --regexp 'console context to send: .*source_ip.*evt.Parsed.source_ip'
|
||||
}
|
||||
|
||||
@test "merge multiple contexts" {
|
||||
|
@ -81,7 +82,7 @@ teardown() {
|
|||
rune -0 "$CROWDSEC" -t --trace
|
||||
assert_stderr --partial "loading console context from $CONFIG_DIR/contexts/one.yaml"
|
||||
assert_stderr --partial "loading console context from $CONFIG_DIR/contexts/two.yaml"
|
||||
assert_stderr --partial 'console context to send: {"one":["evt.Parsed.source_ip"],"two":["evt.Parsed.source_ip"]}'
|
||||
assert_stderr --regexp 'console context to send: .*one.*evt.Parsed.source_ip.*two.*evt.Parsed.source_ip'
|
||||
}
|
||||
|
||||
@test "merge contexts from hub and context.yaml file" {
|
||||
|
@ -91,5 +92,5 @@ teardown() {
|
|||
rune -0 "$CROWDSEC" -t --trace
|
||||
assert_stderr --partial "loading console context from $CONFIG_DIR/contexts/one.yaml"
|
||||
assert_stderr --partial "loading console context from $CONFIG_DIR/console/context.yaml"
|
||||
assert_stderr --partial 'console context to send: {"one":["evt.Parsed.source_ip","evt.Parsed.source_ip_2"]}'
|
||||
assert_stderr --regexp 'console context to send: .*one.*evt.Parsed.source_ip.*evt.Parsed.source_ip_2'
|
||||
}
|
||||
|
|
|
@ -54,10 +54,18 @@ remove_init_data() {
|
|||
|
||||
# we need a separate function for initializing config when testing package
|
||||
# because we want to test the configuration as well
|
||||
config_prepare() {
|
||||
# remove trailing slash from CONFIG_DIR
|
||||
# since it's assumed to be missing during the tests
|
||||
yq e -i '
|
||||
.config_paths.config_dir |= sub("/$", "")
|
||||
' "${CONFIG_DIR}/config.yaml"
|
||||
}
|
||||
|
||||
make_init_data() {
|
||||
./bin/assert-crowdsec-not-running || die "Cannot create fixture data."
|
||||
|
||||
config_prepare
|
||||
./instance-db config-yaml
|
||||
./instance-db setup
|
||||
|
||||
|
|
Loading…
Reference in a new issue