tests/e2e: add forward auth e2e test (#11374)
* add nginx forward_auth e2e tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add envoy Signed-off-by: Jens Langhammer <jens@goauthentik.io> * cleanup Signed-off-by: Jens Langhammer <jens@goauthentik.io> * remove even more duplicate code Signed-off-by: Jens Langhammer <jens@goauthentik.io> * cleanup more Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add traefik static config Signed-off-by: Jens Langhammer <jens@goauthentik.io> * more cleanup, don't generate dex config cause they support env variables Signed-off-by: Jens Langhammer <jens@goauthentik.io> * use default dex entrypoint to use templating Signed-off-by: Jens Langhammer <jens@goauthentik.io> * remove options that are always set as default Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix compose flag Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add caddy Signed-off-by: Jens Langhammer <jens@goauthentik.io> * merge python files Signed-off-by: Jens Langhammer <jens@goauthentik.io> * use whoami api to check better Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix envoy config Signed-off-by: Jens Langhammer <jens@goauthentik.io> * set invalidation flow Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix logout checks Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
		@ -1,7 +1,6 @@
 | 
			
		||||
"""test OAuth2 OpenID Provider flow"""
 | 
			
		||||
 | 
			
		||||
from time import sleep
 | 
			
		||||
from typing import Any
 | 
			
		||||
 | 
			
		||||
from docker.types import Healthcheck
 | 
			
		||||
from selenium.webdriver.common.by import By
 | 
			
		||||
@ -32,21 +31,17 @@ class TestProviderOAuth2OAuth(SeleniumTestCase):
 | 
			
		||||
        self.client_secret = generate_key()
 | 
			
		||||
        self.app_slug = generate_id(20)
 | 
			
		||||
        super().setUp()
 | 
			
		||||
 | 
			
		||||
    def get_container_specs(self) -> dict[str, Any] | None:
 | 
			
		||||
        return {
 | 
			
		||||
            "image": "grafana/grafana:7.1.0",
 | 
			
		||||
            "detach": True,
 | 
			
		||||
            "auto_remove": True,
 | 
			
		||||
            "healthcheck": Healthcheck(
 | 
			
		||||
        self.run_container(
 | 
			
		||||
            image="grafana/grafana:7.1.0",
 | 
			
		||||
            ports={
 | 
			
		||||
                "3000": "3000",
 | 
			
		||||
            },
 | 
			
		||||
            healthcheck=Healthcheck(
 | 
			
		||||
                test=["CMD", "wget", "--spider", "http://localhost:3000"],
 | 
			
		||||
                interval=5 * 1_000 * 1_000_000,
 | 
			
		||||
                start_period=1 * 1_000 * 1_000_000,
 | 
			
		||||
            ),
 | 
			
		||||
            "ports": {
 | 
			
		||||
                "3000": "3000",
 | 
			
		||||
            },
 | 
			
		||||
            "environment": {
 | 
			
		||||
            environment={
 | 
			
		||||
                "GF_AUTH_GENERIC_OAUTH_ENABLED": "true",
 | 
			
		||||
                "GF_AUTH_GENERIC_OAUTH_CLIENT_ID": self.client_id,
 | 
			
		||||
                "GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET": self.client_secret,
 | 
			
		||||
@ -60,7 +55,7 @@ class TestProviderOAuth2OAuth(SeleniumTestCase):
 | 
			
		||||
                ),
 | 
			
		||||
                "GF_LOG_LEVEL": "debug",
 | 
			
		||||
            },
 | 
			
		||||
        }
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    @retry()
 | 
			
		||||
    @apply_blueprint(
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user