Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix package tests for 1.5.6-rc2 #2652

Merged
merged 4 commits into from
Dec 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -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

Expand Down
3 changes: 1 addition & 2 deletions test/ansible/requirements.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ roles:
name: geerlingguy.postgresql
# these should be included as dependencies of crowdsecurity.testing, but sometime are not
- src: geerlingguy.repo-epel
- src: gantsign.ansible-role-golang
name: gantsign.golang
- src: gantsign.golang

collections:
- name: ansible.posix
Expand Down
2 changes: 1 addition & 1 deletion test/ansible/vars/go.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# vim: set ft=yaml.ansible:
---

golang_version: "1.21.5"
golang_version: "1.21.4"
golang_install_dir: "/opt/go/{{ golang_version }}"
2 changes: 2 additions & 0 deletions test/bats/01_crowdsec.bats
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
9 changes: 5 additions & 4 deletions test/bats/09_context.bats
Original file line number Diff line number Diff line change
Expand Up @@ -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)" {
Expand All @@ -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" {
Expand All @@ -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" {
Expand All @@ -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'
}
8 changes: 8 additions & 0 deletions test/lib/config/config-global
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down