Allow specifying the name of the header for forwarding client certificates #10359
GitHub Actions / JEST Tests v1.26.6
succeeded
Sep 1, 2023 in 0s
JEST Tests v1.26.6 ✔️
✔️ report-e2e-test-suite.xml
432 tests were completed in 2767s with 426 passed, 0 failed and 6 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
nginx-ingress-controller e2e suite | 426✔️ | 6✖️ | 2767s |
✔️ nginx-ingress-controller e2e suite
nginx-ingress-controller e2e suite
✔️ [It] [Setting] [Load Balancer] round-robin should evenly distribute requests with round-robin (default algorithm)
✔️ [It] [Annotations] modsecurity owasp should enable modsecurity through the config map but ignore snippet as disabled by admin
✔️ [It] [Lua] dynamic configuration when only backends change handles endpoints only changes
✔️ [It] [Setting] keep-alive keep-alive-requests Check the upstream keep alive should set keepalive connection to upstream server
✔️ [It] [Setting] proxy-next-upstream should build proxy next upstream using configmap values
✔️ [It] [Annotations] client-body-buffer-size should not set client_body_buffer_size to invalid 1b
✔️ [It] [Annotations] cors-* should allow - matching origin with wildcard origin (2 subdomains)
✔️ [It] [Annotations] limit-rate Check limit-rate annotation
✔️ [It] [Setting] [Security] global-auth-url when global external authentication is configured should proxy_method method when global-auth-method is configured
✔️ [It] [Ingress] definition without host should set ingress details variables for ingresses without a host
✔️ [It] [Flag] custom HTTP and HTTPS ports with a plain HTTP ingress should set X-Forwarded-Port headers accordingly when listening on a non-default HTTP port
✔️ [It] [Setting] [Security] block-* should block User-Agents defined in the ConfigMap
✔️ [It] [Annotations] cors-* should allow - single origin for multiple cors values
✔️ [It] [Setting] [Security] global-auth-url when global external authentication is configured should still return status code 200 after auth backend is deleted using cache
✔️ [It] [Annotations] auth-* should return status code 503 when authentication is configured with an invalid secret
✔️ [It] Configure OpenTracing should exists opentracing directive when is enabled
✔️ [It] [TCP] tcp-services should reload after an update in the configuration
✔️ [It] [Annotations] auth-* when external authentication is configured should enable set_all_vars when auth-keepalive-share-vars is true
✔️ [It] [Setting] configmap server-snippet should add global server-snippet and drop annotations per admin config
✔️ [It] [Annotations] auth-* with invalid auth-url should deny whole location should add error to the config
✔️ [It] [Annotations] auth-* should set cache_key when external auth cache is configured
✔️ [It] [Annotations] cors-* should not allow - single origin without port and origin with required port
✔️ [It] [Setting] nginx-configuration start nginx with default configuration
✔️ [It] [Annotations] canary-* does not crash when canary ingress has multiple paths to the same non-matching backend
✔️ [It] [Annotations] canary-* when canaried by header with value and cookie should route requests to the correct upstream
✔️ [It] [Annotations] canary-* when canaried by header with value and pattern should routes to mainline upstream when the given Regex causes error
✔️ [It] [Annotations] proxy-ssl-* should set valid proxy-ssl-secret, proxy-ssl-ciphers to HIGH:!AES
✔️ [It] [Setting] log-format-* Check log-format-upstream with log-format-escape-json and log-format-escape-none log-format-escape-json enabled
✔️ [It] [Setting] configmap server-snippet should add value of server-snippet setting to all ingress config
✔️ [It] [Annotations] http2-push-preload enable the http2-push-preload directive
✔️ [It] [Flag] disable-catch-all should ignore catch all Ingress with backend and rules
✔️ [It] [Annotations] ssl-ciphers should change ssl ciphers
✔️ [It] [Lua] dynamic certificates picks up the certificate when we add TLS spec to existing ingress
✔️ [It] [Annotations] modsecurity owasp should enable modsecurity with snippet and block requests
✔️ [It] [Setting] keep-alive keep-alive-requests Check the upstream keep alive should set the request count to upstream server through one keep alive connection
✔️ [It] [Setting] [SSL] TLS protocols, ciphers and headers) should configure HSTS policy header setting includeSubDomains parameter
✔️ [It] [Status] status update should update status field after client-go reconnection
✔️ [It] [Annotations] cors-* should not allow - single origin for multiple cors values
✔️ [It] [Annotations] allowlist-source-range should set valid ip allowlist range
✔️ [It] [Annotations] cors-* should set cors max-age
✔️ [It] [Annotations] proxy-* should build proxy next upstream
✔️ [It] [Annotations] proxy-* should set valid proxy timeouts
✔️ [It] [Setting] gzip should be enabled with default settings
✔️ [It] [Lua] dynamic certificates picks up the previously missing secret for a given ingress without reloading
✔️ [It] [Setting] use-proxy-protocol should respect proto passed by the PROXY Protocol server port
✔️ [It] [Flag] ingress-class With specific ingress-class flags should ignore Ingress with no class and accept the correctly configured Ingresses
✔️ [It] [Annotations] modsecurity owasp should disable modsecurity using 'modsecurity off;'
✔️ [It] [Annotations] canary-* when canaried by cookie respects always and never values
✔️ [It] [Annotations] auth-* cookie set by external authentication server user does not retain cookie if upstream returns error status code
✖️ [It] [Setting] Geoip2 should only allow requests from specific countries
✖️ [It] [Memory Leak] Dynamic Certificates should not leak memory from ingress SSL certificates or configuration updates
✔️ [It] [Setting] ssl-ciphers Add ssl ciphers
✔️ [It] [Shutdown] ingress controller should shutdown in less than 60 secons without pending connections
✔️ [It] [Annotations] x-forwarded-prefix should set the X-Forwarded-Prefix to the annotation value
✔️ [It] [Setting] access-log access-log-path use the specified configuration
✔️ [It] [Annotations] canary-* when canary is created should return 404 status for requests to the canary if no matching ingress is found
✔️ [It] [Service] Type ExternalName should return 200 for service type=ExternalName without a port defined
✔️ [It] [Admission] admission controller should not allow overlaps of host and paths without canary annotations
✔️ [It] [Admission] admission controller should return an error if there is an invalid path and wrong pathType is set
✔️ [It] annotation validations should allow ingress based on their risk on webhooks
✔️ [It] [Admission] admission controller should return an error if there is an invalid value in some annotation
✔️ [It] [Admission] admission controller should not return an error if the Ingress V1 definition is valid with Ingress Class
✔️ [It] [Flag] watch namespace selector With specific watch-namespace-selector flags should ignore Ingress of namespace without label foo=bar and accept those of namespace with label foo=bar
✔️ [It] [Admission] admission controller should not return an error for an invalid Ingress when it has unknown class
✔️ [It] [Admission] admission controller should block ingress with invalid path
✔️ [It] [TopologyHints] topology aware routing should return 200 when service has topology hints
✔️ [It] [Admission] admission controller should return an error if there is a forbidden value in some annotation
✔️ [It] [Admission] admission controller should not return an error if the Ingress V1 definition is valid with IngressClass annotation
✔️ [It] [Admission] admission controller should allow overlaps of host and paths with canary annotation
✔️ [It] annotation validations should allow ingress based on their risk on webhooks
✔️ [It] [Admission] admission controller should return an error if there is an error validating the ingress definition
✔️ [It] [Admission] admission controller reject ingress with global-rate-limit annotations when memcached is not configured
✔️ [It] [Admission] admission controller should return an error if the Ingress V1 definition contains invalid annotations
✔️ [It] [Annotations] modsecurity owasp should enable modsecurity
✔️ [It] [Annotations] cors-* should enable cors
✔️ [It] [Annotations] auth-* should set snippet "proxy_set_header My-Custom-Header 42;" when external auth is configured
✔️ [It] [Annotations] auth-* should return status code 401 when authentication is configured and Authorization header is sent with invalid credentials
✔️ [It] [Annotations] modsecurity owasp should enable modsecurity with snippet
✔️ [It] [Annotations] auth-* when external authentication is configured should return status code 200 when signed in
✔️ [It] [Annotations] cors-* should allow correct origins - single origin for multiple cors values
✔️ [It] [Setting] [Security] global-auth-url when global external authentication is configured should return status code 401 when request any protected service
✔️ [It] [Setting] access-log http-access-log-path & stream-access-log-path use the specified configuration
✔️ [It] [Annotations] modsecurity owasp should enable modsecurity through the config map
✔️ [It] [Annotations] auth-* should return status code 200 when no authentication is configured
✔️ [It] [Flag] ingress-class Without IngressClass Cluster scoped Permission should ignore Ingress with only IngressClassName
✔️ [It] [Setting] [Security] no-auth-locations should return status code 200 when accessing '/' authentication
✔️ [It] [Setting] gzip should set gzip_min_length to 100
✔️ [It] [Annotations] backend-protocol should set backend protocol to grpcs:// and use grpc_pass
✔️ [It] [Annotations] cors-* should allow - missing origins (should allow all origins)
✔️ [It] [Annotations] denylist-source-range only allow explicitly allowed IPs, deny all others
✔️ [It] [Service] backend status code 503 should return 503 when all backend service endpoints are unavailable
✔️ [It] [Annotations] auth-* should return status code 401 and cors headers when authentication and cors is configured but Authorization header is not configured
✔️ [It] [Setting] configmap stream-snippet should add value of stream-snippet via config map to nginx config
✔️ [It] [Annotations] proxy-* should not set invalid proxy timeouts
✔️ [It] [Annotations] auth-* should return status code 401 when authentication is configured but Authorization header is not configured
✔️ [It] [Setting] main-snippet should add value of main-snippet setting to nginx config
✔️ [It] [Annotations] proxy-* should not set proxy client-max-body-size to incorrect value
✔️ [It] [Annotations] disable-access-log disable-http-access-log disable-stream-access-log disable-stream-access-log set access_log off
✔️ [It] [Annotations] Bad annotation values [BAD_ANNOTATIONS] should drop an ingress if there is an invalid character in some annotation
✔️ [It] Configure Opentelemetry should exists opentelemetry directive when is enabled
✔️ [It] [Annotations] canary-* when canaried by weight should route requests split between mainline and canary if canary weight is 50
✔️ [It] [Annotations] auth-* when external authentication is configured with a custom redirect param should return status code 200 when signed in
✔️ [It] [Setting] enable-multi-accept should be disabled when set to false
✔️ [It] [Lua] dynamic configuration when only backends change handles endpoints only changes (down scaling of replicas)
✔️ [It] [Annotations] server-alias should return status code 200 for host 'foo' and 'bar'
✔️ [It] [Setting] [Security] global-auth-url when global external authentication is configured should set request-redirect when global-auth-request-redirect is configured
✔️ [It] [Annotations] upstream-hash-by-* should connect to the same pod
✔️ [It] [Annotations] auth-* should return status code 200 when authentication is configured with a map and Authorization header is sent
✔️ [It] [Setting] [SSL] TLS protocols, ciphers and headers) should configure HSTS policy header overriding what's set from the upstream
✔️ [It] [Annotations] cors-* should not allow - portless origin with wildcard origin
✔️ [It] [TCP] tcp-services should expose a TCP service
✔️ [It] [Annotations] cors-* should not allow - single origin with port and origin without port
✔️ [It] [Annotations] cors-* should disable cors allow credentials
✔️ [It] [Flag] disable-catch-all should allow Ingress with rules
✔️ [It] [Annotations] auth-tls-* should return 200 using auth-tls-match-cn with matching CN from client
✔️ [It] [Ingress] [PathType] prefix checks should return 404 when prefix /aaa does not match request /aaaccc
✔️ [It] [Default Backend] custom service uses custom default backend that returns 200 as status code
✔️ [It] [Annotations] affinity session-cookie-name should set cookie with expires
✔️ [It] [Setting] hash size Check the variable hash size should set variables-hash-bucket-size
✔️ [It] [Annotations] server-snippet drops server snippet if disabled by the administrator
✔️ [It] [Annotations] upstream-vhost set host to upstreamvhost.bar.com
✔️ [It] [Annotations] cors-* should allow - single origin with required port
✔️ [It] [Annotations] backend-protocol - FastCGI should add fastcgi_param in the configuration file
✔️ [It] Dynamic $proxy_host should exist a proxy_host
✔️ [It] [Annotations] auth-* when external authentication with caching is configured should deny login for different location on same server
✔️ [It] [Setting] [SSL] TLS protocols, ciphers and headers) ports or X-Forwarded-Host check during HTTP tp HTTPS redirection should not use ports during the HTTP to HTTPS redirection
✔️ [It] [Annotations] auth-tls-* should pass URL-encoded certificate to upstream
✔️ [It] [Setting] Add no tls redirect locations Check no tls redirect locations config
✔️ [It] [Annotations] affinity session-cookie-name should not set cookie without domain annotation
✔️ [It] [Setting] access-log access-log-path use the default configuration
✔️ [It] [Annotations] canary-* when canary is created should route requests to the correct upstream if the mainline ingress is modified
✔️ [It] [Annotations] auth-* when external authentication is configured should not create additional upstream block when host part of auth-url contains a variable
✔️ [It] [Lua] dynamic configuration when only backends change handles an annotation change
✔️ [It] [Ingress] [PathType] mix Exact and Prefix paths should choose the correct location
✔️ [It] [Setting] hash size Check the map hash size should set vmap-hash-bucket-size
✔️ [It] [Setting] gzip should set gzip_types to application/javascript
✔️ [It] [Setting] proxy-send-timeout should set valid proxy send timeouts using configmap values
✔️ [It] [Annotations] backend-protocol - FastCGI should return OK for service with backend protocol FastCGI
✔️ [It] [Annotations] satisfy should configure satisfy directive correctly
✔️ [It] [Annotations] auth-tls-* should validate auth-tls-verify-client
✔️ [It] [Annotations] affinity session-cookie-name should not set secure in cookie with provided false annotation on http
✔️ [It] [Annotations] Bad annotation values [BAD_ANNOTATIONS] should drop an ingress if there is a custom blocklist config in place and allow others to pass
✔️ [It] [Annotations] affinity session-cookie-name should set secure in cookie with provided false annotation on https
✔️ [It] [Annotations] canary-* when canary is created should route requests to the correct upstream if mainline ingress is created before the canary ingress
✔️ [It] [Lua] dynamic certificates given an ingress with TLS correctly configured removes HTTPS configuration when we delete TLS spec
✔️ [It] [Annotations] affinity session-cookie-name should not set affinity across all server locations when using separate ingresses
✔️ [It] [Annotations] cors-* should set cors methods to only allow POST, GET
✔️ [It] [Annotations] auth-* when external authentication is configured should overwrite Foo header with auth response
✔️ [It] [Annotations] modsecurity owasp should disable default modsecurity conf setting when modsecurity-snippet is specified
✔️ [It] [Annotations] modsecurity owasp should enable modsecurity globally and with modsecurity-snippet block requests
✔️ [It] [Flag] custom HTTP and HTTPS ports with a TLS enabled ingress should set X-Forwarded-Port header to 443
✔️ [It] [Setting] add-headers Add multiple custom headers
✔️ [It] [Annotations] auth-tls-* should 302 redirect to error page instead of 400 when auth-tls-error-page is set
✔️ [It] [Flag] disable-sync-events should create sync events
✔️ [It] [Flag] disable-service-external-name should ignore services of external-name type
✔️ [It] [Annotations] configuration-snippet drops snippet more_set_header in all locations if disabled by admin
✔️ [It] [Setting] hash size Check proxy header hash size should set proxy-headers-hash-max-size
✔️ [It] [Annotations] backend-protocol should set backend protocol to grpc:// and use grpc_pass
✔️ [It] [Annotations] auth-tls-* should set valid auth-tls-secret, sslVerify to off, and sslVerifyDepth to 2
✔️ [It] [Flag] ingress-class With default ingress class config should serve Ingress when class is updated between annotation and ingressClassName
✔️ [It] [Annotations] permanent-redirect permanent-redirect-code should respond with a custom redirect code
✔️ [It] [Setting] [SSL] TLS protocols, ciphers and headers) should configure TLS protocol setting cipher suite
✔️ [It] [Annotations] canary-* canary affinity behavior always routes traffic to canary if first request was affinitized to canary (default behavior)
✔️ [It] [Service] Nil Service Backend should return 404 when backend service is nil
✔️ [It] [SSL] redirect to HTTPS should redirect from HTTP to HTTPS when secret is missing
✔️ [It] [Setting] [Security] global-auth-url when global external authentication is configured should set snippet when global external auth is configured
✔️ [It] [Ingress] [PathType] exact should choose exact location for /exact
✔️ [It] [Setting] proxy-connect-timeout should not set invalid proxy timeouts using configmap values
✔️ [It] [Annotations] modsecurity owasp should enable modsecurity without using 'modsecurity on;'
✔️ [It] [Annotations] disable-access-log disable-http-access-log disable-stream-access-log disable-access-log set access_log off
✔️ [It] [Annotations] backend-protocol - FastCGI should add fastcgi_index in the configuration file
✔️ [It] [Setting] OCSP should enable OCSP and contain stapling information in the connection
✔️ [It] [Annotations] canary-* when canaried by header with value should route requests to the correct upstream
✔️ [It] [Setting] log-format-* Check log-format-escape-json and log-format-escape-none should not configure log-format escape by default
✔️ [It] Configure OpenTracing should enable opentracing using jaeger with sampler host
✔️ [It] [Annotations] affinity session-cookie-name should set sticky cookie SERVERID
✔️ [It] [Flag] ingress-class With default ingress class config should accept both Ingresses with default IngressClassName and IngressClass annotation
✔️ [It] [Setting] access-log stream-access-log-path use the specified configuration
✔️ [It] [Annotations] annotation-global-rate-limit generates correct configuration
✔️ [It] [Annotations] cors-* should not break functionality with extra domain
✔️ [It] [Annotations] rewrite-target use-regex enable-rewrite-log should allow for custom rewrite parameters
✔️ [It] [Annotations] auth-* when external authentication is configured should not create additional upstream block when auth-keepalive is set with HTTP/2
✔️ [It] [Annotations] server-alias should return status code 200 for hosts defined in two ingresses, different path with one alias
✔️ [It] [Flag] enable-ssl-passthrough With enable-ssl-passthrough enabled should pass unknown traffic to default backend and handle known traffic
✔️ [It] [Setting] server-tokens should not exists Server header in the response
✔️ [It] [Setting] Configmap - limit-rate Check limit-rate config
✔️ [It] [Setting] gzip should set gzip_disable to msie6
✔️ [It] [Annotations] custom-http-errors configures Nginx correctly
✔️ [It] Debug CLI should list the backend servers
✔️ [It] [Flag] ingress-class With default ingress class config should delete Ingress when class is removed
✔️ [It] [Service] backend status code 503 should return 503 when backend service does not exist
✔️ [It] [TCP] tcp-services should expose an ExternalName TCP service
✔️ [It] [Flag] ingress-class With default ingress class config should serve Ingress when class is added
✔️ [It] [Setting] enable-multi-accept should be enabled when set to true
✔️ [It] [Setting] use-proxy-protocol should enable PROXY Protocol for HTTPS
✔️ [It] [Annotations] auth-* when external authentication is configured should redirect to signin url when not signed in
✔️ [It] Configure OpenTracing should not exists opentracing_operation_name directive when is empty
✔️ [It] [Setting] [Security] global-auth-url when global external authentication is configured should return status code 200 when request whitelisted (via no-auth-locations) service and 401 when request protected service
✔️ [It] [Default Backend] change default settings should apply the annotation to the default backend
✔️ [It] [Annotations] auth-* when external authentication is configured keeps processing new ingresses even if one of the existing ingresses is misconfigured
✔️ [It] [Annotations] canary-* when canaried by weight should route requests only to mainline if canary weight is 0
✔️ [It] [Setting] hash size Check proxy header hash size should set proxy-headers-hash-bucket-size
✔️ [It] [Flag] disable-sync-events should not create sync events
✔️ [It] [Annotations] service-upstream when enabling in the configmap and disabling in the annotations should not use the Service Cluster IP and Port
✔️ [It] [Annotations] client-body-buffer-size should set client_body_buffer_size to 1m
✔️ [It] [Annotations] proxy-* should turn off proxy-request-buffering
✔️ [It] [Annotations] canary-* canary affinity behavior always routes traffic to canary if first request was affinitized to canary (explicit sticky behavior)
✔️ [It] [Flag] ingress-class With watch-ingress-without-class flag should watch Ingress with no class and ignore ingress with a different class
✔️ [It] [SSL] secret update should not appear references to secret updates not used in ingress rules
✔️ [It] [Annotations] mirror-* should disable mirror-request-body
✔️ [It] [Annotations] auth-* should return status code 200 when authentication is configured and Authorization header is sent
✔️ [It] [Annotations] backend-protocol should set backend protocol to https:// and use proxy_pass
✔️ [It] [Setting] log-format-* Check log-format-upstream with log-format-escape-json and log-format-escape-none log-format default escape
✔️ [It] [Setting] access-log http-access-log-path use the specified configuration
✔️ [It] [Setting] [Security] global-auth-url cookie set by external authentication server user retains cookie by default
✔️ [It] [Setting] [Security] no-auth-locations should return status code 401 when accessing '/' unauthentication
✔️ [It] [Annotations] rewrite-target use-regex enable-rewrite-log should use correct longest path match
✔️ [It] [Default Backend] SSL should return a self generated SSL certificate
✔️ [It] [Annotations] from-to-www-redirect should redirect from www HTTPS to HTTPS
✔️ [It] [Setting] keep-alive keep-alive-requests Check the upstream keep alive should set keepalive time to upstream server
✔️ [It] [Annotations] configuration-snippet set snippet more_set_headers in all locations
✔️ [It] [Setting] reuse-port reuse port should be disabled
✔️ [It] [Flag] custom HTTP and HTTPS ports with a TLS enabled ingress when external authentication is configured should set the X-Forwarded-Port header to 443
✔️ [It] [Annotations] enable-access-log enable-rewrite-log set rewrite_log on
✔️ [It] Dynamic $proxy_host should exist a proxy_host using the upstream-vhost annotation value
✔️ [It] [Setting] [Security] block-* should block Referers defined in the ConfigMap
✔️ [It] Configure OpenTracing should exists opentracing_location_operation_name directive when is configured
✔️ [It] [Setting] [SSL] TLS protocols, ciphers and headers) should configure HSTS policy header setting max-age parameter
✔️ [It] [Annotations] proxy-* should change the default proxy HTTP version
✔️ [It] [Annotations] canary-* when canary is created should route requests to the correct upstream if the canary ingress is modified
✔️ [It] [Annotations] enable-access-log enable-rewrite-log set access_log off
✔️ [It] [Annotations] canary-* when canaried by weight should route requests split between mainline and canary if canary weight is 100 and weight total is 200
✖️ [It] [Default Backend] disables access logging for default backend
✔️ [It] [Annotations] service-upstream when enabling in the configmap should use the Service Cluster IP and Port
✔️ [It] [Annotations] canary-* when canaried by header with value and pattern should route requests to the correct upstream
✔️ [It] [Annotations] affinity session-cookie-name should warn user when use-regex is true and session-cookie-path is not set
✔️ [It] [Annotations] force-ssl-redirect should redirect to https
✔️ [It] [Annotations] denylist-source-range only deny explicitly denied IPs, allow all others
✔️ [It] [Service] Type ExternalName should sync ingress on external name service addition/deletion
✔️ [It] [Annotations] auth-* cookie set by external authentication server user with annotated ingress retains cookie if upstream returns error status code
✔️ [It] [Annotations] auth-* when external authentication is configured should not create additional upstream block when auth-keepalive is not set
✔️ [It] [Annotations] proxy-ssl-* proxy-ssl-location-only flag should change the nginx config server part
✔️ [It] [Annotations] modsecurity owasp should disable modsecurity
✔️ [It] [Setting] log-format-* Check log-format-escape-json and log-format-escape-none should enable the log-format-escape-json
✔️ [It] [Lua] dynamic certificates given an ingress with TLS correctly configured supports requests with domain with trailing dot
✔️ [It] [Setting] [Lua] lua-shared-dicts configures lua shared dicts
✔️ [It] global-options should have worker_rlimit_nofile option and be independent on amount of worker processes
✔️ [It] [Annotations] service-upstream when using the default value (false) and enabling in the annotations should use the Service Cluster IP and Port
✔️ [It] [Annotations] auth-* should not set snippet "proxy_set_header My-Custom-Header 42;" when external auth is not configured
✔️ [It] [Annotations] auth-* when external authentication is configured with a custom redirect param keeps processing new ingresses even if one of the existing ingresses is misconfigured
✔️ [It] [Lua] dynamic certificates given an ingress with TLS correctly configured falls back to using default certificate when secret gets deleted without reloading
✔️ [It] [Annotations] affinity session-cookie-name should set the path to /something on the generated cookie
✔️ [It] [Flag] ingress-class With ingress-class-by-name flag should watch Ingress that uses the class name even if spec is different
✔️ [It] [Setting] enable-real-ip trusts X-Forwarded-For header only when setting is true
✔️ [It] [Flag] ingress-class Without IngressClass Cluster scoped Permission should watch Ingress with correct annotation
✔️ [It] [Annotations] backend-protocol - FastCGI should use fastcgi_pass in the configuration file
✔️ [It] [Setting] server-tokens should exists Server header in the response when is enabled
✔️ [It] [Annotations] app-root should redirect to /foo
✔️ [It] [Annotations] modsecurity owasp should enable modsecurity with transaction ID and OWASP rules
✔️ [It] [Annotations] auth-* when external authentication with caching is configured should return status code 200 when signed in after auth backend is deleted
✔️ [It] [Annotations] server-alias should return status code 200 for host 'foo' and 404 for 'bar'
✔️ [It] [Setting] log-format-* Check log-format-escape-json and log-format-escape-none should disable the log-format-escape-json
✔️ [It] [Annotations] proxy-* should set proxy_redirect to default
✔️ [It] [metrics] exported prometheus metrics exclude socket request metrics are absent
✔️ [It] [Setting] [Security] block-* should block CIDRs defined in the ConfigMap
✔️ [It] [Annotations] backend-protocol - GRPC should return OK for service with backend protocol GRPCS
✔️ [It] [Annotations] affinity session-cookie-name does not set the path to / on the generated cookie if there's more than one rule referring to the same backend
✔️ [It] [Setting] keep-alive keep-alive-requests Check the keep alive should set keepalive_timeout
✔️ [It] Configure Opentelemetry should not exists opentelemetry_operation_name directive when is empty
✔️ [It] [Service] Type ExternalName should update the external name after a service update
✔️ [It] [Annotations] backend-protocol - GRPC should return OK for service with backend protocol GRPC
✔️ [It] [Setting] Geoip2 should include geoip2 line in config when enabled and db file exists
✔️ [It] [Annotations] backend-protocol should set backend protocol to $scheme:// and use proxy_pass
✔️ [It] [Annotations] server-snippet add valid directives to server via server snippet
✔️ [It] [Setting] keep-alive keep-alive-requests Check the keep alive should set keepalive_requests
✔️ [It] [Security] request smuggling should not return body content from error_page
✔️ [It] [Annotations] auth-* when external authentication is configured should create additional upstream block when auth-keepalive is set with HTTP/1.x
✔️ [It] [Annotations] canary-* when canary is created should response with a 200 status from the mainline upstream when requests are made to the mainline ingress
✔️ [It] [Annotations] affinity session-cookie-name should work with server-alias annotation
✔️ [It] [Annotations] auth-* with invalid auth-url should deny whole location should return 503 (location was denied)
✔️ [It] [Setting] use-forwarded-headers should not trust X-Forwarded headers when setting is false
✔️ [It] [Setting] hash size Check server names hash size should set server_names_hash_max_size
✔️ [It] [Setting] keep-alive keep-alive-requests Check the upstream keep alive should set keep alive connection timeout to upstream server
✔️ [It] [Annotations] client-body-buffer-size should set client_body_buffer_size to 1M
✔️ [It] [Annotations] affinitymode Check persistent affinity mode
✔️ [It] Configure OpenTracing should include opentracing_trust_incoming_span off directive when disabled
✔️ [It] [Setting] [Security] global-auth-url cookie set by external authentication server user does not retain cookie if upstream returns error status code
✔️ [It] [Annotations] cors-* should not match
✔️ [It] [Setting] Configmap change should reload after an update in the configuration
✔️ [It] Debug CLI should produce valid JSON for /dbg general
✔️ [It] [Annotations] canary-* when canaried by header with no value should route requests to the correct upstream
✔️ [It] [Shutdown] Grace period shutdown /healthz should return status code 500 during shutdown grace period
✔️ [It] [Setting] nginx-configuration fails when using alias directive
✔️ [It] [Flag] ingress-class With default ingress class config should ignore Ingress without IngressClass configuration
✔️ [It] [Annotations] permanent-redirect permanent-redirect-code should respond with a standard redirect code
✔️ [It] [Annotations] affinity session-cookie-name should work with use-regex annotation and session-cookie-path
✔️ [It] [Annotations] proxy-* should set proxy client-max-body-size to 8m
✔️ [It] [Setting] [Security] global-auth-url when global external authentication is configured should add custom error page when global-auth-signin url is configured
✔️ [It] [Setting] [Security] modsecurity-snippet should add value of modsecurity-snippet setting to nginx config
✔️ [It] [Setting] stream-snippet should add stream-snippet and drop annotations per admin config
✔️ [It] Configure OpenTracing should propagate the w3c header when configured with jaeger
✔️ [It] [Flag] disable-catch-all should ignore catch all Ingress with backend
✔️ [It] [Annotations] cors-* should allow headers for cors
✔️ [It] [Ingress] DeepInspection should drop whole ingress if one path matches invalid regex
✔️ [It] [Annotations] cors-* should allow origin for cors
✔️ [It] [Annotations] default-backend when default backend annotation is enabled should use a custom default backend as upstream
✔️ [It] Configure OpenTracing should enable opentracing using zipkin
✔️ [It] [Annotations] Bad annotation values [BAD_ANNOTATIONS] should drop an ingress if there is a forbidden word in some annotation
✔️ [It] single ingress - multiple hosts should set the correct $service_name NGINX variable
✔️ [It] [Annotations] auth-* should set "proxy_set_header 'My-Custom-Header' '42';" when auth-headers are set
✔️ [It] [Annotations] x-forwarded-prefix should not add X-Forwarded-Prefix if the annotation value is empty
✔️ [It] Configure Opentelemetry should exists opentelemetry_operation_name directive when is configured
✔️ [It] Configure OpenTracing should exists opentracing_operation_name directive when is configured
✔️ [It] Configure Opentelemetry should not exists opentelemetry directive
✔️ [It] [Annotations] cors-* should not allow - unmatching origin with wildcard origin (2 subdomains)
✔️ [It] [Lua] dynamic certificates given an ingress with TLS correctly configured picks up the updated certificate without reloading
✔️ [It] [Flag] ingress-class With default ingress class config should ignore Ingress with a different class annotation
✔️ [It] [Annotations] auth-tls-* should set sslClientCertificate, sslVerifyClient and sslVerifyDepth with auth-tls-secret
✔️ [It] [Annotations] auth-tls-* should return 403 using auth-tls-match-cn with no matching CN from client
✔️ [It] [Annotations] backend-protocol - GRPC authorization metadata should be overwritten by external auth response headers
✔️ [It] [Annotations] cors-* should expose headers for cors
✔️ [It] [Service] Type ExternalName works with external name set to incomplete fqdn
✔️ [It] [Annotations] mirror-* should set mirror-target to https://test.env.com/$request_uri
✔️ [It] [Annotations] canary-* when canary is created should route requests to the correct upstream if mainline ingress is created after the canary ingress
✔️ [It] [Annotations] affinity session-cookie-name should set cookie with domain
✔️ [It] [Setting] hash size Check the variable hash size should set variables-hash-max-size
✔️ [It] Configure OpenTracing should not exists opentracing directive
✔️ [It] [Setting] [Load Balancer] EWMA does not fail requests
✔️ [It] [Annotations] canary-* Single canary Ingress should not use canary as a catch-all server
✔️ [It] [Lua] dynamic certificates given an ingress with TLS correctly configured picks up a non-certificate only change
✔️ [It] [Setting] use-forwarded-headers should trust X-Forwarded headers when setting is true
✔️ [It] [SSL] secret update should return the fake SSL certificate if the secret is invalid
✔️ [It] [Annotations] proxy-* should set proxy_redirect to hello.com goodbye.com
✔️ [It] [Annotations] satisfy should allow multiple auth with satisfy any
✔️ [It] Configure OpenTracing should enable opentracing using datadog
✔️ [It] [Annotations] rewrite-target use-regex enable-rewrite-log should use ~* location modifier if regex annotation is present
✔️ [It] Debug CLI should get information for a specific backend server
✔️ [It] [Setting] gzip should set gzip_comp_level to 4
✔️ [It] [Annotations] mirror-* should set mirror-target to http://localhost/mirror
✔️ [It] [Annotations] cors-* should not break functionality - without `*`
✔️ [It] [Annotations] auth-* should return status code 401 when authentication is configured with invalid content and Authorization header is sent
✔️ [It] [Annotations] canary-* Single canary Ingress should not use canary with domain as a server
✔️ [It] [Annotations] proxy-* should turn on proxy-buffering
✔️ [It] [Annotations] affinity session-cookie-name should set sticky cookie without host
✔️ [It] [Ingress] definition without host should set ingress details variables for ingresses with host without IngressRuleValue, only Backend
✔️ [It] [Annotations] disable-access-log disable-http-access-log disable-stream-access-log disable-http-access-log set access_log off
✔️ [It] [Setting] [Security] global-auth-url when global external authentication is configured should return status code 200 when request whitelisted (via ingress annotation) service and 401 when request protected service
✖️ [It] [Security] Pod Security Policies should be running with a Pod Security Policy
✔️ [It] [Annotations] canary-* when canaried by weight should route requests only to canary if canary weight is 100
✔️ [It] [Lua] dynamic configuration when only backends change handles endpoints only changes consistently (down scaling of replicas vs. empty service)
✔️ [It] [Annotations] client-body-buffer-size should set client_body_buffer_size to 1k
✖️ [It] [Security] Pod Security Policies with volumes should be running with a Pod Security Policy
✔️ [It] [Setting] proxy-send-timeout should not set invalid proxy send timeouts using configmap values
✔️ [It] [Annotations] affinity session-cookie-name should change cookie name on ingress definition change
✔️ [It] [Annotations] from-to-www-redirect should redirect from www HTTP to HTTP
✔️ [It] [Flag] enable-ssl-passthrough With enable-ssl-passthrough enabled should enable ssl-passthrough-proxy-port on a different port
✔️ [It] brotli should only compress responses that meet the `brotli-min-length` condition
✔️ [It] [Annotations] auth-* when external authentication is configured with a custom redirect param should redirect to signin url when not signed in
✔️ [It] [Annotations] canary-* when canaried by weight should route requests only to canary if canary weight is equal to canary weight total
✔️ [It] [Annotations] auth-* cookie set by external authentication server user retains cookie by default
✔️ [It] [Setting] proxy-connect-timeout should set valid proxy timeouts using configmap values
✔️ [It] [SSL] [Flag] default-ssl-certificate uses default ssl certificate for host based ingress when configured certificate does not match host
✔️ [It] [Annotations] rewrite-target use-regex enable-rewrite-log should write rewrite logs
✔️ [It] [Setting] log-format-* Check log-format-escape-json and log-format-escape-none should enable the log-format-escape-none
✔️ [It] [Setting] gzip should be disabled by default
✔️ [It] [Annotations] proxy-* should setup proxy cookies
✔️ [It] plugins should exist a x-hello-world header
✔️ [It] [Setting] use-proxy-protocol should respect port passed by the PROXY Protocol
✔️ [It] [Annotations] proxy-ssl-* should set valid proxy-ssl-secret, proxy-ssl-verify to on, proxy-ssl-verify-depth to 2, and proxy-ssl-server-name to on
✔️ [It] [Setting] [Load Balancer] load-balance should apply the configmap load-balance setting
✔️ [It] [Annotations] rewrite-target use-regex enable-rewrite-log should fail to use longest match for documented warning
✔️ [It] [Service] Type ExternalName should return 200 for service type=ExternalName using FQDN with trailing dot
✔️ [It] [Setting] stream-snippet should add value of stream-snippet to nginx config
✔️ [It] [Annotations] canary-* when canaried by header with value and pattern should route requests to the correct upstream
✔️ [It] [Setting] log-format-* Check log-format-escape-json and log-format-escape-none should disable the log-format-escape-none
✔️ [It] [Annotations] affinitymode Balanced affinity mode should balance
✔️ [It] [metrics] exported prometheus metrics exclude socket request metrics are present
✔️ [It] [Setting] settings-global-rate-limit generates correct NGINX configuration
✔️ [It] [Setting] nginx-configuration fails when using root directive
✔️ [It] [Flag] ingress-class With default ingress class config should ignore Ingress with different controller class
✔️ [It] Configure OpenTracing should enable opentracing using jaeger
✔️ [It] [Annotations] canary-* canary affinity behavior routes traffic to either mainline or canary backend (legacy behavior)
✔️ [It] [Setting] [Security] no-auth-locations should return status code 200 when accessing '/noauth' unauthenticated
✔️ [It] Configure Opentelemetry should include opentelemetry_trust_incoming_spans on directive when enabled
✔️ [It] [Setting] [Security] global-auth-url when global external authentication is configured should add auth headers when global-auth-response-headers is configured
✔️ [It] Configure OpenTracing should not exists opentracing_location_operation_name directive when is empty
✔️ [It] [Annotations] auth-tls-* should return 200 using auth-tls-match-cn where atleast one of the regex options matches CN from client
✔️ [It] [Setting] reuse-port reuse port should be enabled
✔️ [It] [Setting] hash size Check server names hash size should set server_names_hash_bucket_size
✔️ [It] [Annotations] affinity session-cookie-name should set secure in cookie with provided true annotation on http
✔️ [It] [Setting] enable-real-ip should not trust X-Forwarded-For header when setting is false
✔️ [It] [Annotations] auth-* when external authentication with caching is configured should redirect to signin url when not signed in
✔️ [It] [Setting] use-proxy-protocol should enable PROXY Protocol for TCP
✔️ [It] [Setting] add-headers Add a custom header
✔️ [It] [Annotations] auth-* when external authentication is configured should not create additional upstream block when auth-keepalive is negative
✔️ [It] [Setting] log-format-* Check log-format-upstream with log-format-escape-json and log-format-escape-none log-format-escape-none enabled
✔️ [It] [Default Backend] should return 404 sending requests when only a default backend is running
✔️ [It] [Annotations] proxy-ssl-* should set valid proxy-ssl-secret, proxy-ssl-protocols
✔️ [It] [Annotations] client-body-buffer-size should set client_body_buffer_size to 1000
✔️ [It] [Endpointslices] long service name should return 200 when service name has max allowed number of characters 63
✔️ [It] [Annotations] proxy-* should set proxy_redirect to off
✔️ [It] [Setting] enable-multi-accept should be enabled by default
✔️ [It] [Annotations] client-body-buffer-size should set client_body_buffer_size to 1K
✔️ [It] [Setting] proxy-read-timeout should set valid proxy read timeouts using configmap values
✔️ [It] [Annotations] proxy-ssl-* should set valid proxy-ssl-secret
✔️ [It] [Lua] dynamic configuration configures balancer Lua middleware correctly
✔️ [It] [Setting] [SSL] TLS protocols, ciphers and headers) should configure HSTS policy header setting preload parameter
✔️ [It] [Setting] proxy-read-timeout should not set invalid proxy read timeouts using configmap values
✖️ [It] [Default Backend] enables access logging for default backend
✔️ [It] [Setting] [Security] global-auth-url cookie set by external authentication server user with global-auth-always-set-cookie key in configmap retains cookie if upstream returns error status code
✔️ [It] [Service] Type ExternalName should return 200 for service type=ExternalName with a port defined
✔️ [It] [Annotations] backend-protocol should set backend protocol to '' and use fastcgi_pass
✔️ [It] [Service] Type ExternalName should return 200 for service type=ExternalName using a port name
✔️ [It] [Annotations] Annotation - limit-connections should limit-connections
✔️ [It] [Setting] [SSL] TLS protocols, ciphers and headers) ports or X-Forwarded-Host check during HTTP tp HTTPS redirection should not use ports or X-Forwarded-Host during the HTTP to HTTPS redirection
✔️ [It] [Service] Type ExternalName should return status 502 for service type=ExternalName with an invalid host
✔️ [It] [Flag] disable-catch-all should delete Ingress updated to catch-all
✔️ [It] [Setting] reuse-port reuse port should be enabled by default
✔️ [It] [Annotations] cors-* should not break functionality
✔️ [It] [Annotations] connection-proxy-header set connection header to keep-alive
✔️ [It] [Annotations] preserve-trailing-slash should allow preservation of trailing slashes
✔️ [It] [Annotations] Bad annotation values [BAD_ANNOTATIONS] should allow an ingress if there is a default blocklist config in place
✔️ [It] [Annotations] cors-* should allow - matching origin+port with wildcard origin
✔️ [It] [Annotations] backend-protocol - GRPC should use grpc_pass in the configuration file
✔️ [It] [Annotations] modsecurity owasp should enable modsecurity when enable-owasp-modsecurity-crs is set to true
✔️ [It] global-options should have worker_rlimit_nofile option
✔️ [It] [Annotations] cors-* should allow correct origins - missing subdomain + origin with wildcard origin and correct origin
✔️ [It] [Flag] disable-sync-events should create sync events (default)
✔️ [It] [SSL] [Flag] default-ssl-certificate uses default ssl certificate for catch-all ingress
✔️ [It] [Annotations] upstream-hash-by-* should connect to the same subset of pods
✔️ [It] [Annotations] auth-* when external authentication is configured should disable set_all_vars when auth-keepalive-share-vars is not set
✔️ [It] [Annotations] auth-* when external authentication with caching is configured should deny login for different servers
Loading