Int tests for provisioning API scopes
Added integration tests for the scope attributes in the provisioning API. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
This commit is contained in:
parent
cc54f718f5
commit
98e4ac39bc
|
@ -157,7 +157,11 @@ trait Provisioning {
|
||||||
$fullUrl = $this->baseUrl . "v{$this->apiVersion}.php/cloud/users/$user";
|
$fullUrl = $this->baseUrl . "v{$this->apiVersion}.php/cloud/users/$user";
|
||||||
$client = new Client();
|
$client = new Client();
|
||||||
$options = [];
|
$options = [];
|
||||||
$options['auth'] = $this->adminUser;
|
if ($this->currentUser === 'admin') {
|
||||||
|
$options['auth'] = $this->adminUser;
|
||||||
|
} else {
|
||||||
|
$options['auth'] = [$this->currentUser, $this->regularUser];
|
||||||
|
}
|
||||||
$options['headers'] = [
|
$options['headers'] = [
|
||||||
'OCS-APIREQUEST' => 'true',
|
'OCS-APIREQUEST' => 'true',
|
||||||
];
|
];
|
||||||
|
|
|
@ -103,6 +103,82 @@ Feature: provisioning
|
||||||
| website | https://nextcloud.com |
|
| website | https://nextcloud.com |
|
||||||
| twitter | Nextcloud |
|
| twitter | Nextcloud |
|
||||||
|
|
||||||
|
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 |
|
||||||
|
Then the OCS status code should be "997"
|
||||||
|
And the HTTP status code should be "401"
|
||||||
|
|
||||||
Scenario: Search by phone number
|
Scenario: Search by phone number
|
||||||
Given As an "admin"
|
Given As an "admin"
|
||||||
And user "phone-user" exists
|
And user "phone-user" exists
|
||||||
|
@ -612,4 +688,3 @@ Feature: provisioning
|
||||||
And As an "user0"
|
And As an "user0"
|
||||||
When sending "GET" with exact url to "/index.php/apps/files"
|
When sending "GET" with exact url to "/index.php/apps/files"
|
||||||
And the HTTP status code should be "403"
|
And the HTTP status code should be "403"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue