mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-01 09:52:23 -06:00
220 lines
9.6 KiB
Gherkin
220 lines
9.6 KiB
Gherkin
@api @skipOnOcV10
|
|
Feature: add users to group
|
|
As a admin
|
|
I want to be able to add users to a group
|
|
So that I can give a user access to the resources of the group
|
|
|
|
Background:
|
|
Given user "Alice" has been created with default attributes and without skeleton files
|
|
|
|
|
|
Scenario: adding a user to a group
|
|
Given these groups have been created:
|
|
| groupname | comment |
|
|
| simplegroup | nothing special here |
|
|
| España§àôœ€ | special European and other characters |
|
|
| नेपाली | Unicode group name |
|
|
When the administrator adds the following users to the following groups using the Graph API
|
|
| username | groupname |
|
|
| Alice | simplegroup |
|
|
| Alice | España§àôœ€ |
|
|
| Alice | नेपाली |
|
|
Then the HTTP status code of responses on all endpoints should be "204"
|
|
And the following users should be listed in the following groups
|
|
| username | groupname |
|
|
| Alice | simplegroup |
|
|
| Alice | España§àôœ€ |
|
|
| Alice | नेपाली |
|
|
|
|
|
|
Scenario: adding a user to a group with special character in its name
|
|
Given these groups have been created:
|
|
| groupname | comment |
|
|
| brand-new-group | dash |
|
|
| the.group | dot |
|
|
| left,right | comma |
|
|
| 0 | The "false" group |
|
|
| Finance (NP) | Space and brackets |
|
|
| Admin&Finance | Ampersand |
|
|
| maint+eng | Plus sign |
|
|
| $x<=>[y*z^2]! | Maths symbols |
|
|
| 😁 😂 | emoji |
|
|
| admin:Pokhara@Nepal | Colon and @ |
|
|
When the administrator adds the following users to the following groups using the Graph API
|
|
| username | groupname |
|
|
| Alice | brand-new-group |
|
|
| Alice | the.group |
|
|
| Alice | left,right |
|
|
| Alice | 0 |
|
|
| Alice | Finance (NP) |
|
|
| Alice | Admin&Finance |
|
|
| Alice | maint+eng |
|
|
| Alice | $x<=>[y*z^2]! |
|
|
| Alice | 😁 😂 |
|
|
| Alice | admin:Pokhara@Nepal |
|
|
Then the HTTP status code of responses on all endpoints should be "204"
|
|
And the following users should be listed in the following groups
|
|
| username | groupname |
|
|
| Alice | brand-new-group |
|
|
| Alice | the.group |
|
|
| Alice | left,right |
|
|
| Alice | 0 |
|
|
| Alice | Finance (NP) |
|
|
| Alice | Admin&Finance |
|
|
| Alice | maint+eng |
|
|
| Alice | $x<=>[y*z^2]! |
|
|
| Alice | 😁 😂 |
|
|
| Alice | admin:Pokhara@Nepal |
|
|
|
|
|
|
Scenario: adding a user to a group with % and # in its name
|
|
Given these groups have been created:
|
|
| groupname | comment |
|
|
| maintenance#123 | Hash sign |
|
|
| 50%pass | Percent sign (special escaping happens) |
|
|
| 50%25=0 | %25 literal looks like an escaped "%" |
|
|
| 50%2Eagle | %2E literal looks like an escaped "." |
|
|
| 50%2Fix | %2F literal looks like an escaped slash |
|
|
| Mgmt\Middle | Backslash |
|
|
| staff?group | Question mark |
|
|
When the administrator adds the following users to the following groups using the Graph API
|
|
| username | groupname |
|
|
| Alice | maintenance#123 |
|
|
| Alice | 50%pass |
|
|
| Alice | 50%25=0 |
|
|
| Alice | 50%2Eagle |
|
|
| Alice | 50%2Fix |
|
|
| Alice | Mgmt\Middle |
|
|
| Alice | staff?group |
|
|
Then the HTTP status code of responses on all endpoints should be "204"
|
|
And the following users should be listed in the following groups
|
|
| username | groupname |
|
|
| Alice | maintenance#123 |
|
|
| Alice | 50%pass |
|
|
| Alice | 50%25=0 |
|
|
| Alice | 50%2Eagle |
|
|
| Alice | 50%2Fix |
|
|
| Alice | Mgmt\Middle |
|
|
| Alice | staff?group |
|
|
|
|
|
|
Scenario: adding a user to a group that has a forward-slash in the group name
|
|
Given these groups have been created:
|
|
| groupname | comment |
|
|
| Mgmt/Sydney | Slash (special escaping happens) |
|
|
| Mgmt//NSW/Sydney | Multiple slash |
|
|
| priv/subadmins/1 | Subadmins mentioned not at the end |
|
|
| var/../etc | using slash-dot-dot |
|
|
When the administrator adds the following users to the following groups using the Graph API
|
|
| username | groupname |
|
|
| Alice | Mgmt/Sydney |
|
|
| Alice | Mgmt//NSW/Sydney |
|
|
| Alice | priv/subadmins/1 |
|
|
| Alice | var/../etc |
|
|
Then the HTTP status code of responses on all endpoints should be "204"
|
|
And the following users should be listed in the following groups
|
|
| username | groupname |
|
|
| Alice | Mgmt/Sydney |
|
|
| Alice | Mgmt//NSW/Sydney |
|
|
| Alice | priv/subadmins/1 |
|
|
| Alice | var/../etc |
|
|
|
|
|
|
Scenario: normal user tries to add himself to a group
|
|
Given group "groupA" has been created
|
|
When user "Alice" tries to add himself to group "groupA" using the Graph API
|
|
Then the HTTP status code should be "401"
|
|
And the last response should be an unauthorized response
|
|
|
|
|
|
Scenario: normal user tries to other user to a group
|
|
Given user "Brian" has been created with default attributes and without skeleton files
|
|
And group "groupA" has been created
|
|
When user "Alice" tries to add user "Brian" to group "groupA" using the Graph API
|
|
Then the HTTP status code should be "401"
|
|
And the last response should be an unauthorized response
|
|
|
|
|
|
Scenario: admin tries to add user to a non-existing group
|
|
When the administrator tries to add user "Alice" to group "nonexistentgroup" using the Graph API
|
|
Then the HTTP status code should be "404"
|
|
|
|
|
|
Scenario: admin tries to add a non-existing user to a group
|
|
Given group "groupA" has been created
|
|
When the administrator tries to add user "nonexistentuser" to group "groupA" using the provisioning API
|
|
Then the HTTP status code should be "405"
|
|
|
|
|
|
Scenario: admin tries to add user to a group without sending the group
|
|
When the administrator tries to add user "Alice" to group "" using the Graph API
|
|
Then the HTTP status code should be "404"
|
|
|
|
|
|
Scenario: add multiple users to a group at once
|
|
Given the administrator has given "Alice" the role "Admin" using the settings api
|
|
And these users have been created with default attributes and without skeleton files:
|
|
| username |
|
|
| Brian |
|
|
| Carol |
|
|
And user "Alice" has created a group "grp1" using the Graph API
|
|
When the administrator "Alice" adds the following users to a group "grp1" at once using the Graph API
|
|
| username |
|
|
| Brian |
|
|
| Carol |
|
|
Then the HTTP status code should be "204"
|
|
And the following users should be listed in the following groups
|
|
| username | groupname |
|
|
| Brian | grp1 |
|
|
| Carol | grp1 |
|
|
|
|
|
|
Scenario: admin tries to add users to a non-existing group at once
|
|
Given the administrator has given "Alice" the role "Admin" using the settings api
|
|
And these users have been created with default attributes and without skeleton files:
|
|
| username |
|
|
| Brian |
|
|
| Carol |
|
|
When the administrator "Alice" tries to add the following users to a non-existing group at once using the Graph API
|
|
| username |
|
|
| Brian |
|
|
| Carol |
|
|
Then the HTTP status code should be "404"
|
|
|
|
|
|
Scenario: admin tries to add multiple non-existing users to a group at once
|
|
Given the administrator has given "Alice" the role "Admin" using the settings api
|
|
And user "Alice" has created a group "grp1" using the Graph API
|
|
When the administrator "Alice" tries to add the following non-existing users to a group "grp1" at once using the Graph API
|
|
| username |
|
|
| Brian |
|
|
| Carol |
|
|
Then the HTTP status code should be "404"
|
|
|
|
|
|
Scenario: admin tries to add non-existing and existing users to a group at once
|
|
Given the administrator has given "Alice" the role "Admin" using the settings api
|
|
And these users have been created with default attributes and without skeleton files:
|
|
| username |
|
|
| Brian |
|
|
And user "Alice" has created a group "grp1" using the Graph API
|
|
When the administrator "Alice" tries to add the following users to a group "grp1" at once using the Graph API
|
|
| username |
|
|
| Brian |
|
|
| Carol |
|
|
Then the HTTP status code should be "404"
|
|
|
|
|
|
Scenario: adding a disabled user to a group
|
|
Given these groups have been created:
|
|
| groupname | comment |
|
|
| sales | normal group |
|
|
And the user "Admin" has disabled user "Alice" using the Graph API
|
|
When the administrator adds the following users to the following groups using the Graph API
|
|
| username | groupname |
|
|
| Alice | sales |
|
|
Then the HTTP status code of responses on all endpoints should be "204"
|
|
And the following users should be listed in the following groups
|
|
| username | groupname |
|
|
| Alice | sales |
|