add api testing (#14)
* add fixture to make api calls with authentification * add authentik test that checks the status of all blueprints * add option to append any kind of data to html report Reviewed-on: local-it-infrastructure/e2e_tests#14 Co-authored-by: Daniel <d.brummerloh@gmail.com> Co-committed-by: Daniel <d.brummerloh@gmail.com>
This commit is contained in:
parent
d1ff1183a5
commit
873bf73ae8
8 changed files with 89 additions and 19 deletions
|
|
@ -4,4 +4,4 @@ from pytest_abra import Runner, Test
|
|||
class RunnerAuthentik(Runner):
|
||||
env_type = "authentik"
|
||||
setups = [Test(test_file="setup_authentik.py")]
|
||||
# tests = [Test(test_file="test_authentik_dummy.py")]
|
||||
tests = [Test(test_file="test_authentik_blueprint_api.py")]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
# api testing
|
||||
# https://playwright.dev/python/docs/api-testing
|
||||
|
||||
import pytest_html # type: ignore
|
||||
from icecream import ic # type: ignore
|
||||
from playwright.sync_api import APIRequestContext
|
||||
from tabulate import tabulate # type: ignore
|
||||
|
||||
from pytest_abra import BaseUrl
|
||||
|
||||
|
||||
def test_authentik_blueprint_status(
|
||||
api_request_context: APIRequestContext,
|
||||
URL: BaseUrl,
|
||||
extras,
|
||||
) -> None:
|
||||
blueprints = api_request_context.get(URL.get("api/v3/managed/blueprints"))
|
||||
assert blueprints.ok
|
||||
blueprints_data = blueprints.json()
|
||||
ic(blueprints_data)
|
||||
|
||||
# fake failed blueprint
|
||||
# blueprints_data["results"][10]["status"] = "failed"
|
||||
|
||||
table_data_all = []
|
||||
table_data_failed = []
|
||||
for item in blueprints_data["results"]:
|
||||
row = [item["name"], item["enabled"], item["status"]]
|
||||
table_data_all.append(row)
|
||||
if item["status"] != "successful":
|
||||
table_data_failed.append(row)
|
||||
|
||||
table = tabulate(table_data_all, headers=["name", "enabled", "status"])
|
||||
extras.append(pytest_html.extras.text(table, name="Authentik Blueprint Status"))
|
||||
|
||||
# with pytest -v (verbose) the failed blueprints will be visible in the traceback
|
||||
assert (
|
||||
table_data_failed == []
|
||||
), "One or more blueprints were not successful. See Authentik Blueprint Status in html report"
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
def test_true():
|
||||
assert 1 + 1 == 2
|
||||
|
||||
|
||||
def test_not_true():
|
||||
assert 1 + 1 == 3
|
||||
Loading…
Add table
Add a link
Reference in a new issue