mirror of https://github.com/hashicorp/consul
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
|
||
|
|
||
|
|
||
|
|