github.com/crowdsecurity/crowdsec@v1.6.1/test/bats/04_nocapi.bats (about) 1 #!/usr/bin/env bats 2 # vim: ft=bats:list:ts=8:sts=4:sw=4:et:ai:si: 3 4 set -u 5 6 setup_file() { 7 load "../lib/setup_file.sh" 8 } 9 10 teardown_file() { 11 load "../lib/teardown_file.sh" 12 } 13 14 setup() { 15 load "../lib/setup.sh" 16 ./instance-data load 17 } 18 19 teardown() { 20 ./instance-crowdsec stop 21 } 22 23 #---------- 24 25 @test "without capi: crowdsec LAPI should run without capi (-no-capi flag)" { 26 config_set '.common.log_media="stdout"' 27 28 rune -0 wait-for \ 29 --err "Communication with CrowdSec Central API disabled from args" \ 30 "${CROWDSEC}" -no-capi 31 } 32 33 @test "without capi: crowdsec LAPI should still work" { 34 config_disable_capi 35 config_set '.common.log_media="stdout"' 36 rune -0 wait-for \ 37 --err "push and pull to Central API disabled" \ 38 "${CROWDSEC}" 39 } 40 41 @test "without capi: cscli capi status -> fail" { 42 config_disable_capi 43 ./instance-crowdsec start 44 rune -1 cscli capi status 45 assert_stderr --partial "no configuration for Central API (CAPI) in " 46 } 47 48 @test "no capi: cscli config show" { 49 config_disable_capi 50 rune -0 cscli config show -o human 51 assert_output --regexp "Global:.*Crowdsec.*cscli:.*Local API Server:" 52 } 53 54 @test "no agent: cscli config backup" { 55 config_disable_capi 56 backupdir=$(TMPDIR="${BATS_TEST_TMPDIR}" mktemp -u) 57 rune -0 cscli config backup "${backupdir}" 58 assert_stderr --partial "Starting configuration backup" 59 rune -1 cscli config backup "${backupdir}" 60 assert_stderr --partial "failed to backup config" 61 assert_stderr --partial "file exists" 62 rm -rf -- "${backupdir:?}" 63 } 64 65 @test "without capi: cscli lapi status -> success" { 66 config_disable_capi 67 ./instance-crowdsec start 68 rune -0 cscli lapi status 69 assert_stderr --partial "You can successfully interact with Local API (LAPI)" 70 } 71 72 @test "cscli metrics" { 73 config_disable_capi 74 ./instance-crowdsec start 75 rune -0 cscli lapi status 76 rune -0 cscli metrics 77 assert_output --partial "Route" 78 assert_output --partial '/v1/watchers/login' 79 assert_output --partial "Local API Metrics:" 80 }