mirror of
https://github.com/status-im/consul.git
synced 2025-01-10 05:45:46 +00:00
f65f001675
In some circumstances a consul 1.4 client could be running in an un-upgraded 1.3 or lower cluster. Currently this gives a 500 error on the new ACL token endpoint. Here we catch this specific 500 error/message and set the users AccessorID to null. Elsewhere in the frontend we use this fact (AccessorID being null) to decide whether to present the legacy or the new ACL UI to the user. Also: - Re-adds in most of the old style ACL acceptance tests, now that we are keeping the old style UI - Restricts code editors to HCL only mode for all `Rules` editing (legacy/'half legacy'/new style) - Adds a [Stop using] button to the old style ACL rows so its possible to logout. - Updates copy and documentation links for the upgrade notices
147 lines
7.3 KiB
Gherkin
147 lines
7.3 KiB
Gherkin
@setupApplicationTest
|
|
Feature: Page Navigation
|
|
In order to view all the data in consul
|
|
As a user
|
|
I should be able to visit every page and view data in a HTML from the API
|
|
Background:
|
|
Given 1 datacenter model with the value "dc-1"
|
|
Scenario: Visiting the index page
|
|
When I visit the index page for yaml
|
|
---
|
|
dc: dc-1
|
|
---
|
|
Then the url should be /dc-1/services
|
|
Then the last GET request was made to "/v1/internal/ui/services?dc=dc-1"
|
|
Scenario: Clicking [Link] in the navigation takes me to [URL]
|
|
When I visit the services page for yaml
|
|
---
|
|
dc: dc-1
|
|
---
|
|
When I click [Link] on the navigation
|
|
Then the url should be [URL]
|
|
Then the last GET request was made to "[Endpoint]"
|
|
Where:
|
|
-----------------------------------------------------------------------
|
|
| Link | URL | Endpoint |
|
|
| nodes | /dc-1/nodes | /v1/internal/ui/nodes?dc=dc-1 |
|
|
| kvs | /dc-1/kv | /v1/kv/?keys&dc=dc-1&separator=%2F |
|
|
| acls | /dc-1/acls/tokens | /v1/acl/tokens?dc=dc-1 |
|
|
| intentions | /dc-1/intentions | /v1/connect/intentions?dc=dc-1 |
|
|
# | settings | /settings | /v1/catalog/datacenters |
|
|
-----------------------------------------------------------------------
|
|
Scenario: Clicking a [Item] in the [Model] listing and back again
|
|
When I visit the [Model] page for yaml
|
|
---
|
|
dc: dc-1
|
|
---
|
|
When I click [Item] on the [Model]
|
|
Then the url should be [URL]
|
|
Then the last GET request was made to "[Endpoint]"
|
|
And I click "[data-test-back]"
|
|
Then the url should be [Back]
|
|
Where:
|
|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
| Item | Model | URL | Endpoint | Back |
|
|
| service | services | /dc-1/services/service-0 | /v1/health/service/service-0?dc=dc-1 | /dc-1/services |
|
|
| node | nodes | /dc-1/nodes/node-0 | /v1/session/node/node-0?dc=dc-1 | /dc-1/nodes |
|
|
| kv | kvs | /dc-1/kv/necessitatibus-0/edit | /v1/session/info/ee52203d-989f-4f7a-ab5a-2bef004164ca?dc=dc-1 | /dc-1/kv |
|
|
# | acl | acls | /dc-1/acls/anonymous | /v1/acl/info/anonymous?dc=dc-1 | /dc-1/acls |
|
|
| intention | intentions | /dc-1/intentions/ee52203d-989f-4f7a-ab5a-2bef004164ca | /v1/internal/ui/services?dc=dc-1 | /dc-1/intentions |
|
|
| token | tokens | /dc-1/acls/tokens/ee52203d-989f-4f7a-ab5a-2bef004164ca | /v1/acl/policies?dc=dc-1 | /dc-1/acls/tokens |
|
|
| policy | policies | /dc-1/acls/policies/ee52203d-989f-4f7a-ab5a-2bef004164ca | /v1/acl/tokens?policy=ee52203d-989f-4f7a-ab5a-2bef004164ca&dc=dc-1 | /dc-1/acls/policies |
|
|
# | token | tokens | /dc-1/acls/tokens/00000000-0000-0000-0000-000000000000 | /v1/acl/token/00000000-0000-0000-0000-000000000000?dc=dc-1 | /dc-1/acls/tokens |
|
|
# | policy | policies | /dc-1/acls/policies/ee52203d-989f-4f7a-ab5a-2bef004164ca | /v1/acl/policy/ee52203d-989f-4f7a-ab5a-2bef004164ca?dc=dc-1 | /dc-1/acls/policies |
|
|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
Scenario: The node detail page calls the correct API endpoints
|
|
When I visit the node page for yaml
|
|
---
|
|
dc: dc-1
|
|
node: node-0
|
|
---
|
|
Then the url should be /dc-1/nodes/node-0
|
|
Then the last GET requests were like yaml
|
|
---
|
|
- /v1/catalog/datacenters
|
|
- /v1/internal/ui/node/node-0?dc=dc-1
|
|
- /v1/coordinate/nodes?dc=dc-1
|
|
- /v1/session/node/node-0?dc=dc-1
|
|
---
|
|
Scenario: The kv detail page calls the correct API endpoints
|
|
When I visit the kv page for yaml
|
|
---
|
|
dc: dc-1
|
|
kv: keyname
|
|
---
|
|
Then the url should be /dc-1/kv/keyname/edit
|
|
Then the last GET requests were like yaml
|
|
---
|
|
- /v1/catalog/datacenters
|
|
- /v1/kv/keyname?dc=dc-1
|
|
- /v1/session/info/ee52203d-989f-4f7a-ab5a-2bef004164ca?dc=dc-1
|
|
---
|
|
Scenario: The policies page/tab calls the correct API endpoints
|
|
When I visit the policies page for yaml
|
|
---
|
|
dc: dc-1
|
|
---
|
|
Then the url should be /dc-1/acls/policies
|
|
Then the last GET requests were like yaml
|
|
---
|
|
- /v1/catalog/datacenters
|
|
- /v1/acl/policies?dc=dc-1
|
|
---
|
|
Scenario: The intention detail page calls the correct API endpoints
|
|
When I visit the intention page for yaml
|
|
---
|
|
dc: dc-1
|
|
intention: intention
|
|
---
|
|
Then the url should be /dc-1/intentions/intention
|
|
Then the last GET requests were like yaml
|
|
---
|
|
- /v1/catalog/datacenters
|
|
- /v1/connect/intentions/intention?dc=dc-1
|
|
- /v1/internal/ui/services?dc=dc-1
|
|
---
|
|
|
|
Scenario: Clicking a [Item] in the [Model] listing and cancelling
|
|
When I visit the [Model] page for yaml
|
|
---
|
|
dc: dc-1
|
|
---
|
|
When I click [Item] on the [Model]
|
|
Then the url should be [URL]
|
|
And I click "[type=reset]"
|
|
Then the url should be [Back]
|
|
Where:
|
|
--------------------------------------------------------------------------------------------------------
|
|
| Item | Model | URL | Back |
|
|
| kv | kvs | /dc-1/kv/necessitatibus-0/edit | /dc-1/kv |
|
|
# | acl | acls | /dc-1/acls/anonymous | /dc-1/acls |
|
|
| intention | intentions | /dc-1/intentions/ee52203d-989f-4f7a-ab5a-2bef004164ca | /dc-1/intentions |
|
|
--------------------------------------------------------------------------------------------------------
|
|
@ignore
|
|
Scenario: Clicking items in the listings, without depending on the salt ^
|
|
Then ok
|
|
Scenario: Clicking create in the [Model] listing
|
|
When I visit the [Model] page for yaml
|
|
---
|
|
dc: dc-1
|
|
---
|
|
When I click create
|
|
Then the url should be [URL]
|
|
And I click "[data-test-back]"
|
|
Then the url should be [Back]
|
|
Where:
|
|
-----------------------------------------------------------------------------
|
|
| Item | Model | URL | Back |
|
|
| kv | kvs | /dc-1/kv/create | /dc-1/kv |
|
|
# | acl | acls | /dc-1/acls/create | /dc-1/acls |
|
|
| intention | intentions | /dc-1/intentions/create | /dc-1/intentions |
|
|
| token | tokens | /dc-1/acls/tokens/create | /dc-1/acls/tokens |
|
|
| policy | policies | /dc-1/acls/policies/create | /dc-1/acls/policies |
|
|
-----------------------------------------------------------------------------
|
|
@ignore
|
|
Scenario: Using I click on should change the currentPage ^
|
|
Then ok
|