John Cowen 6589cbbd0d
ui: Move to Workspaced Structure (#8994)
* ui: Add the most basic workspace root in /ui

* We already have a LICENSE file in the repository root

* Change directory path in build scripts ui-v2 -> ui

* Make yarn install flags configurable from elsewhere

* Minimal workspace root makefile

* Call the new docker specific target

* Update yarn in the docker build image

* Reconfigure the netlify target and move to the higher makefile

* Move ui-v2 -> ui/packages/consul-ui

* Change repo root to refleect new folder structure

* Temporarily don't hoist consul-api-double

* Fixup CI configuration

* Fixup lint errors

* Fixup Netlify target
2020-10-21 15:23:16 +01:00

71 lines
2.5 KiB
Gherkin

@setupApplicationTest
Feature: dc / acls / policies / update: ACL Policy Update
Background:
Given 1 datacenter model with the value "datacenter"
And 1 policy model from yaml
---
ID: policy-id
Datacenters: []
---
And 3 token models
When I visit the policy page for yaml
---
dc: datacenter
policy: policy-id
---
Then the url should be /datacenter/acls/policies/policy-id
Then I see 3 token models
And the title should be "Edit Policy - Consul"
Scenario: Update to [Name], [Rules], [Description]
Then I fill in the policy form with yaml
---
Name: [Name]
Description: [Description]
Rules: [Rules]
---
And I click validDatacenters
And I click datacenter
And I submit
Then a PUT request was made to "/v1/acl/policy/policy-id?dc=datacenter" from yaml
---
body:
Name: [Name]
Description: [Description]
Rules: [Rules]
Namespace: @namespace
Datacenters:
- datacenter
---
Then the url should be /datacenter/acls/policies
And "[data-notification]" has the "notification-update" class
And "[data-notification]" has the "success" class
Where:
------------------------------------------------------------------------------
| Name | Rules | Description |
| policy-name | key "foo" {policy = "read"} | policy-name description |
| policy_name | key "foo" {policy = "write"} | policy name description |
| policyName | key "foo" {policy = "read"} | policy%20name description |
------------------------------------------------------------------------------
Scenario: There was an error saving the key
Given the url "/v1/acl/policy/policy-id" responds with a 500 status
And I submit
Then the url should be /datacenter/acls/policies/policy-id
Then "[data-notification]" has the "notification-update" class
And "[data-notification]" has the "error" class
@notNamespaceable
Scenario: Updating a simple ACL policy when Namespaces are disabled does not send Namespace
Then I fill in the policy form with yaml
---
Description: Description
---
And I submit
Then a PUT request was made to "/v1/acl/policy/policy-id?dc=datacenter" without properties from yaml
---
- Namespace
---
Then the url should be /datacenter/acls/policies
And "[data-notification]" has the "notification-update" class
And "[data-notification]" has the "success" class