mirror of https://github.com/hashicorp/consul
71 lines
2.5 KiB
Gherkin
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
|