Merged in wnestor/processmaker (pull request #510)

Modificacion de sintaxis en el feature project export/import y culminacion de los behat del feature roles
This commit is contained in:
Erik Amaru Ortiz
2014-05-29 12:55:16 -04:00
5 changed files with 942 additions and 2 deletions

View File

@@ -0,0 +1,230 @@
@ProcessMakerMichelangelo @RestAPI
Feature: Roles
Background:
Given that I have a valid access_token
Scenario: Get list of Roles
Given I request "role"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 3 records
Scenario: Get a single Role
Given I request "role/00000000000000000000000000000002"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "object"
Scenario Outline: Create new Role
Given POST this data:
"""
{
"rol_code": "<rol_code>",
"rol_name": "<rol_name>",
"rol_status": "<rol_status>"
}
"""
And I request "role"
Then the response status code should be 201
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "object"
And store "rol_uid" in session array as variable "rol_uid_<rol_uid_number>"
Examples:
| test_description | rol_uid_number | rol_code | rol_name | rol_status |
| Create Role with name short | 1 | PROCESSMAKER_OPERATOR1 | sample | ACTIVE |
#Assign users to role
#Scenario: List assigned Users to Role & List available Users to assign to Role
# Given I request "role/00000000000000000000000000000003/users"
# Then the response status code should be 200
# And the response charset is "UTF-8"
# And the content type is "application/json"
# And the type is "array"
# And the response has 61 records
#
#Scenario: Assign User to Role
# Given POST this data:
# """
# {
# "usr_uid": "310985970530cbfa4ec0593063369294"
# }
# """
# And I request "role/00000000000000000000000000000003/user"
# Then the response status code should be 201
# And the response charset is "UTF-8"
# And the content type is "application/json"
# And the type is "object"
#
#
#Scenario: Get list of Roles
# Given I request "roles"
# Then the response status code should be 200
# And the response charset is "UTF-8"
# And the content type is "application/json"
# And the type is "array"
# And the response has 62 records
#
#
#Scenario: Unassign User of the Role
# Given that I want to delete a resource with the key "310985970530cbfa4ec0593063369294"
# And I request "role/00000000000000000000000000000003/user/310985970530cbfa4ec0593063369294"
# And the content type is "application/json"
# Then the response status code should be 200
# And the response charset is "UTF-8"
#
#
#Scenario: Get list of Roles
# Given I request "roles"
# Then the response status code should be 200
# And the response charset is "UTF-8"
# And the content type is "application/json"
# And the type is "array"
# And the response has 61 records
#Culminacion de los endpoint de asignacion de usuarios
#Role and Permission
Scenario: List assigned Permissions to Role & List available Permissions to assign to Role
Given I request "role/00000000000000000000000000000003/permissions"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 3 records
Scenario: List assigned Permissions to Role & List available Permissions to assign to Role
Given I request "role/00000000000000000000000000000003/available-permissions"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 14 recordsuser
Scenario: Assign Permission "PM_DASHBOARD" to Role
Given POST this data:
"""
{
"per_uid": "00000000000000000000000000000011"
}
"""
And I request "role/00000000000000000000000000000003/permission"
Then the response status code should be 201
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "object"
Scenario: List assigned Permissions to Role & List available Permissions to assign to Role
Given I request "role/00000000000000000000000000000003/permissions"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 4 records
Scenario: List assigned Permissions to Role & List available Permissions to assign to Role
Given I request "role/00000000000000000000000000000003/available-permissions"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 15 records
Scenario: Unassign Permission of the Role
Given that I want to delete a resource with the key ""
And I request "role/00000000000000000000000000000003/permission/00000000000000000000000000000011"
And the content type is "application/json"
Then the response status code should be 200
And the response charset is "UTF-8"
Scenario: List assigned Permissions to Role & List available Permissions to assign to Role
Given I request "role/00000000000000000000000000000003/permissions"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 3 records
Scenario: List assigned Permissions to Role & List available Permissions to assign to Role
Given I request "role/00000000000000000000000000000003/available-permissions"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 14 records
#Culminacion de behat para Role and Permission
Scenario Outline: Update Role
Given PUT this data:
"""
{
"rol_code": "<rol_code>",
"rol_name": "<rol_name>",
"rol_status": "<rol_status>"
}
"""
And that I want to update a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
And I request "role"
And the content type is "application/json"
Then the response status code should be 200
And the response charset is "UTF-8"
Examples:
| test_description | rol_uid_number | rol_code | rol_name | rol_status |
| Update name of role created in this script | 1 | PROCESSMAKER_OPERATOR1 | update_sample | INACTIVE |
Scenario Outline: Get a single Role created in this script
Given that I want to get a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
Given I request "role"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "object"
And that "rol_code" is set to "<rol_code>"
And that "rol_name" is set to "<rol_name>"
And that "rol_status" is set to "<rol_status>"
Examples:
| test_description | rol_uid_number | rol_code | rol_name | rol_status |
| Update name of role created in this script | 1 | PROCESSMAKER_OPERATOR1 | update_sample | INACTIVE |
Scenario Outline: Delete all roles created in this scritp
Given that I want to delete a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
And I request "role"
And the content type is "application/json"
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "object"
Examples:
| rol_uid_number |
| 1 |
Scenario: Get list of Roles
Given I request "roles"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 3 records

View File

@@ -0,0 +1,631 @@
@ProcessMakerMichelangelo @RestAPI
Feature: Roles Main Tests
Requirements:
a workspace with the three roles created already loaded
Background:
Given that I have a valid access_token
Scenario: Get list of Roles
Given I request "roles"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 3 records
Scenario Outline: Get list of Roles using different filters
Given I request "roles?filter=<filter>&start=<start>&limit=<limit>"
Then the response status code should be <http_code>
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "<type>"
And the response has <records> records
Examples:
| test_description | filter | start | limit | records | http_code | type |
| lowercase | admin | 0 | 1 | 1 | 200 | array |
| uppercase | ADMIN | 0 | 1 | 1 | 200 | array |
| limit=3 | a | 0 | 3 | 3 | 200 | array |
| limit and start | a | 1 | 2 | 2 | 200 | array |
| high number for start | a | 1000 | 1 | 0 | 200 | array |
| high number for start | a | 1000 | 0 | 0 | 200 | array |
| empty result | xyz | 0 | 0 | 0 | 200 | array |
| empty string | | 0 | 10000 | 3 | 200 | array |
| empty string | | 1 | 2 | 2 | 200 | array |
| invalid start | a | b | c | 0 | 400 | string |
| invalid limit | a | 0 | c | 0 | 400 | string |
| search 0 | 0 | 0 | 0 | 0 | 200 | array |
| search 0 | 0 | 0 | 100 | 0 | 200 | array |
| negative numbers | a | -10 | -20 | 0 | 400 | string |
| real numbers | a | 0.0 | 1.0 | 1 | 200 | string |
| real numbers | a | 0.0 | 0.0 | 0 | 200 | string |
| real numbers | a | 0.1 | 1.4599 | 0 | 400 | string |
| real numbers | a | 1.5 | 1.4599 | 0 | 400 | string |
Scenario Outline: Get a single Role created in this script
Given that I want to get a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
Given I request "role/<rol_uid>"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "object"
And that "rol_code" is set to "<rol_code>"
And that "rol_name" is set to "<rol_name>"
And that "rol_status" is set to "<rol_status>"
Examples:
| test_description | rol_uid | rol_code | rol_name | rol_status |
| Review rol PROCESSMAKER_ADMIN | 00000000000000000000000000000002 | PROCESSMAKER_ADMIN | System Administrator | ACTIVE |
| Review rol PROCESSMAKER_OPERATOR | 00000000000000000000000000000003 | PROCESSMAKER_OPERATOR | Operator | ACTIVE |
| Review rol PROCESSMAKER_MANAGER | 00000000000000000000000000000004 | PROCESSMAKER_MANAGER | Manager | ACTIVE |
Scenario Outline: Create new Role
Given POST this data:
"""
{
"rol_code": "<rol_code>",
"rol_name": "<rol_name>",
"rol_status": "<rol_status>"
}
"""
And I request "role"
Then the response status code should be 201
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "object"
And store "rol_uid" in session array as variable "rol_uid_<rol_uid_number>"
Examples:
| test_description | rol_uid_number | rol_code | rol_name | rol_status |
| Create Role with name short | 1 | PROCESSMAKER_OPERATOR | s | ACTIVE |
| Create Role with name large | 2 | PROCESSMAKER_OPERATOR | Esta es una prueba de un rol con nombre largo | ACTIVE |
| Create Role with Code Adminsitrator | 3 | PROCESSMAKER_ADMINISTRATOR | Rol con code administrator | ACTIVE |
| Create Role with Code Manager | 4 | PROCESSMAKER_MANAGER | Rol con code manager | ACTIVE |
| Create Role with Code Adminsitrator/inactive | 5 | PROCESSMAKER_ADMINISTRATOR | Rol con code administrator/inactive | INACTIVE |
| Create Role with Code Operator/inactive | 6 | PROCESSMAKER_OPERATOR | Rol con code operator/inactive | INACTIVE |
| Create Role with Code Manager/inactive | 7 | PROCESSMAKER_MANAGER | Rol con code manager/inactive | INACTIVE |
| Create Role with character special | 8 | PROCESSMAKER_ADMINISTRATOR | Rol !@##$%&*()'][' 123 | ACTIVE |
Scenario: Get list of Roles
Given I request "roles"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 11 records
#Assign users to role
#Scenario Outline: List assigned Users to Role & List available Users to assign to Role
# Given that I want to get a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
# And I request "role/<rol_uid_number>/users"
# Then the response status code should be 200
# And the response charset is "UTF-8"
# And the content type is "application/json"
# And the type is "array"
# And the response has <records> records
#
# Examples:
#
# | rol_uid_number | records |
# | 1 | 0 |
# | 2 | 0 |
# | 3 | 0 |
# | 4 | 0 |
# | 5 | 0 |
# | 6 | 0 |
# | 7 | 0 |
# | 8 | 0 |
#
#
#Scenario Outline: List assigned Users to Role & List available Users to assign to Role, using different filters
# Given I request "roles/00000000000000000000000000000003/users?filter=<filter>&start=<start>&limit=<limit>"
# Then the response status code should be <http_code>
# And the response charset is "UTF-8"
# And the content type is "application/json"
# And the type is "<type>"
# And the response has <records> records
#
# Examples:
#
# | test_description | filter | start | limit | records | http_code | type |
# | lowercase | amy | 0 | 1 | 1 | 200 | array |
# | uppercase | AMY | 0 | 1 | 1 | 200 | array |
# | limit=3 | a | 0 | 3 | 3 | 200 | array |
# | limit and start | a | 1 | 2 | 2 | 200 | array |
# | high number for start | a | 1000 | 1 | 0 | 200 | array |
# | high number for start | a | 1000 | 0 | 0 | 200 | array |
# | empty result | xyz | 0 | 0 | 0 | 200 | array |
# | empty string | | 0 | 10000 | 61 | 200 | array |
# | empty string | | 1 | 2 | 2 | 200 | array |
# | invalid start | a | b | c | 0 | 400 | string |
# | invalid limit | a | 0 | c | 0 | 400 | string |
# | search 0 | 0 | 0 | 0 | 0 | 200 | array |
# | search 0 | 0 | 0 | 100 | 0 | 200 | array |
# | negative numbers | a | -10 | -20 | 0 | 400 | string |
# | real numbers | a | 0.0 | 1.0 | 1 | 200 | string |
# | real numbers | a | 0.0 | 0.0 | 0 | 200 | string |
# | real numbers | a | 0.1 | 1.4599 | 0 | 400 | string |
# | real numbers | a | 1.5 | 1.4599 | 0 | 400 | string |
#
#
#Scenario Outline: List assigned Users to Role & List available Users to assign to Role, using different filters
# Given I request "roles/00000000000000000000000000000002/available-users?filter=<filter>&start=<start>&limit=<limit>"
# Then the response status code should be <http_code>
# And the response charset is "UTF-8"
# And the content type is "application/json"
# And the type is "<type>"
# And the response has <records> records
#
# Examples:
#
# | test_description | filter | start | limit | records | http_code | type |
# | lowercase | amy | 0 | 1 | 1 | 200 | array |
# | uppercase | AMY | 0 | 1 | 1 | 200 | array |
# | limit=3 | a | 0 | 3 | 3 | 200 | array |
# | limit and start | a | 1 | 2 | 2 | 200 | array |
# | high number for start | a | 1000 | 1 | 0 | 200 | array |
# | high number for start | a | 1000 | 0 | 0 | 200 | array |
# | empty result | xyz | 0 | 0 | 0 | 200 | array |
# | empty string | | 0 | 10000 | 61 | 200 | array |
# | empty string | | 1 | 2 | 2 | 200 | array |
# | invalid start | a | b | c | 0 | 400 | string |
# | invalid limit | a | 0 | c | 0 | 400 | string |
# | search 0 | 0 | 0 | 0 | 0 | 200 | array |
# | search 0 | 0 | 0 | 100 | 0 | 200 | array |
# | negative numbers | a | -10 | -20 | 0 | 400 | string |
# | real numbers | a | 0.0 | 1.0 | 1 | 200 | string |
# | real numbers | a | 0.0 | 0.0 | 0 | 200 | string |
# | real numbers | a | 0.1 | 1.4599 | 0 | 400 | string |
# | real numbers | a | 1.5 | 1.4599 | 0 | 400 | string |
#
#
#Scenario Outline: Assign User to Role
# Given POST this data:
# """
# {
# "usr_uid": "<usr_uid>"
# }
# """
# And I request "role/rol_uid/user" with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
# Then the response status code should be 201
# And the response charset is "UTF-8"
# And the content type is "application/json"
# And the type is "object"
#
# Examples:
#
# | Description | rol_uid_number | usr_uid |
# | Assign user "aaron" | 1 | 51049032352d56710347233042615067 |
# | Assign user "adam" | 2 | 44811996752d567110634a1013636964 |
# | Assign user "alexis" | 3 | 61364466452d56711adb378002702791 |
# | Assign user "amy" | 4 | 25286582752d56713231082039265791 |
# | Assign user "brianna" | 5 | 86021298852d56716b85f73067566944 |
# | Assign user "carter" | 6 | 32444503652d5671778fd20059078570 |
# | Assign user "emily" | 7 | 34289569752d5673d310e82094574281 |
# | Assign user "olivia" | 8 | 73005191052d56727901138030694610 |
#
#
#Scenario Outline: List assigned Users to Role & List available Users to assign to Role
# Given that I want to get a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
# And I request "role/<rol_uid_number>/users"
# Then the response status code should be 200
# And the response charset is "UTF-8"
# And the content type is "application/json"
# And the type is "array"
# And the response has <records> records
#
# Examples:
#
# | rol_uid_number | records |
# | 1 | 1 |
# | 2 | 1 |
# | 3 | 1 |
# | 4 | 1 |
# | 5 | 1 |
# | 6 | 1 |
# | 7 | 1 |
# | 8 | 1 |
#
#
#Scenario Outline: Unassign User of the Role
# Given that I want to delete a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
# And I request "role/rol_uid/users/<usr_uid>"
# And the content type is "application/json"
# Then the response status code should be 200
# And the response charset is "UTF-8"
#
# Examples:
#
# | Description | rol_uid_number | usr_uid |
# | Unassign user "aaron" | 1 | 51049032352d56710347233042615067 |
# | Unassign user "adam" | 2 | 44811996752d567110634a1013636964 |
# | Unassign user "alexis" | 3 | 61364466452d56711adb378002702791 |
# | Unassign user "amy" | 4 | 25286582752d56713231082039265791 |
# | Unassign user "brianna" | 5 | 86021298852d56716b85f73067566944 |
# | Unassign user "carter" | 6 | 32444503652d5671778fd20059078570 |
# | Unassign user "emily" | 7 | 34289569752d5673d310e82094574281 |
# | Unassign user "olivia" | 8 | 73005191052d56727901138030694610 |
#
#
#Scenario Outline: List assigned Users to Role & List available Users to assign to Role
# Given that I want to get a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
# And I request "role/<rol_uid_number>/users"
# Then the response status code should be 200
# And the response charset is "UTF-8"
# And the content type is "application/json"
# And the type is "array"
# And the response has <records> records
#
# Examples:
#
# | rol_uid_number | records |
# | 1 | 0 |
# | 2 | 0 |
# | 3 | 0 |
# | 4 | 0 |
# | 5 | 0 |
# | 6 | 0 |
# | 7 | 0 |
# | 8 | 0 |
#Culminacion de los endpoint de asignacion de usuarios
#Role and Permission
Scenario Outline: List assigned Permissions to Role & List available Permissions to assign to Role
Given that I want to get a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
And I request "role/rol_uid/permissions"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has <records> records
Examples:
| rol_uid_number | records |
| 1 | 0 |
| 2 | 0 |
| 3 | 0 |
| 4 | 0 |
| 5 | 0 |
| 6 | 0 |
| 7 | 0 |
| 8 | 0 |
Scenario Outline: List assigned Permissions to Role & List available Permissions to assign to Role, using different filters
Given I request "roles/00000000000000000000000000000004/users?filter=<filter>&start=<start>&limit=<limit>"
Then the response status code should be <http_code>
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "<type>"
And the response has <records> records
Examples:
| test_description | filter | start | limit | records | http_code | type |
| lowercase | cases | 0 | 1 | 1 | 200 | array |
| uppercase | CASES | 0 | 1 | 1 | 200 | array |
| limit=3 | a | 0 | 3 | 3 | 200 | array |
| limit and start | a | 1 | 2 | 2 | 200 | array |
| high number for start | a | 1000 | 1 | 0 | 200 | array |
| high number for start | a | 1000 | 0 | 0 | 200 | array |
| empty result | xyz | 0 | 0 | 0 | 200 | array |
| empty string | | 0 | 10000 | 13 | 200 | array |
| empty string | | 1 | 2 | 2 | 200 | array |
| invalid start | a | b | c | 0 | 400 | string |
| invalid limit | a | 0 | c | 0 | 400 | string |
| search 0 | 0 | 0 | 0 | 0 | 200 | array |
| search 0 | 0 | 0 | 100 | 0 | 200 | array |
| negative numbers | a | -10 | -20 | 0 | 400 | string |
| real numbers | a | 0.0 | 1.0 | 1 | 200 | string |
| real numbers | a | 0.0 | 0.0 | 0 | 200 | string |
| real numbers | a | 0.1 | 1.4599 | 0 | 400 | string |
| real numbers | a | 1.5 | 1.4599 | 0 | 400 | string |
Scenario Outline: List assigned Permissions to Role & List available Permissions to assign to Role, using different filters
Given I request "roles/00000000000000000000000000000003/available-users?filter=<filter>&start=<start>&limit=<limit>"
Then the response status code should be <http_code>
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "<type>"
And the response has <records> records
Examples:
| test_description | filter | start | limit | records | http_code | type |
| lowercase | add | 0 | 1 | 1 | 200 | array |
| uppercase | ADD | 0 | 1 | 1 | 200 | array |
| limit=3 | a | 0 | 3 | 3 | 200 | array |
| limit and start | a | 1 | 2 | 2 | 200 | array |
| high number for start | a | 1000 | 1 | 0 | 200 | array |
| high number for start | a | 1000 | 0 | 0 | 200 | array |
| empty result | xyz | 0 | 0 | 0 | 200 | array |
| empty string | | 0 | 10000 | 14 | 200 | array |
| empty string | | 1 | 2 | 2 | 200 | array |
| invalid start | a | b | c | 0 | 400 | string |
| invalid limit | a | 0 | c | 0 | 400 | string |
| search 0 | 0 | 0 | 0 | 0 | 200 | array |
| search 0 | 0 | 0 | 100 | 0 | 200 | array |
| negative numbers | a | -10 | -20 | 0 | 400 | string |
| real numbers | a | 0.0 | 1.0 | 1 | 200 | string |
| real numbers | a | 0.0 | 0.0 | 0 | 200 | string |
| real numbers | a | 0.1 | 1.4599 | 0 | 400 | string |
| real numbers | a | 1.5 | 1.4599 | 0 | 400 | string |
Scenario Outline: List assigned Permissions to Role & List available Permissions to assign to Role
Given that I want to get a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
And I request "role/rol_uid/available-permissions"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has <records> records
Examples:
| rol_uid_number | records |
| 1 | 17 |
| 2 | 17 |
| 3 | 17 |
| 4 | 17 |
| 5 | 17 |
| 6 | 17 |
| 7 | 17 |
| 8 | 17 |
Scenario Outline: Assign Permission "PM_DASHBOARD" to Role
Given POST this data:
"""
{
"per_uid": "<per_uid>"
}
"""
And I request "role/rol_uid/permission" with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
Then the response status code should be 201
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "object"
Examples:
| Description | rol_uid_number | per_uid |
| Assign Permissions "PM_LOGIN" to rol 1 | 1 | 00000000000000000000000000000001 |
| Assign Permissions "PM_SETUP" to rol 1 | 1 | 00000000000000000000000000000002 |
| Assign Permissions "PM_USERS" to rol 1 | 1 | 00000000000000000000000000000003 |
| Assign Permissions "PM_FACTORY" to rol 1 | 1 | 00000000000000000000000000000004 |
| Assign Permissions "PM_CASES" to rol 1 | 1 | 00000000000000000000000000000005 |
| Assign Permissions "PM_LOGIN" to rol 2 | 2 | 00000000000000000000000000000001 |
| Assign Permissions "PM_ALLCASES" to rol 2 | 2 | 00000000000000000000000000000006 |
| Assign Permissions "PM_REPORTS" to rol 2 | 2 | 00000000000000000000000000000008 |
| Assign Permissions "PM_REASSIGNCASE" to rol 2 | 2 | 00000000000000000000000000000007 |
| Assign Permissions "PM_SUPERVISOR" to rol 2 | 2 | 00000000000000000000000000000009 |
| Assign Permissions "PM_SETUP_ADVANCE" to rol 3 | 3 | 00000000000000000000000000000010 |
| Assign Permissions "PM_DASHBOARD" to rol 4 | 4 | 00000000000000000000000000000011 |
| Assign Permissions "PM_WEBDAV" to rol 5 | 5 | 00000000000000000000000000000012 |
| Assign Permissions "PM_DELETECASE" to rol 6 | 6 | 00000000000000000000000000000013 |
| Assign Permissions "PM_EDITPERSONALINFO" to rol 7 | 7 | 00000000000000000000000000000014 |
| Assign Permissions "PM_FOLDERS_VIEW" to rol 8 | 8 | 00000000000000000000000000000015 |
| Assign Permissions "PM_FOLDERS_ADD_FOLDER" to rol 8 | 8 | 00000000000000000000000000000016 |
| Assign Permissions "PM_FOLDERS_ADD_FILE" to rol 8 | 8 | 00000000000000000000000000000017 |
| Assign Permissions "PM_CANCELCASE" to rol 8 | 8 | 00000000000000000000000000000018 |
| Assign Permissions "PM_FOLDER_DEL" to rol 8 | 8 | 00000000000000000000000000000019 |
Scenario Outline: List assigned Permissions to Role & List available Permissions to assign to Role
Given that I want to get a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
And I request "role/rol_uid/permissions"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has <records> records
Examples:
| rol_uid_number | records |
| 1 | 5 |
| 2 | 5 |
| 3 | 1 |
| 4 | 1 |
| 5 | 1 |
| 6 | 1 |
| 7 | 1 |
| 8 | 5 |
Scenario Outline: List assigned Permissions to Role & List available Permissions to assign to Role
Given that I want to get a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
And I request "role/rol_uid/available-permissions"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has <records> records
Examples:
| rol_uid_number | records |
| 1 | 12 |
| 2 | 12 |
| 3 | 16 |
| 4 | 16 |
| 5 | 16 |
| 6 | 16 |
| 7 | 16 |
| 8 | 12 |
Scenario Outline: Unassign Permission of the Role
Given that I want to delete a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
And I request "role/rol_uid/permission/per_uid"
And the content type is "application/json"
Then the response status code should be 200
And the response charset is "UTF-8"
Examples:
| Description | rol_uid_number | per_uid |
| Unassign Permissions "PM_LOGIN" to rol 1 | 1 | 00000000000000000000000000000001 |
| Unassign Permissions "PM_SETUP" to rol 1 | 1 | 00000000000000000000000000000002 |
| Unassign Permissions "PM_USERS" to rol 1 | 1 | 00000000000000000000000000000003 |
| Unassign Permissions "PM_FACTORY" to rol 1 | 1 | 00000000000000000000000000000004 |
| Unassign Permissions "PM_CASES" to rol 1 | 1 | 00000000000000000000000000000005 |
| Unassign Permissions "PM_LOGIN" to rol 2 | 2 | 00000000000000000000000000000001 |
| Unassign Permissions "PM_ALLCASES" to rol 2 | 2 | 00000000000000000000000000000006 |
| Unassign Permissions "PM_REPORTS" to rol 2 | 2 | 00000000000000000000000000000008 |
| Unassign Permissions "PM_REASSIGNCASE" to rol 2 | 2 | 00000000000000000000000000000007 |
| Unassign Permissions "PM_SUPERVISOR" to rol 2 | 2 | 00000000000000000000000000000009 |
| Unassign Permissions "PM_SETUP_ADVANCE" to rol 3 | 3 | 00000000000000000000000000000010 |
| Unassign Permissions "PM_DASHBOARD" to rol 4 | 4 | 00000000000000000000000000000011 |
| Unassign Permissions "PM_WEBDAV" to rol 5 | 5 | 00000000000000000000000000000012 |
| Unassign Permissions "PM_DELETECASE" to rol 6 | 6 | 00000000000000000000000000000013 |
| Unassign Permissions "PM_EDITPERSONALINFO" to rol 7 | 7 | 00000000000000000000000000000014 |
| Unassign Permissions "PM_FOLDERS_VIEW" to rol 8 | 8 | 00000000000000000000000000000015 |
| Unassign Permissions "PM_FOLDERS_ADD_FOLDER" to rol 8 | 8 | 00000000000000000000000000000016 |
| Unassign Permissions "PM_FOLDERS_ADD_FILE" to rol 8 | 8 | 00000000000000000000000000000017 |
| Unassign Permissions "PM_CANCELCASE" to rol 8 | 8 | 00000000000000000000000000000018 |
| Unassign Permissions "PM_FOLDER_DEL" to rol 8 | 8 | 00000000000000000000000000000019 |
Scenario Outline: List assigned Permissions to Role & List available Permissions to assign to Role
Given that I want to get a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
And I request "role/rol_uid/permissions"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has <records> records
Examples:
| rol_uid_number | records |
| 1 | 0 |
| 2 | 0 |
| 3 | 0 |
| 4 | 0 |
| 5 | 0 |
| 6 | 0 |
| 7 | 0 |
| 8 | 0 |
Scenario Outline: List assigned Permissions to Role & List available Permissions to assign to Role
Given that I want to get a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
And I request "role/rol_uid/available-permissions"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has <records> records
Examples:
| rol_uid_number | records |
| 1 | 17 |
| 2 | 17 |
| 3 | 17 |
| 4 | 17 |
| 5 | 17 |
| 6 | 17 |
| 7 | 17 |
| 8 | 17 |
#Culminacion de behat para Role and Permission
Scenario Outline: Update Role
Given PUT this data:
"""
{
"rol_code": "<rol_code>",
"rol_name": "<rol_name>",
"rol_status": "<rol_status>"
}
"""
And that I want to update a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
And I request "role"
And the content type is "application/json"
Then the response status code should be 200
And the response charset is "UTF-8"
Examples:
| test_description | rol_uid_number | rol_code | rol_name | rol_status |
| Update name of role created in this script | 1 | PROCESSMAKER_OPERATOR | update_sample | INACTIVE |
| Update name of role created in this script | 5 | PROCESSMAKER_ADMINISTRATOR | update2 | ACTIVE |
| Update name of role created in this script | 8 | PROCESSMAKER_ADMINISTRATOR | update*'123 | INACTIVE |
Scenario Outline: Get a single Role created in this script
Given that I want to get a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
Given I request "role"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "object"
And that "rol_code" is set to "<rol_code>"
And that "rol_name" is set to "<rol_name>"
And that "rol_status" is set to "<rol_status>"
Examples:
| test_description | rol_uid_number | rol_code | rol_name | rol_status |
| Update name of role created in this script | 1 | PROCESSMAKER_OPERATOR | update_sample | INACTIVE |
| Update name of role created in this script | 5 | PROCESSMAKER_ADMINISTRATOR | update2 | ACTIVE |
| Update name of role created in this script | 8 | PROCESSMAKER_ADMINISTRATOR | update*'123 | INACTIVE |
Scenario: Get list of Roles
Given I request "roles"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 11 records
Scenario Outline: Delete all roles created in this scritp
Given that I want to delete a resource with the key "rol_uid" stored in session array as variable "rol_uid_<rol_uid_number>"
And I request "role"
And the content type is "application/json"
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "object"
Examples:
| rol_uid_number |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
Scenario: Get list of Roles
Given I request "roles"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 3 records

View File

@@ -0,0 +1,66 @@
@ProcessMakerMichelangelo @RestAPI
Feature: Roles Negative Tests
Background:
Given that I have a valid access_token
Scenario Outline: Create new Role (NEGATIVE TESTS)
Given POST this data:
"""
{
"rol_code": "<rol_code>",
"rol_name": "<rol_name>",
"rol_status": "<rol_status>"
}
"""
And I request "role"
Then the response status code should be <error_code>
And the response status message should have the following text "<error_message>"
Examples:
| test_description | rol_code | rol_name | rol_status | error_code | error_message |
| Create Role with same name | PROCESSMAKER_OPERATOR | Operator | ACTIVE | 400 | already_exists |
| Create Role without fill required fields "rol_code" | | sample | | 400 | required_fields |
| Create Role without fill required fields "rol_name" | PROCESSMAKER_ADMINISTRATOR1 | | ACTIVE | 400 | required_fields |
| Create Role without fill required fields "rol_status" | PROCESSMAKER_MANAGER1 | Rol con code manager | | 400 | required_fields |
| Create Role with wrong field rol_status | PROCESSMAKER_ADMINISTRATOR2 | Rol con code administrator/inactive | SAMPLE | 400 | rol_status |
#Scenario Outline: Assign User to Role (NEGATIVE TESTS)
# Given POST this data:
# """
# {
# "usr_uid": "<usr_uid>"
# }
# """
# And I request "role/rol_uid/user"
# Then the response status code should be <error_code>
# And the response status message should have the following text "<error_message>"
#
# Examples:
#
# | Description | rol_uid | usr_uid | error_code | error_message |
# | Without rol_uid | 00000000000000000000000000000004 | 51049032352d56710347233042615067 | 400 | rol_uid |
# | Without usr_uid | 00000000000000000000000000000004 | | 400 | usr_uid |
# | Assign same user to rol | 00000000000000000000000000000002 | 00000000000000000000000000000001 | 400 | usr_uid |
Scenario Outline: Assign Permission "PM_DASHBOARD" to Role (NEGATIVE TESTS)
Given POST this data:
"""
{
"per_uid": "<per_uid>"
}
"""
And I request "role/rol_uid/permission"
Then the response status code should be <error_code>
And the response status message should have the following text "<error_message>"
Examples:
| Description | rol_uid | per_uid | error_code | error_message |
| Assign same permissions in rol "PROCESSMAKER_MANAGER" | 00000000000000000000000000000004 | 00000000000000000000000000000001 | 400 | per_uid |
| Create rol without rol_uid | | 00000000000000000000000000000002 | 400 | rol_uid |
| Create rol without per_uid | 00000000000000000000000000000004 | | 400 | per_uid |

View File

@@ -151,7 +151,7 @@ Scenario: Delete a Project created previously in this script
#Import Process #Import Process
Scenario Outline: Import a process Scenario Outline: Import a process
Given POST upload a project file "<project_file>" to "project/import?option=<import_option>" Given POST upload a project file "<project_file>" to "project/import?option=<import_option>&option_group=merge"
Then the response status code should be 201 Then the response status code should be 201
And the response charset is "UTF-8" And the response charset is "UTF-8"
And the content type is "application/json" And the content type is "application/json"

View File

@@ -13,4 +13,17 @@ Scenario Outline: Import a process negative tests
Examples: Examples:
| Description | project_file | import_option | error_code | error_message | | Description | project_file | import_option | error_code | error_message |
| Import process when the process alredy exists | /home/wendy/uploadfiles/Process_Complete_BPMN.pmx | create | 400 | already exists | | Import process when the process alredy exists | /home/wendy/uploadfiles/Process_Complete_BPMN.pmx | create | 400 | already exists |
#| Invalid path | /processmaker/sample/Project_invalido.pmx | create | 400 | invalid | #| Invalid path | /processmaker/sample/Project_invalido.pmx | create | 400 | invalid |
| Field Required project_file | | create | 400 | project_file |
Scenario Outline: Import a process with wrong "option"
Given POST upload a project file "<project_file>" to "project/import?option=<option>&option_group=<option_group>"
Then the response status code should be 400
And the response status message should have the following text "<error_message>"
Examples:
| Description | project_file | option | option_group | error_message |
| Invalid option | /home/wendy/uploadfiles/Process_NewCreate_BPMN.pmx | sample | merge | option |
| Invalid option_group | /home/wendy/uploadfiles/Process_Complete_BPMN.pmx | create | sample | option_group |