2015-08-06 16:44:24 +03:00
|
|
|
Feature: provisioning
|
2015-10-14 19:30:18 +03:00
|
|
|
Background:
|
|
|
|
Given using api version "1"
|
|
|
|
|
|
|
|
Scenario: Getting an not existing user
|
|
|
|
Given As an "admin"
|
|
|
|
When sending "GET" to "/cloud/users/test"
|
2018-03-26 21:04:32 +03:00
|
|
|
Then the OCS status code should be "404"
|
2015-10-14 19:30:18 +03:00
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: Listing all users
|
|
|
|
Given As an "admin"
|
|
|
|
When sending "GET" to "/cloud/users"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: Create a user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" does not exist
|
|
|
|
When sending "POST" to "/cloud/users" with
|
|
|
|
| userid | brand-new-user |
|
|
|
|
| password | 123456 |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
|
|
|
|
Scenario: Create an existing user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
When sending "POST" to "/cloud/users" with
|
|
|
|
| userid | brand-new-user |
|
|
|
|
| password | 123456 |
|
|
|
|
Then the OCS status code should be "102"
|
|
|
|
And the HTTP status code should be "200"
|
2017-04-05 15:51:55 +03:00
|
|
|
And user "brand-new-user" has
|
|
|
|
| id | brand-new-user |
|
|
|
|
| displayname | brand-new-user |
|
|
|
|
| email | |
|
|
|
|
| phone | |
|
|
|
|
| address | |
|
|
|
|
| website | |
|
|
|
|
| twitter | |
|
2015-10-14 19:30:18 +03:00
|
|
|
|
|
|
|
Scenario: Get an existing user
|
|
|
|
Given As an "admin"
|
|
|
|
When sending "GET" to "/cloud/users/brand-new-user"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: Getting all users
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And user "admin" exists
|
|
|
|
When sending "GET" to "/cloud/users"
|
|
|
|
Then users returned are
|
|
|
|
| brand-new-user |
|
|
|
|
| admin |
|
|
|
|
|
2021-05-27 15:56:22 +03:00
|
|
|
Scenario: Get editable fields
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
Then user "brand-new-user" has editable fields
|
|
|
|
| displayname |
|
|
|
|
| email |
|
|
|
|
| phone |
|
|
|
|
| address |
|
|
|
|
| website |
|
|
|
|
| twitter |
|
|
|
|
Given As an "brand-new-user"
|
|
|
|
Then user "brand-new-user" has editable fields
|
|
|
|
| displayname |
|
|
|
|
| email |
|
|
|
|
| phone |
|
|
|
|
| address |
|
|
|
|
| website |
|
|
|
|
| twitter |
|
|
|
|
Then user "self" has editable fields
|
|
|
|
| displayname |
|
|
|
|
| email |
|
|
|
|
| phone |
|
|
|
|
| address |
|
|
|
|
| website |
|
|
|
|
| twitter |
|
|
|
|
|
2015-10-14 19:30:18 +03:00
|
|
|
Scenario: Edit a user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
When sending "PUT" to "/cloud/users/brand-new-user" with
|
2017-04-05 15:51:55 +03:00
|
|
|
| key | displayname |
|
|
|
|
| value | Brand New User |
|
|
|
|
And the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And sending "PUT" to "/cloud/users/brand-new-user" with
|
2015-10-14 19:30:18 +03:00
|
|
|
| key | quota |
|
|
|
|
| value | 12MB |
|
2017-04-05 15:51:55 +03:00
|
|
|
And the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And sending "PUT" to "/cloud/users/brand-new-user" with
|
2015-10-14 19:30:18 +03:00
|
|
|
| key | email |
|
2020-12-02 18:03:54 +03:00
|
|
|
| value | no-reply@nextcloud.com |
|
2017-04-05 15:51:55 +03:00
|
|
|
And the OCS status code should be "100"
|
2015-10-14 19:30:18 +03:00
|
|
|
And the HTTP status code should be "200"
|
2017-04-05 15:51:55 +03:00
|
|
|
And sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | phone |
|
2020-12-03 13:12:41 +03:00
|
|
|
| value | +49 711 / 25 24 28-90 |
|
2017-04-05 15:51:55 +03:00
|
|
|
And the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | address |
|
|
|
|
| value | Foo Bar Town |
|
|
|
|
And the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | website |
|
|
|
|
| value | https://nextcloud.com |
|
|
|
|
And the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | twitter |
|
|
|
|
| value | Nextcloud |
|
|
|
|
And the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
Then user "brand-new-user" has
|
|
|
|
| id | brand-new-user |
|
|
|
|
| displayname | Brand New User |
|
2020-12-02 18:03:54 +03:00
|
|
|
| email | no-reply@nextcloud.com |
|
|
|
|
| phone | +4971125242890 |
|
2017-04-05 15:51:55 +03:00
|
|
|
| address | Foo Bar Town |
|
|
|
|
| website | https://nextcloud.com |
|
|
|
|
| twitter | Nextcloud |
|
2015-10-14 19:30:18 +03:00
|
|
|
|
2021-03-25 17:30:41 +03:00
|
|
|
Scenario: Edit a user account properties scopes
|
|
|
|
Given user "brand-new-user" exists
|
|
|
|
And As an "brand-new-user"
|
|
|
|
When sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | phoneScope |
|
|
|
|
| value | v2-private |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
When sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | twitterScope |
|
|
|
|
| value | v2-local |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
When sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | addressScope |
|
|
|
|
| value | v2-federated |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
When sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | emailScope |
|
|
|
|
| value | v2-published |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
When sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | websiteScope |
|
|
|
|
| value | public |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
When sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | displaynameScope |
|
|
|
|
| value | contacts |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
When sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | avatarScope |
|
|
|
|
| value | private |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
Then user "brand-new-user" has
|
|
|
|
| id | brand-new-user |
|
|
|
|
| phoneScope | v2-private |
|
|
|
|
| twitterScope | v2-local |
|
|
|
|
| addressScope | v2-federated |
|
|
|
|
| emailScope | v2-published |
|
|
|
|
| websiteScope | v2-published |
|
|
|
|
| displaynameScope | v2-federated |
|
|
|
|
| avatarScope | v2-local |
|
|
|
|
|
|
|
|
Scenario: Edit a user account properties scopes with invalid or unsupported value
|
|
|
|
Given user "brand-new-user" exists
|
|
|
|
And As an "brand-new-user"
|
|
|
|
When sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | phoneScope |
|
|
|
|
| value | invalid |
|
|
|
|
Then the OCS status code should be "102"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
When sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | displaynameScope |
|
|
|
|
| value | v2-private |
|
|
|
|
Then the OCS status code should be "102"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
When sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | emailScope |
|
|
|
|
| value | v2-private |
|
|
|
|
Then the OCS status code should be "102"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: An admin cannot edit user account property scopes
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
When sending "PUT" to "/cloud/users/brand-new-user" with
|
|
|
|
| key | phoneScope |
|
|
|
|
| value | v2-private |
|
2021-04-21 09:58:35 +03:00
|
|
|
Then the OCS status code should be "103"
|
|
|
|
And the HTTP status code should be "200"
|
2021-03-25 17:30:41 +03:00
|
|
|
|
2020-12-02 18:03:54 +03:00
|
|
|
Scenario: Search by phone number
|
|
|
|
Given As an "admin"
|
|
|
|
And user "phone-user" exists
|
|
|
|
And sending "PUT" to "/cloud/users/phone-user" with
|
|
|
|
| key | phone |
|
2020-12-03 13:12:41 +03:00
|
|
|
| value | +49 711 / 25 24 28-90 |
|
2020-12-02 18:03:54 +03:00
|
|
|
And the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
Then search users by phone for region "DE" with
|
|
|
|
| random-string1 | 0711 / 123 456 78 |
|
|
|
|
| random-string1 | 0711 / 252 428-90 |
|
|
|
|
| random-string2 | 0711 / 90-824 252 |
|
|
|
|
And the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
Then phone matches returned are
|
2020-12-03 22:44:29 +03:00
|
|
|
| random-string1 | phone-user@localhost:8080 |
|
2020-12-02 18:03:54 +03:00
|
|
|
|
2015-10-14 19:30:18 +03:00
|
|
|
Scenario: Create a group
|
|
|
|
Given As an "admin"
|
|
|
|
And group "new-group" does not exist
|
|
|
|
When sending "POST" to "/cloud/groups" with
|
|
|
|
| groupid | new-group |
|
|
|
|
| password | 123456 |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And group "new-group" exists
|
|
|
|
|
2016-01-11 12:38:49 +03:00
|
|
|
Scenario: Create a group with special characters
|
|
|
|
Given As an "admin"
|
|
|
|
And group "España" does not exist
|
|
|
|
When sending "POST" to "/cloud/groups" with
|
|
|
|
| groupid | España |
|
|
|
|
| password | 123456 |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And group "España" exists
|
|
|
|
|
2015-10-14 19:30:18 +03:00
|
|
|
Scenario: adding user to a group without sending the group
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
When sending "POST" to "/cloud/users/brand-new-user/groups" with
|
|
|
|
| groupid | |
|
|
|
|
Then the OCS status code should be "101"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: adding user to a group which doesn't exist
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And group "not-group" does not exist
|
|
|
|
When sending "POST" to "/cloud/users/brand-new-user/groups" with
|
|
|
|
| groupid | not-group |
|
|
|
|
Then the OCS status code should be "102"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: adding user to a group without privileges
|
2021-04-21 09:58:35 +03:00
|
|
|
Given user "brand-new-user" exists
|
|
|
|
And As an "brand-new-user"
|
2015-10-14 19:30:18 +03:00
|
|
|
When sending "POST" to "/cloud/users/brand-new-user/groups" with
|
|
|
|
| groupid | new-group |
|
2021-04-21 09:58:35 +03:00
|
|
|
Then the OCS status code should be "403"
|
|
|
|
And the HTTP status code should be "200"
|
2015-10-14 19:30:18 +03:00
|
|
|
|
|
|
|
Scenario: adding user to a group
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
When sending "POST" to "/cloud/users/brand-new-user/groups" with
|
|
|
|
| groupid | new-group |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: getting groups of an user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
When sending "GET" to "/cloud/users/brand-new-user/groups"
|
|
|
|
Then groups returned are
|
|
|
|
| new-group |
|
|
|
|
And the OCS status code should be "100"
|
|
|
|
|
|
|
|
Scenario: adding a user which doesn't exist to a group
|
|
|
|
Given As an "admin"
|
|
|
|
And user "not-user" does not exist
|
|
|
|
And group "new-group" exists
|
|
|
|
When sending "POST" to "/cloud/users/not-user/groups" with
|
|
|
|
| groupid | new-group |
|
|
|
|
Then the OCS status code should be "103"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: getting a group
|
|
|
|
Given As an "admin"
|
|
|
|
And group "new-group" exists
|
|
|
|
When sending "GET" to "/cloud/groups/new-group"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: Getting all groups
|
|
|
|
Given As an "admin"
|
|
|
|
And group "new-group" exists
|
|
|
|
And group "admin" exists
|
|
|
|
When sending "GET" to "/cloud/groups"
|
|
|
|
Then groups returned are
|
2016-01-11 12:38:49 +03:00
|
|
|
| España |
|
2015-10-14 19:30:18 +03:00
|
|
|
| admin |
|
|
|
|
| new-group |
|
|
|
|
|
|
|
|
Scenario: create a subadmin
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
When sending "POST" to "/cloud/users/brand-new-user/subadmins" with
|
|
|
|
| groupid | new-group |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
2015-10-22 15:15:51 +03:00
|
|
|
Scenario: get users using a subadmin
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
And user "brand-new-user" belongs to group "new-group"
|
|
|
|
And user "brand-new-user" is subadmin of group "new-group"
|
|
|
|
And As an "brand-new-user"
|
|
|
|
When sending "GET" to "/cloud/users"
|
|
|
|
Then users returned are
|
|
|
|
| brand-new-user |
|
|
|
|
And the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
2015-11-06 13:16:34 +03:00
|
|
|
Scenario: removing a user from a group which doesn't exists
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And group "not-group" does not exist
|
|
|
|
When sending "DELETE" to "/cloud/users/brand-new-user/groups" with
|
|
|
|
| groupid | not-group |
|
|
|
|
Then the OCS status code should be "102"
|
|
|
|
|
2015-10-22 15:15:51 +03:00
|
|
|
Scenario: removing a user from a group
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
And user "brand-new-user" belongs to group "new-group"
|
|
|
|
When sending "DELETE" to "/cloud/users/brand-new-user/groups" with
|
|
|
|
| groupid | new-group |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And user "brand-new-user" does not belong to group "new-group"
|
|
|
|
|
2015-10-14 19:30:18 +03:00
|
|
|
Scenario: create a subadmin using a user which not exist
|
|
|
|
Given As an "admin"
|
|
|
|
And user "not-user" does not exist
|
|
|
|
And group "new-group" exists
|
|
|
|
When sending "POST" to "/cloud/users/not-user/subadmins" with
|
|
|
|
| groupid | new-group |
|
|
|
|
Then the OCS status code should be "101"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: create a subadmin using a group which not exist
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And group "not-group" does not exist
|
|
|
|
When sending "POST" to "/cloud/users/brand-new-user/subadmins" with
|
|
|
|
| groupid | not-group |
|
|
|
|
Then the OCS status code should be "102"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: Getting subadmin groups
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
When sending "GET" to "/cloud/users/brand-new-user/subadmins"
|
|
|
|
Then subadmin groups returned are
|
|
|
|
| new-group |
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: Getting subadmin groups of a user which not exist
|
|
|
|
Given As an "admin"
|
|
|
|
And user "not-user" does not exist
|
|
|
|
And group "new-group" exists
|
|
|
|
When sending "GET" to "/cloud/users/not-user/subadmins"
|
2018-03-26 21:04:32 +03:00
|
|
|
Then the OCS status code should be "404"
|
2015-10-14 19:30:18 +03:00
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: Getting subadmin users of a group
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
When sending "GET" to "/cloud/groups/new-group/subadmins"
|
|
|
|
Then subadmin users returned are
|
|
|
|
| brand-new-user |
|
|
|
|
And the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: Getting subadmin users of a group which doesn't exist
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And group "not-group" does not exist
|
|
|
|
When sending "GET" to "/cloud/groups/not-group/subadmins"
|
|
|
|
Then the OCS status code should be "101"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: Removing subadmin from a group
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
And user "brand-new-user" is subadmin of group "new-group"
|
|
|
|
When sending "DELETE" to "/cloud/users/brand-new-user/subadmins" with
|
|
|
|
| groupid | new-group |
|
|
|
|
And the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
|
|
|
Scenario: Delete a user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "brand-new-user" exists
|
2016-10-27 13:27:09 +03:00
|
|
|
When sending "DELETE" to "/cloud/users/brand-new-user"
|
2015-10-14 19:30:18 +03:00
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And user "brand-new-user" does not exist
|
|
|
|
|
|
|
|
Scenario: Delete a group
|
|
|
|
Given As an "admin"
|
|
|
|
And group "new-group" exists
|
|
|
|
When sending "DELETE" to "/cloud/groups/new-group"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And group "new-group" does not exist
|
2015-09-29 18:05:52 +03:00
|
|
|
|
2016-01-11 14:21:26 +03:00
|
|
|
Scenario: Delete a group with special characters
|
|
|
|
Given As an "admin"
|
|
|
|
And group "España" exists
|
|
|
|
When sending "DELETE" to "/cloud/groups/España"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And group "España" does not exist
|
|
|
|
|
2015-10-22 16:28:48 +03:00
|
|
|
Scenario: get enabled apps
|
|
|
|
Given As an "admin"
|
|
|
|
When sending "GET" to "/cloud/apps?filter=enabled"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And apps returned are
|
2018-06-15 16:35:35 +03:00
|
|
|
| accessibility |
|
2018-07-04 12:23:39 +03:00
|
|
|
| cloud_federation_api |
|
2016-02-02 20:14:58 +03:00
|
|
|
| comments |
|
2020-04-13 16:07:59 +03:00
|
|
|
| contactsinteraction |
|
2020-07-15 15:07:48 +03:00
|
|
|
| dashboard |
|
2015-10-22 16:28:48 +03:00
|
|
|
| dav |
|
2016-02-04 14:07:31 +03:00
|
|
|
| federatedfilesharing |
|
2016-03-04 19:59:57 +03:00
|
|
|
| federation |
|
2016-02-02 20:14:58 +03:00
|
|
|
| files |
|
2015-10-22 16:28:48 +03:00
|
|
|
| files_sharing |
|
|
|
|
| files_trashbin |
|
|
|
|
| files_versions |
|
2016-11-18 22:13:41 +03:00
|
|
|
| lookup_server_connector |
|
2015-10-22 16:28:48 +03:00
|
|
|
| provisioning_api |
|
2019-09-17 17:33:27 +03:00
|
|
|
| settings |
|
2016-10-27 13:27:09 +03:00
|
|
|
| sharebymail |
|
2016-01-20 14:26:50 +03:00
|
|
|
| systemtags |
|
2016-06-21 22:59:24 +03:00
|
|
|
| theming |
|
2016-09-05 09:51:03 +03:00
|
|
|
| twofactor_backupcodes |
|
2016-02-09 15:06:48 +03:00
|
|
|
| updatenotification |
|
2018-04-13 17:12:00 +03:00
|
|
|
| user_ldap |
|
2020-08-03 14:43:15 +03:00
|
|
|
| user_status |
|
2019-12-11 01:29:43 +03:00
|
|
|
| viewer |
|
2016-07-26 17:39:04 +03:00
|
|
|
| workflowengine |
|
2020-08-06 11:43:26 +03:00
|
|
|
| weather_status |
|
2016-08-26 13:52:11 +03:00
|
|
|
| files_external |
|
2017-05-18 16:53:09 +03:00
|
|
|
| oauth2 |
|
2015-10-22 16:28:48 +03:00
|
|
|
|
|
|
|
Scenario: get app info
|
|
|
|
Given As an "admin"
|
|
|
|
When sending "GET" to "/cloud/apps/files"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
2017-03-20 12:44:40 +03:00
|
|
|
Scenario: get app info from app that does not exist
|
|
|
|
Given As an "admin"
|
|
|
|
When sending "GET" to "/cloud/apps/this_app_should_never_exist"
|
|
|
|
Then the OCS status code should be "998"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
2015-10-22 16:28:48 +03:00
|
|
|
Scenario: enable an app
|
|
|
|
Given As an "admin"
|
2016-08-31 11:40:17 +03:00
|
|
|
And app "testing" is disabled
|
|
|
|
When sending "POST" to "/cloud/apps/testing"
|
2015-10-22 16:28:48 +03:00
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
2016-08-31 11:40:17 +03:00
|
|
|
And app "testing" is enabled
|
2015-10-22 16:28:48 +03:00
|
|
|
|
2017-03-20 12:44:40 +03:00
|
|
|
Scenario: enable an app that does not exist
|
|
|
|
Given As an "admin"
|
|
|
|
When sending "POST" to "/cloud/apps/this_app_should_never_exist"
|
|
|
|
Then the OCS status code should be "998"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
|
2015-10-22 16:28:48 +03:00
|
|
|
Scenario: disable an app
|
|
|
|
Given As an "admin"
|
2016-08-31 11:40:17 +03:00
|
|
|
And app "testing" is enabled
|
|
|
|
When sending "DELETE" to "/cloud/apps/testing"
|
2015-10-22 16:28:48 +03:00
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
2016-08-31 11:40:17 +03:00
|
|
|
And app "testing" is disabled
|
2016-04-19 12:13:24 +03:00
|
|
|
|
|
|
|
Scenario: disable an user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "user1" exists
|
|
|
|
When sending "PUT" to "/cloud/users/user1/disable"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And user "user1" is disabled
|
|
|
|
|
|
|
|
Scenario: enable an user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "user1" exists
|
|
|
|
And assure user "user1" is disabled
|
|
|
|
When sending "PUT" to "/cloud/users/user1/enable"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And user "user1" is enabled
|
|
|
|
|
|
|
|
Scenario: Subadmin should be able to enable or disable an user in their group
|
|
|
|
Given As an "admin"
|
|
|
|
And user "subadmin" exists
|
|
|
|
And user "user1" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
And user "subadmin" belongs to group "new-group"
|
|
|
|
And user "user1" belongs to group "new-group"
|
|
|
|
And Assure user "subadmin" is subadmin of group "new-group"
|
|
|
|
And As an "subadmin"
|
|
|
|
When sending "PUT" to "/cloud/users/user1/disable"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
Then the HTTP status code should be "200"
|
|
|
|
And As an "admin"
|
|
|
|
And user "user1" is disabled
|
|
|
|
|
|
|
|
Scenario: Subadmin should not be able to enable or disable an user not in their group
|
|
|
|
Given As an "admin"
|
|
|
|
And user "subadmin" exists
|
|
|
|
And user "user1" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
And group "another-group" exists
|
|
|
|
And user "subadmin" belongs to group "new-group"
|
|
|
|
And user "user1" belongs to group "another-group"
|
|
|
|
And Assure user "subadmin" is subadmin of group "new-group"
|
|
|
|
And As an "subadmin"
|
|
|
|
When sending "PUT" to "/cloud/users/user1/disable"
|
2021-04-21 09:58:35 +03:00
|
|
|
Then the OCS status code should be "998"
|
|
|
|
Then the HTTP status code should be "200"
|
2016-04-19 12:13:24 +03:00
|
|
|
And As an "admin"
|
|
|
|
And user "user1" is enabled
|
|
|
|
|
|
|
|
Scenario: Subadmins should not be able to disable users that have admin permissions in their group
|
|
|
|
Given As an "admin"
|
|
|
|
And user "another-admin" exists
|
|
|
|
And user "subadmin" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
And user "another-admin" belongs to group "admin"
|
|
|
|
And user "subadmin" belongs to group "new-group"
|
|
|
|
And user "another-admin" belongs to group "new-group"
|
|
|
|
And Assure user "subadmin" is subadmin of group "new-group"
|
|
|
|
And As an "subadmin"
|
|
|
|
When sending "PUT" to "/cloud/users/another-admin/disable"
|
2021-04-21 09:58:35 +03:00
|
|
|
Then the OCS status code should be "998"
|
|
|
|
Then the HTTP status code should be "200"
|
2016-04-19 12:13:24 +03:00
|
|
|
And As an "admin"
|
|
|
|
And user "another-admin" is enabled
|
|
|
|
|
|
|
|
Scenario: Admin can disable another admin user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "another-admin" exists
|
|
|
|
And user "another-admin" belongs to group "admin"
|
|
|
|
When sending "PUT" to "/cloud/users/another-admin/disable"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
Then the HTTP status code should be "200"
|
|
|
|
And user "another-admin" is disabled
|
|
|
|
|
|
|
|
Scenario: Admin can enable another admin user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "another-admin" exists
|
|
|
|
And user "another-admin" belongs to group "admin"
|
|
|
|
And assure user "another-admin" is disabled
|
|
|
|
When sending "PUT" to "/cloud/users/another-admin/enable"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
Then the HTTP status code should be "200"
|
|
|
|
And user "another-admin" is enabled
|
|
|
|
|
|
|
|
Scenario: Admin can disable subadmins in the same group
|
|
|
|
Given As an "admin"
|
|
|
|
And user "subadmin" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
And user "subadmin" belongs to group "new-group"
|
|
|
|
And user "admin" belongs to group "new-group"
|
|
|
|
And Assure user "subadmin" is subadmin of group "new-group"
|
|
|
|
When sending "PUT" to "/cloud/users/subadmin/disable"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
Then the HTTP status code should be "200"
|
|
|
|
And user "subadmin" is disabled
|
|
|
|
|
|
|
|
Scenario: Admin can enable subadmins in the same group
|
|
|
|
Given As an "admin"
|
|
|
|
And user "subadmin" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
And user "subadmin" belongs to group "new-group"
|
|
|
|
And user "admin" belongs to group "new-group"
|
|
|
|
And Assure user "subadmin" is subadmin of group "new-group"
|
|
|
|
And assure user "another-admin" is disabled
|
|
|
|
When sending "PUT" to "/cloud/users/subadmin/disable"
|
|
|
|
Then the OCS status code should be "100"
|
|
|
|
Then the HTTP status code should be "200"
|
|
|
|
And user "subadmin" is disabled
|
|
|
|
|
|
|
|
Scenario: Admin user cannot disable himself
|
|
|
|
Given As an "admin"
|
|
|
|
And user "another-admin" exists
|
|
|
|
And user "another-admin" belongs to group "admin"
|
|
|
|
And As an "another-admin"
|
|
|
|
When sending "PUT" to "/cloud/users/another-admin/disable"
|
|
|
|
Then the OCS status code should be "101"
|
|
|
|
And the HTTP status code should be "200"
|
|
|
|
And As an "admin"
|
|
|
|
And user "another-admin" is enabled
|
|
|
|
|
|
|
|
Scenario:Admin user cannot enable himself
|
|
|
|
Given As an "admin"
|
|
|
|
And user "another-admin" exists
|
|
|
|
And user "another-admin" belongs to group "admin"
|
|
|
|
And assure user "another-admin" is disabled
|
|
|
|
And As an "another-admin"
|
|
|
|
When sending "PUT" to "/cloud/users/another-admin/enable"
|
|
|
|
And As an "admin"
|
|
|
|
Then user "another-admin" is disabled
|
|
|
|
|
|
|
|
Scenario: disable an user with a regular user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "user1" exists
|
|
|
|
And user "user2" exists
|
|
|
|
And As an "user1"
|
|
|
|
When sending "PUT" to "/cloud/users/user2/disable"
|
2021-04-21 09:58:35 +03:00
|
|
|
Then the OCS status code should be "403"
|
|
|
|
And the HTTP status code should be "200"
|
2016-04-19 12:13:24 +03:00
|
|
|
And As an "admin"
|
|
|
|
And user "user2" is enabled
|
|
|
|
|
|
|
|
Scenario: enable an user with a regular user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "user1" exists
|
|
|
|
And user "user2" exists
|
|
|
|
And assure user "user2" is disabled
|
|
|
|
And As an "user1"
|
|
|
|
When sending "PUT" to "/cloud/users/user2/enable"
|
2021-04-21 09:58:35 +03:00
|
|
|
Then the OCS status code should be "403"
|
|
|
|
And the HTTP status code should be "200"
|
2016-04-19 12:13:24 +03:00
|
|
|
And As an "admin"
|
|
|
|
And user "user2" is disabled
|
|
|
|
|
|
|
|
Scenario: Subadmin should not be able to disable himself
|
|
|
|
Given As an "admin"
|
|
|
|
And user "subadmin" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
And user "subadmin" belongs to group "new-group"
|
|
|
|
And Assure user "subadmin" is subadmin of group "new-group"
|
|
|
|
And As an "subadmin"
|
|
|
|
When sending "PUT" to "/cloud/users/subadmin/disable"
|
|
|
|
Then the OCS status code should be "101"
|
|
|
|
Then the HTTP status code should be "200"
|
|
|
|
And As an "admin"
|
|
|
|
And user "subadmin" is enabled
|
|
|
|
|
|
|
|
Scenario: Subadmin should not be able to enable himself
|
|
|
|
Given As an "admin"
|
|
|
|
And user "subadmin" exists
|
|
|
|
And group "new-group" exists
|
|
|
|
And user "subadmin" belongs to group "new-group"
|
|
|
|
And Assure user "subadmin" is subadmin of group "new-group"
|
|
|
|
And assure user "subadmin" is disabled
|
|
|
|
And As an "subadmin"
|
|
|
|
When sending "PUT" to "/cloud/users/subadmin/enabled"
|
|
|
|
And As an "admin"
|
|
|
|
And user "subadmin" is disabled
|
|
|
|
|
2016-10-04 15:51:54 +03:00
|
|
|
Scenario: Making a ocs request with an enabled user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "user0" exists
|
|
|
|
And As an "user0"
|
|
|
|
When sending "GET" to "/cloud/capabilities"
|
|
|
|
Then the HTTP status code should be "200"
|
|
|
|
And the OCS status code should be "100"
|
|
|
|
|
2016-04-19 12:13:24 +03:00
|
|
|
Scenario: Making a web request with an enabled user
|
2016-10-04 15:51:54 +03:00
|
|
|
Given As an "admin"
|
2016-04-19 12:13:24 +03:00
|
|
|
And user "user0" exists
|
|
|
|
And As an "user0"
|
2016-10-04 15:51:54 +03:00
|
|
|
When sending "GET" with exact url to "/index.php/apps/files"
|
2016-04-19 12:13:24 +03:00
|
|
|
Then the HTTP status code should be "200"
|
|
|
|
|
2016-10-04 15:51:54 +03:00
|
|
|
Scenario: Making a ocs request with a disabled user
|
|
|
|
Given As an "admin"
|
2016-04-19 12:13:24 +03:00
|
|
|
And user "user0" exists
|
|
|
|
And assure user "user0" is disabled
|
|
|
|
And As an "user0"
|
2016-09-27 13:00:02 +03:00
|
|
|
When sending "GET" to "/cloud/capabilities"
|
2016-07-22 09:27:16 +03:00
|
|
|
Then the OCS status code should be "997"
|
|
|
|
And the HTTP status code should be "401"
|
2016-04-19 12:13:24 +03:00
|
|
|
|
2016-10-04 15:51:54 +03:00
|
|
|
Scenario: Making a web request with a disabled user
|
|
|
|
Given As an "admin"
|
|
|
|
And user "user0" exists
|
|
|
|
And assure user "user0" is disabled
|
|
|
|
And As an "user0"
|
|
|
|
When sending "GET" with exact url to "/index.php/apps/files"
|
2021-05-01 00:08:57 +03:00
|
|
|
And the HTTP status code should be "401"
|