mirror of
https://github.com/crowdsecurity/crowdsec.git
synced 2025-05-12 21:05:53 +02:00
* Use pytest-cs 0.2 * fix pipenv cache key * Cache docker layers * Load build images from buildx to docker * CI: commit Pipfile.lock * Add full docker tag * Cache only amd64 docker layers * Cache layer mode=min
45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
#!/usr/bin/env python
|
|
|
|
from http import HTTPStatus
|
|
|
|
import pytest
|
|
pytestmark = pytest.mark.docker
|
|
|
|
|
|
def test_no_capi(crowdsec, flavor):
|
|
"""Test no CAPI (disabled by default in tests)"""
|
|
|
|
env = {
|
|
'DISABLE_ONLINE_API': 'true',
|
|
}
|
|
|
|
with crowdsec(flavor=flavor, environment=env) as cs:
|
|
cs.wait_for_log("*Starting processing data*")
|
|
cs.wait_for_http(8080, '/health', want_status=HTTPStatus.OK)
|
|
res = cs.cont.exec_run('cscli capi status')
|
|
assert res.exit_code == 1
|
|
assert "You can successfully interact with Central API (CAPI)" not in res.output.decode()
|
|
|
|
logs = cs.log_lines()
|
|
assert not any("Successfully registered to Central API (CAPI)" in line for line in logs)
|
|
assert not any("Registration to online API done" in line for line in logs)
|
|
|
|
|
|
def test_capi(crowdsec, flavor):
|
|
"""Test CAPI"""
|
|
|
|
env = {
|
|
'DISABLE_ONLINE_API': 'false',
|
|
}
|
|
|
|
with crowdsec(flavor=flavor, environment=env) as cs:
|
|
cs.wait_for_log("*Starting processing data*")
|
|
cs.wait_for_http(8080, '/health', want_status=HTTPStatus.OK)
|
|
res = cs.cont.exec_run('cscli capi status')
|
|
assert res.exit_code == 0
|
|
assert "You can successfully interact with Central API (CAPI)" in res.output.decode()
|
|
|
|
cs.wait_for_log([
|
|
"*Successfully registered to Central API (CAPI)*",
|
|
"*Registration to online API done*",
|
|
])
|