open-consul/ui-v2/tests/acceptance/dc/acls/policies/as-many/add-new.feature

153 lines
4.5 KiB
Gherkin

@setupApplicationTest
Feature: dc / acls / policies / as many / add new: Add new policy
Background:
Given 1 datacenter model with the value "datacenter"
And 1 [Model] model from yaml
---
Policies: ~
ServiceIdentities: ~
NodeIdentities: ~
---
When I visit the [Model] page for yaml
---
dc: datacenter
[Model]: key
---
Then the url should be /datacenter/acls/[Model]s/key
And I click policies.create
Scenario: Adding a new policy as a child of [Model]
Then I fill in the policies.form with yaml
---
Name: New-Policy
Description: New Policy Description
Rules: key {}
---
And I click submit on the policies.form
Then a PUT request was made to "/v1/acl/policy?dc=datacenter" from yaml
---
body:
Name: New-Policy
Description: New Policy Description
Namespace: @namespace
Rules: key {}
---
And I submit
Then a PUT request was made to "/v1/acl/[Model]/key?dc=datacenter" from yaml
---
body:
Namespace: @namespace
Policies:
- ID: ee52203d-989f-4f7a-ab5a-2bef004164ca-1
Name: New-Policy
---
Then the url should be /datacenter/acls/[Model]s
And "[data-notification]" has the "notification-update" class
And "[data-notification]" has the "success" class
Where:
-------------
| Model |
| token |
| role |
-------------
Scenario: Adding a new service identity as a child of [Model]
Then I fill in the policies.form with yaml
---
Name: New-Service-Identity
---
And I click serviceIdentity on the policies.form
And I click submit on the policies.form
And I submit
Then a PUT request was made to "/v1/acl/[Model]/key?dc=datacenter" from yaml
---
body:
Namespace: @namespace
ServiceIdentities:
- ServiceName: New-Service-Identity
---
Then the url should be /datacenter/acls/[Model]s
And "[data-notification]" has the "notification-update" class
And "[data-notification]" has the "success" class
Where:
-------------
| Model |
| token |
| role |
-------------
Scenario: Adding a new node identity as a child of [Model]
Then I fill in the policies.form with yaml
---
Name: New-Node-Identity
---
And I click nodeIdentity on the policies.form
And I click submit on the policies.form
And I submit
Then a PUT request was made to "/v1/acl/[Model]/key?dc=datacenter" from yaml
---
body:
Namespace: @namespace
NodeIdentities:
- NodeName: New-Node-Identity
Datacenter: datacenter
---
Then the url should be /datacenter/acls/[Model]s
And "[data-notification]" has the "notification-update" class
And "[data-notification]" has the "success" class
Where:
-------------
| Model |
| token |
| role |
-------------
Scenario: Adding a new policy as a child of [Model] and getting an error
Given the url "/v1/acl/policy" responds with from yaml
---
status: 500
body: |
Invalid service policy: acl.ServicePolicy{Name:"service", Policy:"", Sentinel:acl.Sentinel{Code:"", EnforcementLevel:""}, Intentions:""}
---
Then I fill in the policies.form with yaml
---
Name: New-Policy
Description: New Policy Description
Rules: key {}
---
And I click submit on the policies.form
Then a PUT request was made to "/v1/acl/policy?dc=datacenter" with the body from yaml
---
Name: New-Policy
Description: New Policy Description
Namespace: @namespace
Rules: key {}
---
And I see error on the policies.form.rules like 'Invalid service policy: acl.ServicePolicy{Name:"service", Policy:"", Sentinel:acl.Sentinel{Code:"", EnforcementLevel:""}, Intentions:""}'
Where:
-------------
| Model |
| token |
| role |
-------------
Scenario: Try to edit the Service Identity using the code editor
And I click serviceIdentity on the policies.form
Then I can't fill in the policies.form with yaml
---
Rules: key {}
---
Where:
-------------
| Model |
| token |
| role |
-------------
Scenario: Try to edit the Node Identity using the code editor
And I click nodeIdentity on the policies.form
Then I can't fill in the policies.form with yaml
---
Rules: key {}
---
Where:
-------------
| Model |
| token |
| role |
-------------