open-consul/ui-v2/tests/acceptance/dc/acls/policies/update.feature

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