mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-31 01:10:20 -06:00
add test to check settings api response
Signed-off-by: prashant-gurung899 <prasantgrg777@gmail.com>
This commit is contained in:
@@ -88,6 +88,7 @@ config = {
|
||||
"apiDepthInfinity",
|
||||
"apiLocks",
|
||||
"apiActivities",
|
||||
"apiSettings",
|
||||
],
|
||||
"skip": False,
|
||||
},
|
||||
|
||||
@@ -63,7 +63,7 @@ class SettingsContext implements Context {
|
||||
}
|
||||
|
||||
/**
|
||||
* @When /^user "([^"]*)" tries to get all existing roles$/
|
||||
* @When /^user "([^"]*)" tries to get all existing roles using the settings API$/
|
||||
*
|
||||
* @param string $user
|
||||
*
|
||||
@@ -139,6 +139,30 @@ class SettingsContext implements Context {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @When user :assigner assigns the role :role to user :assignee using the settings API
|
||||
*
|
||||
* @param string $assigner
|
||||
* @param string $role
|
||||
* @param string $assignee
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
public function userAssignsTheRoleToUserUsingTheSettingsApi(
|
||||
string $assigner,
|
||||
string $role,
|
||||
string $assignee
|
||||
): void {
|
||||
$response = $this->assignRoleToUser(
|
||||
$assigner,
|
||||
$this->featureContext->getAttributeOfCreatedUser($assignee, 'id'),
|
||||
$this->getRoleIdByRoleName($assigner, $role)
|
||||
);
|
||||
$this->featureContext->setResponse($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $user
|
||||
* @param string $role
|
||||
@@ -232,7 +256,7 @@ class SettingsContext implements Context {
|
||||
}
|
||||
|
||||
/**
|
||||
* @When /^user "([^"]*)" tries to get list of assignment$/
|
||||
* @When /^user "([^"]*)" tries to get list of assignment using the settings API$/
|
||||
*
|
||||
* @param string $user
|
||||
*
|
||||
@@ -444,6 +468,22 @@ class SettingsContext implements Context {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @When user :user switches the system language to :language using the settings API
|
||||
*
|
||||
* @param string $user
|
||||
* @param string $language
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @throws Exception
|
||||
* @throws GuzzleException
|
||||
*/
|
||||
public function userSwitchesTheSystemLanguageUsingTheSettingsApi(string $user, string $language): void {
|
||||
$response = $this->sendRequestToSwitchSystemLanguage($user, $language);
|
||||
$this->featureContext->setResponse($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $user
|
||||
*
|
||||
@@ -497,4 +537,20 @@ class SettingsContext implements Context {
|
||||
);
|
||||
$this->featureContext->rememberUserAutoSyncSetting($user, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* @When user :user disables the auto-sync share using the settings API
|
||||
*
|
||||
* @param string $user
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @throws Exception
|
||||
* @throws GuzzleException
|
||||
*/
|
||||
public function userDisablesAutoAcceptingUsingSettingsApi(string $user): void {
|
||||
$response = $this->sendRequestToDisableAutoAccepting($user);
|
||||
$this->featureContext->setResponse($response);
|
||||
$this->featureContext->rememberUserAutoSyncSetting($user, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -351,6 +351,15 @@ default:
|
||||
- OcisConfigContext:
|
||||
- SettingsContext:
|
||||
|
||||
apiSettings:
|
||||
paths:
|
||||
- "%paths.base%/../features/apiSettings"
|
||||
context: *common_ldap_suite_context
|
||||
contexts:
|
||||
- FeatureContext: *common_feature_context_params
|
||||
- GraphContext:
|
||||
- SettingsContext:
|
||||
|
||||
apiSharingNgShareInvitation:
|
||||
paths:
|
||||
- "%paths.base%/../features/apiSharingNgShareInvitation"
|
||||
|
||||
@@ -7,7 +7,7 @@ Feature: assign role
|
||||
Scenario Outline: only admin user can see all existing roles
|
||||
Given user "Alice" has been created with default attributes
|
||||
And the administrator has given "Alice" the role "<user-role>" using the settings api
|
||||
When user "Alice" tries to get all existing roles
|
||||
When user "Alice" tries to get all existing roles using the settings API
|
||||
Then the HTTP status code should be "<http-status-code>"
|
||||
Examples:
|
||||
| user-role | http-status-code |
|
||||
@@ -19,7 +19,7 @@ Feature: assign role
|
||||
Scenario Outline: only admin user can see assignments list
|
||||
Given user "Alice" has been created with default attributes
|
||||
And the administrator has given "Alice" the role "<user-role>" using the settings api
|
||||
When user "Alice" tries to get list of assignment
|
||||
When user "Alice" tries to get list of assignment using the settings API
|
||||
Then the HTTP status code should be "<http-status-code>"
|
||||
Examples:
|
||||
| user-role | http-status-code |
|
||||
|
||||
@@ -22,7 +22,7 @@ Feature: assign role
|
||||
@issue-5032
|
||||
Scenario Outline: get assigned role of a user via setting api
|
||||
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
|
||||
When user "Alice" tries to get list of assignment
|
||||
When user "Alice" tries to get list of assignment using the settings API
|
||||
Then the HTTP status code should be "<http-status-code>"
|
||||
And the setting API response should have the role "<user-role>"
|
||||
Examples:
|
||||
|
||||
277
tests/acceptance/features/apiSettings/settings.feature
Normal file
277
tests/acceptance/features/apiSettings/settings.feature
Normal file
@@ -0,0 +1,277 @@
|
||||
Feature: settings api
|
||||
As a user,
|
||||
I want to use settings api
|
||||
So that I can manage user specific settings
|
||||
|
||||
Background:
|
||||
Given these users have been created with default attributes:
|
||||
| username |
|
||||
| Alice |
|
||||
| Brian |
|
||||
And using spaces DAV path
|
||||
|
||||
|
||||
Scenario: disable auto-sync share
|
||||
When user "Brian" disables the auto-sync share using the settings API
|
||||
Then the HTTP status code should be "201"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["value"],
|
||||
"properties": {
|
||||
"value" : {
|
||||
"type": "object",
|
||||
"required": ["identifier","value"],
|
||||
"properties": {
|
||||
"identifier": {
|
||||
"type": "object",
|
||||
"required": [ "extension", "bundle", "setting"],
|
||||
"properties": {
|
||||
"extension": { "const": "ocis-accounts" },
|
||||
"bundle": { "const": "profile" },
|
||||
"setting": { "const": "auto-accept-shares" }
|
||||
}
|
||||
},
|
||||
"value": {
|
||||
"type": "object",
|
||||
"required": [ "id", "bundleId", "settingId", "accountUuid", "resource", "boolValue" ],
|
||||
"properties": {
|
||||
"id": { "pattern": "^%user_id_pattern%$" },
|
||||
"bundleId": { "pattern": "^%user_id_pattern%$" },
|
||||
"settingId": { "pattern": "^%user_id_pattern%$" },
|
||||
"accountUuid": { "pattern": "^%user_id_pattern%$" },
|
||||
"resource": {
|
||||
"type": "object",
|
||||
"required": ["type"],
|
||||
"properties": {
|
||||
"type": { "const": "TYPE_USER" }
|
||||
}
|
||||
},
|
||||
"boolValue": { "const": false }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
Scenario: assign role to user
|
||||
When user "Admin" assigns the role "Admin" to user "Alice" using the settings API
|
||||
Then the HTTP status code should be "201"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["assignment"],
|
||||
"properties": {
|
||||
"assignment" : {
|
||||
"type": "object",
|
||||
"required": [ "id", "accountUuid", "roleId" ],
|
||||
"properties": {
|
||||
"id": { "pattern": "^%user_id_pattern%$" },
|
||||
"accountUuid": { "pattern": "^%user_id_pattern%$" },
|
||||
"roleId": { "pattern": "^%user_id_pattern%$" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
@issue-5032
|
||||
Scenario: user lists assignments
|
||||
Given the administrator has assigned the role "Admin" to user "Alice" using the Graph API
|
||||
When user "Alice" tries to get list of assignment using the settings API
|
||||
Then the HTTP status code should be "201"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["assignments"],
|
||||
"properties": {
|
||||
"assignments" : {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"maxItems": 1,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["id","accountUuid","roleId"],
|
||||
"properties": {
|
||||
"id": { "pattern": "^%user_id_pattern%$" },
|
||||
"accountUuid": { "pattern": "^%user_id_pattern%$" },
|
||||
"roleId": { "pattern": "^%user_id_pattern%$" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
Scenario: switch language
|
||||
When user "Alice" switches the system language to "de" using the settings API
|
||||
Then the HTTP status code should be "201"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["value"],
|
||||
"properties": {
|
||||
"value" : {
|
||||
"type": "object",
|
||||
"required": [ "identifier", "value"],
|
||||
"properties": {
|
||||
"identifier": {
|
||||
"type": "object",
|
||||
"required": [ "extension", "bundle", "setting"],
|
||||
"properties": {
|
||||
"extension": { "const": "ocis-accounts" },
|
||||
"bundle": { "const": "profile" },
|
||||
"setting": { "const": "language" }
|
||||
}
|
||||
},
|
||||
"value": {
|
||||
"type": "object",
|
||||
"required": [ "id", "bundleId", "settingId", "accountUuid", "resource", "listValue" ],
|
||||
"properties": {
|
||||
"id": { "pattern": "^%user_id_pattern%$" },
|
||||
"bundleId": { "pattern": "^%user_id_pattern%$" },
|
||||
"settingId": { "pattern": "^%user_id_pattern%$" },
|
||||
"accountUuid": { "pattern": "^%user_id_pattern%$" },
|
||||
"resource": {
|
||||
"type": "object",
|
||||
"required": ["type"],
|
||||
"properties": {
|
||||
"type": { "const": "TYPE_USER" }
|
||||
}
|
||||
},
|
||||
"listValue": {
|
||||
"type": "object",
|
||||
"required": ["values"],
|
||||
"properties": {
|
||||
"values": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"maxItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["stringValue"],
|
||||
"properties": {
|
||||
"stringValue": { "const": "de" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
@issue-5079
|
||||
Scenario Outline: user lists existing roles
|
||||
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
|
||||
When user "Alice" tries to get all existing roles using the settings API
|
||||
Then the HTTP status code should be "201"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["bundles"],
|
||||
"properties": {
|
||||
"bundles" : {
|
||||
"type": "array",
|
||||
"minItems": 4,
|
||||
"maxItems": 4,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["id", "name", "type", "extension", "displayName", "settings", "resource"],
|
||||
"properties": {
|
||||
"id": { "pattern": "^%user_id_pattern%$" },
|
||||
"name": { "const": "spaceadmin" },
|
||||
"type": { "const": "TYPE_ROLE" },
|
||||
"extension": { "const": "ocis-roles" },
|
||||
"displayName": { "const": "Space Admin" },
|
||||
"resource": {
|
||||
"type": "object",
|
||||
"required": ["type"],
|
||||
"properties": {
|
||||
"type": { "const": "TYPE_SYSTEM" }
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["id", "name", "type", "extension", "displayName", "settings", "resource"],
|
||||
"properties": {
|
||||
"id": { "pattern": "^%user_id_pattern%$" },
|
||||
"name": { "const": "admin"},
|
||||
"type": { "const": "TYPE_ROLE" },
|
||||
"extension": { "const": "ocis-roles" },
|
||||
"displayName": { "const": "Admin" },
|
||||
"resource": {
|
||||
"type": "object",
|
||||
"required": ["type"],
|
||||
"properties": {
|
||||
"type": { "const": "TYPE_SYSTEM" }
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["id", "name", "type", "extension", "displayName", "settings", "resource"],
|
||||
"properties": {
|
||||
"id": { "pattern": "^%user_id_pattern%$" },
|
||||
"name": { "const": "user-light" },
|
||||
"type": { "const": "TYPE_ROLE" },
|
||||
"extension": { "const": "ocis-roles" },
|
||||
"displayName": { "const": "User Light" },
|
||||
"resource": {
|
||||
"type": "object",
|
||||
"required": ["type"],
|
||||
"properties": {
|
||||
"type": { "const": "TYPE_SYSTEM" }
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["id", "name", "type", "extension", "displayName", "settings", "resource"],
|
||||
"properties": {
|
||||
"id": { "pattern": "^%user_id_pattern%$" },
|
||||
"name": { "const": "user" },
|
||||
"type": { "const": "TYPE_ROLE" },
|
||||
"extension": { "const": "ocis-roles" },
|
||||
"displayName": { "const": "User" },
|
||||
"resource": {
|
||||
"type": "object",
|
||||
"required": ["type"],
|
||||
"properties": {
|
||||
"type": { "const": "TYPE_SYSTEM" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| user-role |
|
||||
| Admin |
|
||||
| Space Admin |
|
||||
| User |
|
||||
Reference in New Issue
Block a user