Files
opencloud/tests/acceptance/features/apiGraph/getGroup.feature
Sagar Gurung 028ca42fed Forward port getallgroupmemberswithallmembers to master (#5658)
* Added graph API test for getting all groups along with its members

Signed-off-by: sagargurung1001@gmail.com <sagargurung1001@gmail.com>

* Refactor implementation code

Signed-off-by: sagargurung1001@gmail.com <sagargurung1001@gmail.com>

* PR address

Signed-off-by: sagargurung1001@gmail.com <sagargurung1001@gmail.com>

* Update the local api expected to failure

* Review Address

---------

Signed-off-by: sagargurung1001@gmail.com <sagargurung1001@gmail.com>
2023-02-27 11:16:50 +05:45

108 lines
5.0 KiB
Gherkin

@api @skipOnOcV10
Feature: get groups and their members
As an admin
I want to be able to get groups
So that I can see all the groups and their members
Background:
Given user "Alice" has been created with default attributes and without skeleton files
And the administrator has given "Alice" the role "Admin" using the settings api
Scenario: admin user lists all the groups
Given group "tea-lover" has been created
And group "coffee-lover" has been created
And group "h2o-lover" has been created
When user "Alice" gets all the groups using the Graph API
Then the HTTP status code should be "200"
And the extra groups returned by the API should be
| tea-lover |
| coffee-lover |
| h2o-lover |
Scenario: normal user cannot get the groups list
Given user "Brian" has been created with default attributes and without skeleton files
And group "tea-lover" has been created
And group "coffee-lover" has been created
And group "h2o-lover" has been created
When user "Brian" gets all the groups using the Graph API
Then the HTTP status code should be "401"
And the last response should be an unauthorized response
Scenario: admin user gets users of a group
Given these users have been created with default attributes and without skeleton files:
| username |
| Brian |
| Carol |
And group "tea-lover" has been created
And user "Brian" has been added to group "tea-lover"
And user "Carol" has been added to group "tea-lover"
When user "Alice" gets all the members of group "tea-lover" using the Graph API
Then the HTTP status code should be "200"
And the users returned by the API should be
| Brian |
| Carol |
Scenario: normal user tries to get users of a group
Given user "Brian" has been created with default attributes and without skeleton files
And group "tea-lover" has been created
When user "Brian" gets all the members of group "tea-lover" using the Graph API
Then the HTTP status code should be "401"
And the last response should be an unauthorized response
Scenario: admin user gets all groups along with its member's information
Given these users have been created with default attributes and without skeleton files:
| username |
| Brian |
| Carol |
And group "tea-lover" has been created
And group "coffee-lover" has been created
And user "Alice" has been added to group "tea-lover"
And user "Brian" has been added to group "coffee-lover"
And user "Carol" has been added to group "tea-lover"
When user "Alice" retrieves all groups along with their members using the Graph API
Then the HTTP status code should be "200"
And the group 'coffee-lover' should have the following member information
| displayName | id | mail | onPremisesSamAccountName |
| Brian Murphy | %uuid_v4% | brian@example.org | Brian |
And the group 'tea-lover' should have the following member information
| displayName | id | mail | onPremisesSamAccountName |
| Alice Hansen | %uuid_v4% | alice@example.org | Alice |
| Carol King | %uuid_v4% | carol@example.org | Carol |
Scenario: normal user gets all groups along with their members information
Given user "Brian" has been created with default attributes and without skeleton files
And group "tea-lover" has been created
And group "coffee-lover" has been created
And user "Alice" has been added to group "tea-lover"
And user "Brian" has been added to group "coffee-lover"
When user "Brian" retrieves all groups along with their members using the Graph API
Then the HTTP status code should be "401"
And the last response should be an unauthorized response
Scenario: admin user gets a group along with their members information
Given user "Brian" has been created with default attributes and without skeleton files
And group "tea-lover" has been created
And user "Alice" has been added to group "tea-lover"
And user "Brian" has been added to group "tea-lover"
When user "Alice" gets all the members information of group "tea-lover" using the Graph API
And the group 'tea-lover' should have the following member information
| displayName | id | mail | onPremisesSamAccountName |
| Alice Hansen | %uuid_v4% | alice@example.org | Alice |
| Brian Murphy | %uuid_v4% | brian@example.org | Brian |
Scenario: normal user gets a group along with their members information
Given user "Brian" has been created with default attributes and without skeleton files
And group "tea-lover" has been created
And user "Alice" has been added to group "tea-lover"
And user "Brian" has been added to group "tea-lover"
When user "Brian" gets all the members information of group "tea-lover" using the Graph API
Then the HTTP status code should be "401"
And the last response should be an unauthorized response