diff options
author | Pytal <24800714+Pytal@users.noreply.github.com> | 2021-06-09 15:33:57 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-09 15:33:57 -0700 |
commit | a416d508deff14f2c1902e9e16bd22bf7e345817 (patch) | |
tree | f51473ee1e6399de1bd8656dacc7707d044d5fa0 /build | |
parent | bb2b946c51459a0a16b745fe0d9605d26c7a3875 (diff) | |
parent | e16682aeda94c3c86be131371c35cb4255b86f3a (diff) | |
download | nextcloud-server-a416d508deff14f2c1902e9e16bd22bf7e345817.tar.gz nextcloud-server-a416d508deff14f2c1902e9e16bd22bf7e345817.zip |
Merge pull request #27089 from m7913d/feature/addGroupDisplayNames
[ProvisioningAPI] Allow specifying group display name during creation
Diffstat (limited to 'build')
-rw-r--r-- | build/integration/features/bootstrap/Provisioning.php | 32 | ||||
-rw-r--r-- | build/integration/features/provisioning-v1.feature | 17 |
2 files changed, 49 insertions, 0 deletions
diff --git a/build/integration/features/bootstrap/Provisioning.php b/build/integration/features/bootstrap/Provisioning.php index dd8e3a2a150..8eab793d66b 100644 --- a/build/integration/features/bootstrap/Provisioning.php +++ b/build/integration/features/bootstrap/Provisioning.php @@ -175,6 +175,38 @@ trait Provisioning { } } } + + /** + * @Then /^group "([^"]*)" has$/ + * + * @param string $user + * @param \Behat\Gherkin\Node\TableNode|null $settings + */ + public function groupHasSetting($group, $settings) { + $fullUrl = $this->baseUrl . "v{$this->apiVersion}.php/cloud/groups/details?search=$group"; + $client = new Client(); + $options = []; + if ($this->currentUser === 'admin') { + $options['auth'] = $this->adminUser; + } else { + $options['auth'] = [$this->currentUser, $this->regularUser]; + } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; + + $response = $client->get($fullUrl, $options); + $groupDetails = simplexml_load_string($response->getBody())->data[0]->groups[0]->element; + foreach ($settings->getRows() as $setting) { + $value = json_decode(json_encode($groupDetails->{$setting[0]}), 1); + if (isset($value[0])) { + Assert::assertEquals($setting[1], $value[0], "", 0.0, 10, true); + } else { + Assert::assertEquals('', $setting[1]); + } + } + } + /** * @Then /^user "([^"]*)" has editable fields$/ diff --git a/build/integration/features/provisioning-v1.feature b/build/integration/features/provisioning-v1.feature index e56c86a2d4f..dec6d2213e3 100644 --- a/build/integration/features/provisioning-v1.feature +++ b/build/integration/features/provisioning-v1.feature @@ -231,6 +231,21 @@ Feature: provisioning Then the OCS status code should be "100" And the HTTP status code should be "200" And group "new-group" exists + And group "new-group" has + | displayname | new-group | + + Scenario: Create a group with custom display name + Given As an "admin" + And group "new-group" does not exist + When sending "POST" to "/cloud/groups" with + | groupid | new-group | + | password | 123456 | + | displayname | new-group-displayname | + Then the OCS status code should be "100" + And the HTTP status code should be "200" + And group "new-group" exists + And group "new-group" has + | displayname | new-group-displayname | Scenario: Create a group with special characters Given As an "admin" @@ -241,6 +256,8 @@ Feature: provisioning Then the OCS status code should be "100" And the HTTP status code should be "200" And group "España" exists + And group "España" has + | displayname | España | Scenario: adding user to a group without sending the group Given As an "admin" |