093c353c4b
* Fix clickFirstAnchor bug * Create Proxy Info Tab for Instance Detail Page * Create tests for ProxyInfo and update other scenarios with Proxy data * ui: Refactors our app-view/%app-view component (#7752) Co-authored-by: John Cowen <johncowen@users.noreply.github.com>
216 lines
6.4 KiB
Gherkin
216 lines
6.4 KiB
Gherkin
@setupApplicationTest
|
|
Feature: dc / services / instances / show: Proxy Info tab
|
|
Background:
|
|
Given 1 datacenter model with the value "dc1"
|
|
Scenario: A Service instance without a Proxy does not display Proxy Info tab
|
|
Given 1 proxy model from yaml
|
|
---
|
|
- ServiceProxy:
|
|
DestinationServiceName: service-1
|
|
DestinationServiceID: ~
|
|
---
|
|
When I visit the instance page for yaml
|
|
---
|
|
dc: dc1
|
|
service: service-0
|
|
node: node-0
|
|
id: service-0-with-id
|
|
---
|
|
Then the url should be /dc1/services/service-0/instances/node-0/service-0-with-id/health-checks
|
|
And I don't see proxyInfo on the tabs
|
|
Scenario: A Service instance with a Proxy displays Proxy Info tab
|
|
When I visit the instance page for yaml
|
|
---
|
|
dc: dc1
|
|
service: service-0
|
|
node: node-0
|
|
id: service-0-with-id
|
|
---
|
|
Then the url should be /dc1/services/service-0/instances/node-0/service-0-with-id/health-checks
|
|
And I see proxyInfo on the tabs
|
|
|
|
When I click proxyInfo on the tabs
|
|
|
|
Then the url should be /dc1/services/service-0/instances/node-0/service-0-with-id/proxy
|
|
And I see proxyInfoIsSelected on the tabs
|
|
@notNamespaceable
|
|
Scenario: A Proxy with health checks, upstreams, and exposed paths displays all info
|
|
Given 2 instance models from yaml
|
|
---
|
|
- Service:
|
|
ID: service-0-with-id
|
|
Kind: consul
|
|
Node:
|
|
Node: node-0
|
|
- Service:
|
|
ID: service-0-with-id-proxy
|
|
Kind: connect-proxy
|
|
Proxy:
|
|
DestinationServiceName: service-0
|
|
Expose:
|
|
Checks: false
|
|
Paths:
|
|
- Path: /grpc-metrics
|
|
Protocol: grpc
|
|
LocalPathPort: 8081
|
|
ListenerPort: 8080
|
|
- Path: /http-metrics
|
|
Protocol: http
|
|
LocalPathPort: 8082
|
|
ListenerPort: 8083
|
|
- Path: /http-metrics-2
|
|
Protocol: http
|
|
LocalPathPort: 8083
|
|
ListenerPort: 8084
|
|
Upstreams:
|
|
- DestinationType: service
|
|
DestinationName: service-2
|
|
DestinationNamespace: default
|
|
LocalBindAddress: 127.0.0.1
|
|
LocalBindPort: 1111
|
|
- DestinationType: prepared_query
|
|
DestinationName: service-3
|
|
LocalBindAddress: 127.0.0.1
|
|
LocalBindPort: 1112
|
|
Node:
|
|
Node: node-0
|
|
Checks:
|
|
- Name: Service check
|
|
ServiceID: service-0-proxy
|
|
Output: Output of check
|
|
Status: passing
|
|
- Name: Service check
|
|
ServiceID: service-0-proxy
|
|
Output: Output of check
|
|
Status: warning
|
|
- Name: Service check
|
|
Type: http
|
|
ServiceID: service-0-proxy
|
|
Output: Output of check
|
|
Status: critical
|
|
- Name: Node check
|
|
ServiceID: ""
|
|
Output: Output of check
|
|
Status: passing
|
|
- Name: Node check
|
|
ServiceID: ""
|
|
Output: Output of check
|
|
Status: warning
|
|
- Name: Node check
|
|
ServiceID: ""
|
|
Output: Output of check
|
|
Status: critical
|
|
---
|
|
When I visit the instance page for yaml
|
|
---
|
|
dc: dc1
|
|
service: service-0
|
|
node: node-0
|
|
id: service-0-with-id
|
|
---
|
|
Then the url should be /dc1/services/service-0/instances/node-0/service-0-with-id/health-checks
|
|
And I see proxyInfo on the tabs
|
|
|
|
When I click proxyInfo on the tabs
|
|
Then the url should be /dc1/services/service-0/instances/node-0/service-0-with-id/proxy
|
|
|
|
And I see 6 of the proxyChecks object
|
|
|
|
And I see 2 of the upstreams object
|
|
And I see name on the upstreams like yaml
|
|
---
|
|
- service-2
|
|
- service-3
|
|
---
|
|
Scenario: A Proxy without health checks does not display Proxy Health section
|
|
And 2 instance models from yaml
|
|
---
|
|
- Service:
|
|
ID: service-0-with-id
|
|
Kind: consul
|
|
Node:
|
|
Node: node-0
|
|
- Service:
|
|
ID: service-0-with-id-proxy
|
|
Kind: connect-proxy
|
|
Node:
|
|
Node: node-0
|
|
Checks: []
|
|
---
|
|
When I visit the instance page for yaml
|
|
---
|
|
dc: dc1
|
|
service: service-0
|
|
node: node-0
|
|
id: service-0-with-id
|
|
---
|
|
Then the url should be /dc1/services/service-0/instances/node-0/service-0-with-id/health-checks
|
|
And I see proxyInfo on the tabs
|
|
|
|
When I click proxyInfo on the tabs
|
|
Then the url should be /dc1/services/service-0/instances/node-0/service-0-with-id/proxy
|
|
And I see 0 of the proxyChecks object
|
|
Scenario: A Proxy without upstreams does not display Upstreams section
|
|
And 2 instance models from yaml
|
|
---
|
|
- Service:
|
|
ID: service-0-with-id
|
|
Kind: consul
|
|
Node:
|
|
Node: node-0
|
|
- Service:
|
|
ID: service-0-with-id-proxy
|
|
Kind: connect-proxy
|
|
Proxy:
|
|
Upstreams: []
|
|
Node:
|
|
Node: node-0
|
|
---
|
|
When I visit the instance page for yaml
|
|
---
|
|
dc: dc1
|
|
service: service-0
|
|
node: node-0
|
|
id: service-0-with-id
|
|
---
|
|
Then the url should be /dc1/services/service-0/instances/node-0/service-0-with-id/health-checks
|
|
And I see proxyInfo on the tabs
|
|
|
|
When I click proxyInfo on the tabs
|
|
Then the url should be /dc1/services/service-0/instances/node-0/service-0-with-id/proxy
|
|
And I see 0 of the upstreams object
|
|
Scenario: A Proxy without exposed path does not display Exposed Paths section
|
|
And 2 instance models from yaml
|
|
---
|
|
- Service:
|
|
ID: service-0-with-id
|
|
Kind: consul
|
|
Node:
|
|
Node: node-0
|
|
- Service:
|
|
ID: service-0-with-id-proxy
|
|
Kind: connect-proxy
|
|
Proxy:
|
|
Expose:
|
|
Checks: false
|
|
Paths: []
|
|
Node:
|
|
Node: node-0
|
|
---
|
|
When I visit the instance page for yaml
|
|
---
|
|
dc: dc1
|
|
service: service-0
|
|
node: node-0
|
|
id: service-0-with-id
|
|
---
|
|
Then the url should be /dc1/services/service-0/instances/node-0/service-0-with-id/health-checks
|
|
And I see proxyInfo on the tabs
|
|
|
|
When I click proxyInfo on the tabs
|
|
Then the url should be /dc1/services/service-0/instances/node-0/service-0-with-id/proxy
|
|
And I see 0 of the exposedPaths object
|
|
|
|
|
|
|