@ingress.rule @release-1.22

Feature: Path test

An Ingress may define routing rules based on the request path. If the HTTP request path matches one of the paths in the Ingress objects, the traffic is routed to its backend service.

Scenarios
Status Progress

Passed

100.00%

Failed

0.00%
Scenario: An Ingress with prefix path rules / and /aaa should send traffic to the matching backend service

(prefix / and /aaa matches request / and route to single-slash-type-prefix)

check_circle
Given 1m25s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 6s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-prefix/
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-type-prefix service
Scenario: An Ingress with prefix path rules / and /aaa should send traffic to the matching backend service

(prefix / and /aaa matches request /a and route to single-slash-type-prefix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-prefix/a
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-type-prefix service
Scenario: An Ingress with prefix path rules / and /aaa should send traffic to the matching backend service

(prefix / and /aaa matches request /aaa and route to single-slash-aaa-type-prefix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-prefix/aaa
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-type-prefix service
Scenario: An Ingress with prefix path rules / and /aaa should send traffic to the matching backend service

(prefix / and /aaa matches request /aaa/ and route to single-slash-aaa-type-prefix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-prefix/aaa/
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-type-prefix service
Scenario: An Ingress with prefix path rules / and /aaa should send traffic to the matching backend service

(prefix / and /aaa matches request /aaa/ and route to single-slash-type-prefix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-prefix/aaaxyz
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-type-prefix service
Scenario: An Ingress with prefix path rules / and /aaa should send traffic to the matching backend service

(prefix / and /aaa matches request /aaa/ccc and route to single-slash-aaa-type-prefix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-prefix/aaa/ccc
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-type-prefix service
Scenario: An Ingress with prefix path rules / and /aaa should send traffic to the matching backend service

(prefix / and /aaa matches request /aaa/ccc/a/b/c/d/e/f/g and route to single-slash-aaa-type-prefix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-prefix/aaa/ccc/a/b/c/d/e/f/g
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-type-prefix service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://prefix-exact/
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-type-prefix-mix service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://prefix-exact/a
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-type-prefix-mix service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://prefix-exact/aaa
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-type-exact-mix service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://prefix-exact/aaa/
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-type-prefix-mix service
Scenario: An Ingress with prefix path rules / and exact path rules /aaa should send traffic to the matching backend service

(prefix / and /aaa matches request /aaaxyz and route to single-slash-type-prefix-mix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://prefix-exact/aaaxyz
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-type-prefix-mix service
Scenario: An Ingress with prefix path rules / and exact path rules /aaa should send traffic to the matching backend service

(prefix / and /aaa matches request /aaa/ccc and route to single-slash-type-prefix-mix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://prefix-exact/aaa/ccc
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-type-prefix-mix service
Scenario: An Ingress with prefix path rules / and exact path rules /aaa should send traffic to the matching backend service

(prefix / and /aaa matches request /aaa/ccc/a/b/c/d/e/f/g and route to single-slash-type-prefix-mix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://prefix-exact/aaa/ccc/a/b/c/d/e/f/g
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-type-prefix-mix service
Scenario: An Ingress with exact path rules / and prefix path rules /aaa should send traffic to the matching backend service

(exact / and prefix /aaa matches request / and route to single-slash-type-exact-mix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://exact-prefix/
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-type-exact-mix service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://exact-prefix/a
check_circle
Then 0s the response status-code must be 500
Scenario: An Ingress with exact path rules / and prefix path rules /aaa should send traffic to the matching backend service

(exact / and prefix /aaa matches request /aaa and route to single-slash-aaa-type-prefix-mix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://exact-prefix/aaa
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-type-prefix-mix service
Scenario: An Ingress with exact path rules / and prefix path rules /aaa should send traffic to the matching backend service

(exact / and prefix /aaa matches request /aaa and route to single-slash-aaa-type-prefix-mix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://exact-prefix/aaa
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-type-prefix-mix service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://exact-prefix/aaaxyz
check_circle
Then 0s the response status-code must be 500
Scenario: An Ingress with exact path rules / and prefix path rules /aaa should send traffic to the matching backend service

(exact / and prefix /aaa matches request /aaa/ccc and route to single-slash-aaa-type-prefix-mix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://exact-prefix/aaa/ccc
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-type-prefix-mix service
Scenario: An Ingress with exact path rules / and prefix path rules /aaa should send traffic to the matching backend service

(exact / and prefix /aaa matches request /aaa/ccc/a/b/c/d/e/f/g and route to single-slash-aaa-type-prefix-mix)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://exact-prefix/aaa/ccc/a/b/c/d/e/f/g
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-type-prefix-mix service
Scenario: An Ingress with exact path rules / and path rules /aaa should send traffic to the matching backend service

(exact / and exact /aaa matches request / and route to single-slash-type-exact)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-exact/
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-type-exact service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-exact/a
check_circle
Then 0s the response status-code must be 500
Scenario: An Ingress with exact path rules / and path rules /aaa should send traffic to the matching backend service

(exact / and exact /aaa matches request /aaa and route to single-slash-aaa-type-exact)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-exact/aaa
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-type-exact service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-exact/aaa/
check_circle
Then 0s the response status-code must be 500
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-exact/aaazyx
check_circle
Then 0s the response status-code must be 500
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-exact/aaa/ccc
check_circle
Then 0s the response status-code must be 500
Scenario: An Ingress with exact path rules / and path rules /aaa should send traffic to the matching backend service

(exact / and exact /aaa matches request /aaa/ccc/a/b/c/d/e/f/g and not route to backend)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://all-exact/aaa/ccc/a/b/c/d/e/f/g
check_circle
Then 0s the response status-code must be 500
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://multi-path-route/
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://multi-path-route/a
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://multi-path-route/aaa
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://multi-path-route/aaa/
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://multi-path-route/aaa/bb
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa service
Scenario: An Ingress with path rules / and path rules /aaa and /aaa/bbb should send traffic to the matching backend service

(prefix /, /aaa, /aaa/bbb matches request /aaa/bbb and route to single-slash-aaa-bbb)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://multi-path-route/aaa/bbb
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-bbb service
Scenario: An Ingress with path rules / and path rules /aaa and /aaa/bbb should send traffic to the matching backend service

(prefix /, /aaa, /aaa/bbb matches request /aaa/bbb/ and route to single-slash-aaa-bbb)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://multi-path-route/aaa/bbb/
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-bbb service
Scenario: An Ingress with path rules / and path rules /aaa and /aaa/bbb should send traffic to the matching backend service

(prefix /, /aaa, /aaa/bbb matches request /aaa/bbb/ccc and route to single-slash-aaa-bbb)

check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://multi-path-route/aaa/bbb/ccc
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa-bbb service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://multi-path-route/ccc
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash service
check_circle
Given 0s an Ingress resource in a new random namespace +Show Parameter
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-path
spec:
rules:
- host: "all-prefix"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix
port:
number: 3000

- host: "prefix-exact"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash-type-prefix-mix
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact-mix
port:
number: 3000

- host: "exact-prefix"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact-mix
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa-type-prefix-mix
port:
number: 3000

- host: "all-exact"
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: single-slash-type-exact
port:
number: 3000
- path: /aaa
pathType: Exact
backend:
service:
name: single-slash-aaa-type-exact
port:
number: 3000

- host: "multi-path-route"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: single-slash
port:
number: 3000
- path: /aaa
pathType: Prefix
backend:
service:
name: single-slash-aaa
port:
number: 3000
- path: /aaa/bbb
pathType: Prefix
backend:
service:
name: single-slash-aaa-bbb
port:
number: 3000
check_circle
Then 0s The Ingress status shows the IP address or FQDN where it is exposed
check_circle
When 0s I send a GET request to http://multi-path-route/aaa/ccc
check_circle
Then 0s the response status-code must be 200
check_circle
And 0s the response must be served by the single-slash-aaa service