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  }