From 58f205b29af7007766dc86075f42b4f88c6b3180 Mon Sep 17 00:00:00 2001 From: Wendy Nestor Date: Thu, 24 Apr 2014 08:55:28 -0400 Subject: [PATCH 1/5] Se modifico con los nuevos cambios aplicados al behat basic de web entry --- .../basic_sequence_web_entry.feature | 195 ++++++++++-------- 1 file changed, 106 insertions(+), 89 deletions(-) diff --git a/features/backend/projects/web_entry/basic_sequence_web_entry.feature b/features/backend/projects/web_entry/basic_sequence_web_entry.feature index 3831fc024..5181edeb6 100644 --- a/features/backend/projects/web_entry/basic_sequence_web_entry.feature +++ b/features/backend/projects/web_entry/basic_sequence_web_entry.feature @@ -6,8 +6,7 @@ Feature: Web Entry Background: Given that I have a valid access_token - #GET /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/assignee?filter=john&start=0&limit=50 - # List assignees of an activity +#GET /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/assignee?filter=john&start=0&limit=50 Scenario Outline: List assignees of an activity Given I request "project/28733629952e66a362c4f63066393844/activity//assignee" And the content type is "application/json" @@ -22,8 +21,8 @@ Feature: Web Entry | 56118778152e66babcc2103002009439 | Task 2 | | 18096002352e66bc1643af8048493068 | Task 3 | - #POST /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/assignee - # Assign a user or group to an activity + +#POST /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/assignee Scenario Outline: Assign a user or group to an activity Given POST this data: """ @@ -44,31 +43,31 @@ Feature: Web Entry | 56118778152e66babcc2103002009439 | Task 2 | 00000000000000000000000000000001 | | 18096002352e66bc1643af8048493068 | Task 3 | 00000000000000000000000000000001 | - #WEB ENTRY - #GET /api/1.0/{workspace}/project/{prj_uid}/web-entries - # Get list Web Entries of a Project +#WEB ENTRY +#GET /api/1.0/{workspace}/project/{prj_uid}/web-entries Scenario: Get list Web Entries of a Project And I request "project/28733629952e66a362c4f63066393844/web-entries" 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 "array" - And the json data is an empty array + And the response has 0 records + - #POST /api/1.0/{workspace}/project/{prj_uid}/web-entry - # Create a new Web Entry for a project - # Create a new Web Entry using the method: PHP pages with Web Services +#POST /api/1.0/{workspace}/project/{prj_uid}/web-entry Scenario Outline: Create a new Web Entry using the method: PHP pages with Web Services Given POST this data: """ { "tas_uid": "", "dyn_uid": "", - "method": "WS", - "input_document_access": 1, - "usr_username": "admin", - "usr_password": "admin" + "usr_uid": "00000000000000000000000000000001", + "we_title": "", + "we_description": "", + "we_method": "WS", + "we_input_document_access": 1 + } """ And I request "project/28733629952e66a362c4f63066393844/web-entry" @@ -76,25 +75,31 @@ Feature: Web Entry Then the response status code should be 201 And the response charset is "UTF-8" And the type is "object" - And the response has a "url" property - And the "url" property type is "string" - + And the response has a "we_data" property + And the "we_data" property type is "string" + And store "we_data" in session array as variable "we_data_" + And store "we_uid" in session array as variable "we_uid_" + And I request "we_data" with the key "we_data" stored in session array as variable "we_data_" and url is "absolute" + And the content type is "text/html" + Then the response status code should be 200 + Examples: - | tas_uid | tas_title | dyn_uid | dyn_title | - | 44199549652e66ba533bb06088252754 | Task 1 | 60308801852e66b7181ae21045247174 |DynaForm Demo1 | - | 56118778152e66babcc2103002009439 | Task 2 | 99869771852e66b7dc4b858088901665 |DynaForm Demo2 | + | we_number | tas_uid | we_title | dyn_uid | we_description | + | 1 | 44199549652e66ba533bb06088252754 | Webservice PHP Title 1 | 60308801852e66b7181ae21045247174 | Webservice PHP Description | + | 2 | 56118778152e66babcc2103002009439 | Webservice PHP Title 2 | 99869771852e66b7dc4b858088901665 | Webservice PHP Description | - #POST /api/1.0/{workspace}/project/{prj_uid}/web-entry - # Create a new Web Entry for a project - # Create a new Web Entry using the method: Single HTML + +#POST /api/1.0/{workspace}/project/{prj_uid}/web-entry Scenario Outline: Create a new Web Entry using the method: Single HTML Given POST this data: """ { "tas_uid": "", "dyn_uid": "", - "method": "HTML", - "input_document_access": 1 + "we_title": "", + "we_description": "", + "we_method": "HTML", + "we_input_document_access": 1 } """ And I request "project/28733629952e66a362c4f63066393844/web-entry" @@ -102,106 +107,119 @@ Feature: Web Entry Then the response status code should be 201 And the response charset is "UTF-8" And the type is "object" - And the response has a "html" property - And the "html" property type is "string" + And the response has a "we_data" property + And the "we_data" property type is "string" + And store "we_data" in session array as variable "we_data_" + And store "we_uid" in session array as variable "we_uid_" Examples: - | tas_uid | tas_title | dyn_uid | dyn_title | - | 18096002352e66bc1643af8048493068 | Task 3 | 37977455352e66b892babe6071295002 |DynaForm Demo3 | + | we_number | tas_uid | we_title | dyn_uid | we_description | + | 3 | 18096002352e66bc1643af8048493068 | Webservice HTML Title 2 | 37977455352e66b892babe6071295002 | Webservice description | - #GET /api/1.0/{workspace}/project/{prj_uid}/web-entries - # Get list Web Entries of a Project - Scenario Outline: Get list Web Entries of a Project + +#GET /api/1.0/{workspace}/project/{prj_uid}/web-entries + Scenario: Get list Web Entries of a Project And I request "project/28733629952e66a362c4f63066393844/web-entries" 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 "array" - And the "tas_uid" property in row equals "" - And the "tas_title" property in row equals "" - And the "dyn_uid" property in row equals "" - And the "dyn_title" property in row equals "" - - Examples: - | i | tas_uid | tas_title | dyn_uid | dyn_title | - | 0 | 44199549652e66ba533bb06088252754 | Task 1 | 60308801852e66b7181ae21045247174 |DynaForm Demo1 | - | 1 | 56118778152e66babcc2103002009439 | Task 2 | 99869771852e66b7dc4b858088901665 |DynaForm Demo2 | - - #GET GET /api/1.0/{workspace}/project/{prj_uid}/web-entry/{tas_uid}/{dyn_uid} - # Get a single Web Entry of a Project - Scenario Outline: Get a single Web Entry of a Project - Given that I want to get a resource with the key "obj_uid" stored in session array - And I request "project/28733629952e66a362c4f63066393844/web-entry//" + And the response has 3 records + + +#GET GET /api/1.0/{workspace}/project/{prj_uid}/web-entry/{tas_uid}/{dyn_uid} + Scenario Outline: Get a single Web Entry PHP of a Project + Given that I want to get a resource with the key "we_uid" stored in session array as variable "we_uid_" + And I request "project/28733629952e66a362c4f63066393844/web-entry" 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" - And that "tas_uid" is set to "" - And that "tas_title" is set to "" - And that "dyn_uid" is set to "" - And that "dyn_title" is set to "" - + And that "we_title" is set to "" + And that "we_description" is set to "" + Examples: - | tas_uid | tas_title | dyn_uid | dyn_title | - | 44199549652e66ba533bb06088252754 | Task 1 | 60308801852e66b7181ae21045247174 |DynaForm Demo1 | - | 56118778152e66babcc2103002009439 | Task 2 | 99869771852e66b7dc4b858088901665 |DynaForm Demo2 | + | we_number | tas_uid | dyn_uid | we_title | we_description | + | 1 | 44199549652e66ba533bb06088252754 | 60308801852e66b7181ae21045247174 | Webservice PHP Title 1 | Webservice PHP Description | + | 2 | 56118778152e66babcc2103002009439 | 99869771852e66b7dc4b858088901665 | Webservice PHP Title 2 | Webservice PHP Description | + | 3 | 18096002352e66bc1643af8048493068 | 37977455352e66b892babe6071295002 | Webservice HTML Title 2 | Webservice description | - #POST /api/1.0/{workspace}/project/{prj_uid}/web-entry - # Create a new Web Entry for a project - # Create a new Web Entry using the method: PHP pages with Web Services - Scenario Outline: Create a new Web Entry using the method: PHP pages with Web Services - Given POST this data: + +#PUT /api/1.0/{workspace}/project/{prj_uid}/web-entry/{we_uid} + Scenario Outline: Update Web Entry + Given PUT this data: """ { "tas_uid": "", "dyn_uid": "", - "method": "WS", - "input_document_access": 1, - "usr_username": "admin", - "usr_password": "admin" + "usr_uid": "", + "we_title": "", + "we_description": "", + "we_method": "", + "we_input_document_access": 1 } """ + And that I want to update a resource with the key "we_uid" stored in session array as variable "we_uid_" And I request "project/28733629952e66a362c4f63066393844/web-entry" And the content type is "application/json" - Then the response status code should be + Then the response status code should be 200 And the response charset is "UTF-8" - And the type is "object" - And the response status message should have the following text "" Examples: - | tas_uid | tas_title | dyn_uid | dyn_title | status_code | status_message | - | 44199549652e66ba533bb06088252754 | Task 1 | 60308801852e66b7181ae21045247174 |DynaForm Demo1 | 400 | exist | - | 56118778152e66babcc2103002009439 | Task 2 | 99869771852e66b7dc4b858088901665 |DynaForm Demo2 | 400 | exist | - #DELETE /api/1.0/{workspace}/project/{prj_uid}/web-entry/{tas_uid}/{dyn_uid} - # Delete a Web Entry of a Project + | we_number | tas_uid | we_title | dyn_uid | we_description | usr_uid | we_method | + | 1 | 44199549652e66ba533bb06088252754 | Update Webservice PHP Title 1 | 60308801852e66b7181ae21045247174 | Update Webservice PHP Description | 00000000000000000000000000000001 | WS | + | 2 | 56118778152e66babcc2103002009439 | Update Webservice PHP Title 2 | 99869771852e66b7dc4b858088901665 | Update Webservice PHP Description | 00000000000000000000000000000001 | WS | + + +#GET GET /api/1.0/{workspace}/project/{prj_uid}/web-entry/{tas_uid}/{dyn_uid} + Scenario Outline: Get a single Web Entry HTML of a Project + Given that I want to get a resource with the key "we_uid" stored in session array as variable "we_uid_" + And I request "project/28733629952e66a362c4f63066393844/web-entry" + 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" + And that "we_title" is set to "" + And that "we_description" is set to "" + + Examples: + | we_number | tas_uid | dyn_uid | we_title | we_description | + | 1 | 44199549652e66ba533bb06088252754 | 60308801852e66b7181ae21045247174 | Update Webservice PHP Title 1 | Update Webservice PHP Description | + | 2 | 56118778152e66babcc2103002009439 | 99869771852e66b7dc4b858088901665 | Update Webservice PHP Title 2 | Update Webservice PHP Description | + | 3 | 18096002352e66bc1643af8048493068 | 37977455352e66b892babe6071295002 | Update Webservice HTML Title 2 | Update Webservice description | + + +#DELETE /api/1.0/{workspace}/project/{prj_uid}/web-entry/{tas_uid}/{dyn_uid} Scenario Outline: Delete a Web Entry of a Project - Given that I want to delete a resource with the key "obj_uid" stored in session array - And I request "project/28733629952e66a362c4f63066393844/web-entry//" + Given that I want to delete a resource with the key "we_uid" stored in session array as variable "we_uid_" + And I request "project/28733629952e66a362c4f63066393844/web-entry" 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: - | tas_uid | tas_title | dyn_uid | dyn_title | - | 44199549652e66ba533bb06088252754 | Task 1 | 60308801852e66b7181ae21045247174 |DynaForm Demo1 | - | 56118778152e66babcc2103002009439 | Task 2 | 99869771852e66b7dc4b858088901665 |DynaForm Demo2 | + | we_number | + | 1 | + | 2 | + | 3 | - #GET /api/1.0/{workspace}/project/{prj_uid}/web-entries - # Get list Web Entries of a Project - Scenario: Get list Web Entries of a Project + +#GET /api/1.0/{workspace}/project/{prj_uid}/web-entries + Scenario: Get list Web Entries of a Project And I request "project/28733629952e66a362c4f63066393844/web-entries" 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 "array" - And the json data is an empty array + And the response has 0 records - #WEB ENTRY - END - #DELETE /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/assignee/{aas_uid} - # Remove an assignee of an activity +#WEB ENTRY - END + + +#DELETE /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/assignee/{aas_uid} Scenario Outline: Remove an assignee of an activity Given that I want to delete a resource with the key "obj_uid" stored in session array And I request "project/28733629952e66a362c4f63066393844/activity//assignee/" @@ -216,8 +234,8 @@ Feature: Web Entry | 56118778152e66babcc2103002009439 | Task 2 | 00000000000000000000000000000001 | | 18096002352e66bc1643af8048493068 | Task 3 | 00000000000000000000000000000001 | - #GET /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/assignee?filter=john&start=0&limit=50 - # List assignees of an activity + +#GET /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/assignee?filter=john&start=0&limit=50 Scenario Outline: List assignees of an activity Given I request "project/28733629952e66a362c4f63066393844/activity//assignee" And the content type is "application/json" @@ -230,5 +248,4 @@ Feature: Web Entry | tas_uid | tas_title | | 44199549652e66ba533bb06088252754 | Task 1 | | 56118778152e66babcc2103002009439 | Task 2 | - | 18096002352e66bc1643af8048493068 | Task 3 | - + | 18096002352e66bc1643af8048493068 | Task 3 | \ No newline at end of file From ca1bc0adb58d2c1e897d00057bf7a5d3a44ae113 Mon Sep 17 00:00:00 2001 From: Wendy Nestor Date: Thu, 24 Apr 2014 15:45:35 -0400 Subject: [PATCH 2/5] Culminacion de arreglos en los behat de web entry --- .../web_entry/main_tests_web_entry.feature | 462 +++++++++++++----- .../negative_tests_web_entry.feature | 112 +++-- 2 files changed, 398 insertions(+), 176 deletions(-) diff --git a/features/backend/projects/web_entry/main_tests_web_entry.feature b/features/backend/projects/web_entry/main_tests_web_entry.feature index ec87135e2..355fc36c4 100644 --- a/features/backend/projects/web_entry/main_tests_web_entry.feature +++ b/features/backend/projects/web_entry/main_tests_web_entry.feature @@ -1,157 +1,357 @@ @ProcessMakerMichelangelo @RestAPI Feature: Web Entry Main Tests - Requirements: - a workspace with the process 28733629952e66a362c4f63066393844 ("Sample Project #5 (Web Entry)") already loaded - there are zero web entry in the process - Default user "admin" with password "admin" +Requirements: +a workspace with the process 28733629952e66a362c4f63066393844 ("Sample Project #5 (Web Entry)") already loaded +there are zero web entry in the process + +Background: + Given that I have a valid access_token - Background: - Given that I have a valid access_token - - #ASSIGNEE USER OF AN ACTIVITY +#ASSIGNEE USER OF AN ACTIVITY - Scenario Outline: List assignees of an activity - Given I request "project/28733629952e66a362c4f63066393844/activity//assignee" - 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 "array" - And the json data is an empty array +Scenario Outline: List assignees of an activity + Given I request "project/28733629952e66a362c4f63066393844/activity//assignee" + 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 "array" + And the json data is an empty array - Examples: - | tas_uid | tas_title | - | 44199549652e66ba533bb06088252754 | Task 1 | - | 56118778152e66babcc2103002009439 | Task 2 | - | 18096002352e66bc1643af8048493068 | Task 3 | + Examples: + + | tas_uid | tas_title | + | 44199549652e66ba533bb06088252754 | Task 1 | + | 56118778152e66babcc2103002009439 | Task 2 | + | 18096002352e66bc1643af8048493068 | Task 3 | - Scenario Outline: Assign a user or group to an activity - Given POST this data: - """ - { - "aas_uid": "", - "aas_type": "user" - } - """ - And I request "project/28733629952e66a362c4f63066393844/activity//assignee" - And the content type is "application/json" - Then the response status code should be 201 - And the response charset is "UTF-8" - And the type is "object" +Scenario Outline: Assign a user or group to an activity + Given POST this data: + """ + { + "aas_uid": "", + "aas_type": "user" + } + """ + And I request "project/28733629952e66a362c4f63066393844/activity//assignee" + And the content type is "application/json" + Then the response status code should be 201 + And the response charset is "UTF-8" + And the type is "object" - Examples: - | tas_uid | tas_title | aas_uid | - | 44199549652e66ba533bb06088252754 | Task 1 | 00000000000000000000000000000001 | - | 56118778152e66babcc2103002009439 | Task 2 | 00000000000000000000000000000001 | - | 18096002352e66bc1643af8048493068 | Task 3 | 00000000000000000000000000000001 | + Examples: - #WEB ENTRY + | tas_uid | tas_title | aas_uid | + | 44199549652e66ba533bb06088252754 | Task 1 | 00000000000000000000000000000001 | + | 56118778152e66babcc2103002009439 | Task 2 | 00000000000000000000000000000001 | + | 18096002352e66bc1643af8048493068 | Task 3 | 00000000000000000000000000000001 | - Scenario: Get list Web Entries of a Project when there are exactly zero web entries - And I request "project/28733629952e66a362c4f63066393844/web-entries" - 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 "array" - And the json data is an empty array +#WEB ENTRY + +Scenario: Get list Web Entries of a Project when there are exactly zero web entries + And I request "project/28733629952e66a362c4f63066393844/web-entries" + 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 "array" + And the response has 0 records - Scenario Outline: Create a new Web Entry using the method: PHP pages with Web Services - Given POST this data: - """ - { - "tas_uid": "", - "dyn_uid": "", - "method": "WS", - "input_document_access": 1, - "usr_username": "admin", - "usr_password": "admin" - } - """ - And I request "project/28733629952e66a362c4f63066393844/web-entry" - And the content type is "application/json" - Then the response status code should be 201 - And the response charset is "UTF-8" - And the type is "object" - And the response has a "url" property - And the "url" property type is "string" - And store "url" in session array as variable "url_" - - Examples: - | tas_uid | tas_title | dyn_uid | dyn_title | url_number | - | 44199549652e66ba533bb06088252754 | Task 1 | 60308801852e66b7181ae21045247174 | DynaForm Demo1 | 1 | - | 56118778152e66babcc2103002009439 | Task 2 | 99869771852e66b7dc4b858088901665 | DynaForm Demo2 | 2 | - - - Scenario Outline: Test webentry URL - Given I request "url" with the key "url" stored in session array as variable "url_" and url is "absolute" +Scenario Outline: Create a new Web Entry using the method: PHP pages with Web Services + Given POST this data: + """ + { + "tas_uid": "", + "dyn_uid": "", + "usr_uid": "00000000000000000000000000000001", + "we_title": "", + "we_description": "", + "we_method": "WS", + "we_input_document_access": + } + """ + And I request "project/28733629952e66a362c4f63066393844/web-entry" + And the content type is "application/json" + Then the response status code should be 201 + And the response charset is "UTF-8" + And the type is "object" + And the response has a "we_data" property + And the "we_data" property type is "string" + And store "we_data" in session array as variable "we_data_" + And store "we_uid" in session array as variable "we_uid_" + And I request "we_data" with the key "we_data" stored in session array as variable "we_data_" and url is "absolute" And the content type is "text/html" Then the response status code should be 200 Examples: - | url_number | - | 1 | - | 2 | - - Scenario Outline: Create a new Web Entry using the method: Single HTML - Given POST this data: - """ - { - "tas_uid": "", - "dyn_uid": "", - "method": "HTML", - "input_document_access": 1 - } - """ - And I request "project/28733629952e66a362c4f63066393844/web-entry" - And the content type is "application/json" - Then the response status code should be 201 - And the response charset is "UTF-8" - And the type is "object" - And the response has a "html" property - And the "html" property type is "string" - - Examples: - | tas_uid | tas_title | dyn_uid | dyn_title | - | 18096002352e66bc1643af8048493068 | Task 3 | 37977455352e66b892babe6071295002 | DynaForm Demo3 | + | Description | we_number | tas_uid | we_title | dyn_uid | we_description | we_input_document_access | + | Web entry PHP task 1, with values normal | 1 | 44199549652e66ba533bb06088252754 | Web Entry PHP 1 | 60308801852e66b7181ae21045247174 | Webservice PHP Description 1 | 1 | + | Web entry PHP task 2, with character special | 2 | 56118778152e66babcc2103002009439 | Web Entry PHP 2 @#$%&* | 99869771852e66b7dc4b858088901665 | Webservice PHP Description 2 | 1 | + | Web entry PHP task 3, with we_input_document_access in 0 | 3 | 18096002352e66bc1643af8048493068 | Web Entry PHP 3 | 37977455352e66b892babe6071295002 | Webservice PHP Description 3 | 0 | - Scenario Outline: Get list Web Entries of a Project - And I request "project/28733629952e66a362c4f63066393844/web-entries" - 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 "array" - And the "tas_uid" property in row equals "" - And the "tas_title" property in row equals "" - And the "dyn_uid" property in row equals "" - And the "dyn_title" property in row equals "" +Scenario: Get list Web Entries of a Project after created in this scritp web entries PHP + And I request "project/28733629952e66a362c4f63066393844/web-entries" + 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 "array" + And the response has 3 records - Examples: - | i | tas_uid | tas_title | dyn_uid | dyn_title | - | 0 | 44199549652e66ba533bb06088252754 | Task 1 | 60308801852e66b7181ae21045247174 |DynaForm Demo1 | - | 1 | 56118778152e66babcc2103002009439 | Task 2 | 99869771852e66b7dc4b858088901665 |DynaForm Demo2 | - - Scenario Outline: Get a single Web Entry of a Project - Given that I want to get a resource with the key "obj_uid" stored in session array - And I request "project/28733629952e66a362c4f63066393844/web-entry//" - 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" - And that "tas_uid" is set to "" - And that "tas_title" is set to "" - And that "dyn_uid" is set to "" - And that "dyn_title" is set to "" +Scenario Outline: Get a single Web Entry PHP of a Project + Given that I want to get a resource with the key "we_uid" stored in session array as variable "we_uid_" + And I request "project/28733629952e66a362c4f63066393844/web-entry" + 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" + And that "we_title" is set to "" + And that "we_description" is set to "" + And that "we_input_document_access" is set to "" + + Examples: - Examples: - | tas_uid | tas_title | dyn_uid | dyn_title | - | 44199549652e66ba533bb06088252754 | Task 1 | 60308801852e66b7181ae21045247174 |DynaForm Demo1 | - | 56118778152e66babcc2103002009439 | Task 2 | 99869771852e66b7dc4b858088901665 |DynaForm Demo2 | + | we_number | tas_uid | we_title | dyn_uid | we_description | we_input_document_access | + | 1 | 44199549652e66ba533bb06088252754 | Web Entry PHP 1 | 60308801852e66b7181ae21045247174 | Webservice PHP Description 1 | 1 | + | 2 | 56118778152e66babcc2103002009439 | Web Entry PHP 2 @#$%&* | 99869771852e66b7dc4b858088901665 | Webservice PHP Description 2 | 1 | + | 3 | 18096002352e66bc1643af8048493068 | Web Entry PHP 3 | 37977455352e66b892babe6071295002 | Webservice PHP Description 3 | 0 | + +Scenario Outline: Update Web Entry PHP + Given PUT this data: + """ + { + "tas_uid": "", + "dyn_uid": "", + "usr_uid": "", + "we_title": "", + "we_description": "", + "we_method": "", + "we_input_document_access": 1 + } + """ + And that I want to update a resource with the key "we_uid" stored in session array as variable "we_uid_" + And I request "project/28733629952e66a362c4f63066393844/web-entry" + And the content type is "application/json" + Then the response status code should be 200 + And the response charset is "UTF-8" + + Examples: + + | we_number | tas_uid | we_title | dyn_uid | we_description | usr_uid | we_method | + | 1 | 44199549652e66ba533bb06088252754 | Update Web Entry PHP 1 | 60308801852e66b7181ae21045247174 | Update Webservice PHP Description 1 | 00000000000000000000000000000001 | WS | + | 2 | 56118778152e66babcc2103002009439 | Update Web Entry PHP 2 @#$%&* | 99869771852e66b7dc4b858088901665 | Update Webservice PHP Description 2 | 00000000000000000000000000000001 | WS | + + +Scenario Outline: Get a single Web Entry PHP of a Project + Given that I want to get a resource with the key "we_uid" stored in session array as variable "we_uid_" + And I request "project/28733629952e66a362c4f63066393844/web-entry" + 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" + And that "we_title" is set to "" + And that "we_description" is set to "" + And that "we_input_document_access" is set to "" + + Examples: + + | we_number | tas_uid | we_title | dyn_uid | we_description | usr_uid | we_method | + | 1 | 44199549652e66ba533bb06088252754 | Update Web Entry PHP 1 | 60308801852e66b7181ae21045247174 | Update Webservice PHP Description 1 | 00000000000000000000000000000001 | WS | + | 2 | 56118778152e66babcc2103002009439 | Update Web Entry PHP 2 @#$%&* | 99869771852e66b7dc4b858088901665 | Update Webservice PHP Description 2 | 00000000000000000000000000000001 | WS | + | 3 | 18096002352e66bc1643af8048493068 | Web Entry PHP 3 | 37977455352e66b892babe6071295002 | Webservice PHP Description 3 | 00000000000000000000000000000001 | WS | + + +Scenario Outline: Update Web Entry, when we_method is change a other method of the register 3 + Given PUT this data: + """ + { + "tas_uid": "18096002352e66bc1643af8048493068", + "dyn_uid": "37977455352e66b892babe6071295002", + "usr_uid": "00000000000000000000000000000001", + "we_title": "Web Entry PHP 3 change method", + "we_description": "Webservice PHP Description 3", + "we_method": "HTML", + "we_input_document_access": 1 + } + """ + And that I want to update a resource with the key "we_uid" stored in session array as variable "we_uid_" + And I request "project/28733629952e66a362c4f63066393844/web-entry" + And the content type is "application/json" + Then the response status code should be 200 + And the response charset is "UTF-8" + + Examples: + + | we_number | tas_uid | we_title | dyn_uid | we_description | usr_uid | we_method | + | 3 | 18096002352e66bc1643af8048493068 | Web Entry PHP 3 | 37977455352e66b892babe6071295002 | Webservice PHP Description 3 | 00000000000000000000000000000001 | WS | + + +Scenario Outline: Create a new Web Entry using the method: Single HTML + Given POST this data: + """ + { + "tas_uid": "", + "dyn_uid": "", + "we_title": "", + "we_description": "", + "we_method": "HTML", + "we_input_document_access": + } + """ + And I request "project/28733629952e66a362c4f63066393844/web-entry" + And the content type is "application/json" + Then the response status code should be 201 + And the response charset is "UTF-8" + And the type is "object" + And the response has a "we_data" property + And the "we_data" property type is "string" + And store "we_data" in session array as variable "we_data_" + And store "we_uid" in session array as variable "we_uid_" + + Examples: + + | Description | we_number | tas_uid | we_title | dyn_uid | we_description | we_input_document_access | + | Web entry HTML task 3, with values normal | 4 | 18096002352e66bc1643af8048493068 | Web Entry HTML 1 | 37977455352e66b892babe6071295002 | Webservice HTML description 1 | 1 | + | Web entry HTML task 1, with we_input_document_access in 0 | 5 | 44199549652e66ba533bb06088252754 | Web Entry HTML 2 | 60308801852e66b7181ae21045247174 | Webservice HTML Description 2 | 1 | + | Web entry HTML task 2, with character special | 6 | 56118778152e66babcc2103002009439 | Web Entry HTML 3 @#$%&* | 99869771852e66b7dc4b858088901665 | Webservice HTML Description 3 | 1 | +Scenario: Get list Web Entries of a Project after created in this scritp web entries HTML + And I request "project/28733629952e66a362c4f63066393844/web-entries" + 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 "array" + And the response has 6 records - \ No newline at end of file + +Scenario Outline: Get a single Web Entry HTML of a Project + Given that I want to get a resource with the key "we_uid" stored in session array as variable "we_uid_" + And I request "project/28733629952e66a362c4f63066393844/web-entry" + 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" + And that "we_title" is set to "" + And that "we_description" is set to "" + And that "we_input_document_access" is set to "" + + Examples: + + | we_number | tas_uid | we_title | dyn_uid | we_description | we_input_document_access | + | 4 | 18096002352e66bc1643af8048493068 | Web Entry HTML 1 | 37977455352e66b892babe6071295002 | Webservice HTML description 1 | 1 | + | 5 | 44199549652e66ba533bb06088252754 | Web Entry HTML 2 | 60308801852e66b7181ae21045247174 | Webservice HTML Description 2 | 1 | + | 6 | 56118778152e66babcc2103002009439 | Web Entry HTML 3 @#$%&* | 99869771852e66b7dc4b858088901665 | Webservice HTML Description 3 | 1 | + + +Scenario Outline: Update Web Entry HTML + Given PUT this data: + """ + { + "tas_uid": "", + "dyn_uid": "", + "usr_uid": "", + "we_title": "", + "we_description": "", + "we_method": "", + "we_input_document_access": 1 + } + """ + And that I want to update a resource with the key "we_uid" stored in session array as variable "we_uid_" + And I request "project/28733629952e66a362c4f63066393844/web-entry" + And the content type is "application/json" + Then the response status code should be 200 + And the response charset is "UTF-8" + + Examples: + + | we_number | tas_uid | we_title | dyn_uid | we_description | usr_uid | we_method | + | 4 | 18096002352e66bc1643af8048493068 | Update Web Entry HTML 1 | 37977455352e66b892babe6071295002 | Update Webservice HTML Description 1 | 00000000000000000000000000000001 | HTML | + | 5 | 44199549652e66ba533bb06088252754 | Update Web Entry HTML 2 @#$%&* | 60308801852e66b7181ae21045247174 | Update Webservice HTML Description 2 | 00000000000000000000000000000001 | HTML | + + +Scenario Outline: Get a single Web Entry HTML of a Project + Given that I want to get a resource with the key "we_uid" stored in session array as variable "we_uid_" + And I request "project/28733629952e66a362c4f63066393844/web-entry" + 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" + And that "we_title" is set to "" + And that "we_description" is set to "" + And that "we_input_document_access" is set to "" + + Examples: + + | we_number | tas_uid | we_title | dyn_uid | we_description | usr_uid | we_method | + | 4 | 18096002352e66bc1643af8048493068 | Update Web Entry HTML 1 | 37977455352e66b892babe6071295002 | Update Webservice HTML Description 1 | 00000000000000000000000000000001 | HTML | + | 5 | 44199549652e66ba533bb06088252754 | Update Web Entry HTML 2 @#$%&* | 60308801852e66b7181ae21045247174 | Update Webservice HTML Description 2 | 00000000000000000000000000000001 | HTML | + | 6 | 56118778152e66babcc2103002009439 | Web Entry HTML 3 @#$%&* | 99869771852e66b7dc4b858088901665 | Webservice HTML Description 3 | 00000000000000000000000000000001 | HTML | + + +Scenario Outline: Delete a Web Entry of a Project + Given that I want to delete a resource with the key "we_uid" stored in session array as variable "we_uid_" + And I request "project/28733629952e66a362c4f63066393844/web-entry" + 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: + + | we_number | + | 1 | + | 2 | + | 3 | + | 4 | + | 5 | + | 6 | + + +Scenario: Get list Web Entries of a Project + And I request "project/28733629952e66a362c4f63066393844/web-entries" + 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 "array" + And the response has 0 records + + +#WEB ENTRY - END + + +#DELETE /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/assignee/{aas_uid} + Scenario Outline: Remove an assignee of an activity + Given that I want to delete a resource with the key "obj_uid" stored in session array + And I request "project/28733629952e66a362c4f63066393844/activity//assignee/" + 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: + + | tas_uid | tas_title | aas_uid | + | 44199549652e66ba533bb06088252754 | Task 1 | 00000000000000000000000000000001 | + | 56118778152e66babcc2103002009439 | Task 2 | 00000000000000000000000000000001 | + | 18096002352e66bc1643af8048493068 | Task 3 | 00000000000000000000000000000001 | + + +#GET /api/1.0/{workspace}/project/{prj_uid}/activity/{act_uid}/assignee?filter=john&start=0&limit=50 + Scenario Outline: List assignees of an activity + Given I request "project/28733629952e66a362c4f63066393844/activity//assignee" + 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 "array" + And the json data is an empty array + + Examples: + + | tas_uid | tas_title | + | 44199549652e66ba533bb06088252754 | Task 1 | + | 56118778152e66babcc2103002009439 | Task 2 | + | 18096002352e66bc1643af8048493068 | Task 3 | \ No newline at end of file diff --git a/features/backend/projects/web_entry/negative_tests_web_entry.feature b/features/backend/projects/web_entry/negative_tests_web_entry.feature index c75066e47..8649c578c 100644 --- a/features/backend/projects/web_entry/negative_tests_web_entry.feature +++ b/features/backend/projects/web_entry/negative_tests_web_entry.feature @@ -2,56 +2,78 @@ Feature: Webentry Negative Tests - Background: +Background: Given that I have a valid access_token - Scenario Outline: Create a new Web Entry using the method: PHP pages with Web Services with bad parameters (negative tests) - Given POST this data: - """ - { - "tas_uid": "", - "dyn_uid": "", - "method": "", - "input_document_access": 1, - "usr_username": "", - "usr_password": "" - } - """ - And I request "project//web-entry" - Then the response status code should be - And the response status message should have the following text "" +Scenario Outline: Create a new Web Entry using the method: PHP pages with Web Services with bad parameters (negative tests) + Given POST this data: + """ + { + "tas_uid": "", + "dyn_uid": "", + "usr_uid": "00000000000000000000000000000001", + "we_title": "", + "we_description": "pruebas negativas", + "we_method": "", + "we_input_document_access": 1 + } + """ + And I request "project//web-entry" + And the content type is "application/json" + Then the response status code should be + And the response status message should have the following text "" - Examples: + Examples: - | test_description | project | tas_uid | tas_title | dyn_uid | dyn_title | method | usr_username | usr_password | error_code | error_message | - | Invalid method | 28733629952e66a362c4f63066393844 | 44199549652e66ba533bb06088252754 | Task 1 | 60308801852e66b7181ae21045247174 | DynaForm Demo1 | JS | admin | admin | 400 | method | - | Invalid usr_username | 28733629952e66a362c4f63066393844 | 56118778152e66babcc2103002009439 | Task 2 | 99869771852e66b7dc4b858088901665 | DynaForm Demo2 | JS | aaro | admin | 400 | method | - | Invalid usr_password | 28733629952e66a362c4f63066393844 | 44199549652e66ba533bb06088252754 | Task 1 | 60308801852e66b7181ae21045247174 | DynaForm Demo1 | WS | admin | sample | 400 | password | - | Field required prj_uid | | 56118778152e66babcc2103002009439 | Task 2 | 99869771852e66b7dc4b858088901665 | DynaForm Demo2 | HTML | admin | admin | 400 | prj_uid | - | Field required tas_uid | 28733629952e66a362c4f63066393844 | | Task 1 | 60308801852e66b7181ae21045247174 | DynaForm Demo1 | WS | admin | admin | 400 | tas_uid | - | Field required dyn_uid | 28733629952e66a362c4f63066393844 | 56118778152e66babcc2103002009439 | Task 2 | | DynaForm Demo2 | HTML | admin | admin | 400 | dyn_uid | - | Field required method | 28733629952e66a362c4f63066393844 | 44199549652e66ba533bb06088252754 | Task 1 | 60308801852e66b7181ae21045247174 | DynaForm Demo1 | | admin | admin | 400 | method | + | test_description | project | tas_uid | dyn_uid | we_title | we_method | error_code | error_message | + | Invalid method | 28733629952e66a362c4f63066393844 | 44199549652e66ba533bb06088252754 | 60308801852e66b7181ae21045247174 | DynaForm Demo1 | JS | 400 | method | + | Field required prj_uid | | 56118778152e66babcc2103002009439 | 99869771852e66b7dc4b858088901665 | DynaForm Demo2 | HTML | 400 | prj_uid | + | Field required tas_uid | 28733629952e66a362c4f63066393844 | | 60308801852e66b7181ae21045247174 | DynaForm Demo1 | WS | 400 | tas_uid | + | Field required dyn_uid | 28733629952e66a362c4f63066393844 | 56118778152e66babcc2103002009439 | | DynaForm Demo2 | HTML | 400 | dyn_uid | + | Field required method | 28733629952e66a362c4f63066393844 | 44199549652e66ba533bb06088252754 | 60308801852e66b7181ae21045247174 | DynaForm Demo1 | | 400 | method | - Scenario Outline: Create a new Web Entry using the method: Single HTML - Given POST this data: - """ - { - "tas_uid": "", - "dyn_uid": "", - "method": "", - "input_document_access": 1 - } - """ - And I request "project//web-entry" - Then the response status code should be - And the response status message should have the following text "" +Scenario Outline: Create a new Web Entry using the method: Single HTML + Given POST this data: + """ + { + "tas_uid": "", + "dyn_uid": "", + "we_title": "", + "we_description": "pruebas negativas", + "we_method": "", + "we_input_document_access": 1 + } + """ + And I request "project//web-entry" + Then the response status code should be + And the response status message should have the following text "" + + Examples: + + | test_description | project | tas_uid | dyn_uid | we_title | we_method | error_code | error_message | + | Invalid method | 28733629952e66a362c4f63066393844 | 18096002352e66bc1643af8048493068 | 37977455352e66b892babe6071295002 | DynaForm Demo1 | JS | 400 | method | + | Field required prj_uid | | 18096002352e66bc1643af8048493068 | 37977455352e66b892babe6071295002 | DynaForm Demo2 | HTML | 400 | prj_uid | + | Field required tas_uid | 28733629952e66a362c4f63066393844 | | 37977455352e66b892babe6071295002 | DynaForm Demo1 | WS | 400 | tas_uid | + | Field required dyn_uid | 28733629952e66a362c4f63066393844 | 18096002352e66bc1643af8048493068 | | DynaForm Demo2 | HTML | 400 | dyn_uid | + | Field required method | 28733629952e66a362c4f63066393844 | 18096002352e66bc1643af8048493068 | 37977455352e66b892babe6071295002 | DynaForm Demo1 | | 400 | method | + + +Scenario: Create a new Web Entry using the method: PHP pages with Web Services with bad parameters (we_input_document_access) + Given POST this data: + """ + { + "tas_uid": "18096002352e66bc1643af8048493068", + "dyn_uid": "37977455352e66b892babe6071295002", + "usr_uid": "00000000000000000000000000000001", + "we_title": "Field wrong - we_method", + "we_description": "pruebas negativas", + "we_method": "WS", + "we_input_document_access": 67 + } + """ + And I request "project/28733629952e66a362c4f63066393844/web-entry" + Then the response status code should be 400 + And the response status message should have the following text "we_input_document_access" - Examples: - | test_description | project | tas_uid | tas_title | dyn_uid | dyn_title | method | error_code | error_message | - | Invalid method | 28733629952e66a362c4f63066393844 | 18096002352e66bc1643af8048493068 | Task 1 | 37977455352e66b892babe6071295002 | DynaForm Demo1 | JS | 400 | method | - | Field required prj_uid | | 18096002352e66bc1643af8048493068 | Task 2 | 37977455352e66b892babe6071295002 | DynaForm Demo2 | HTML | 400 | prj_uid | - | Field required tas_uid | 28733629952e66a362c4f63066393844 | | Task 1 | 37977455352e66b892babe6071295002 | DynaForm Demo1 | WS | 400 | tas_uid | - | Field required dyn_uid | 28733629952e66a362c4f63066393844 | 18096002352e66bc1643af8048493068 | Task 2 | | DynaForm Demo2 | HTML | 400 | dyn_uid | - | Field required method | 28733629952e66a362c4f63066393844 | 18096002352e66bc1643af8048493068 | Task 1 | 37977455352e66b892babe6071295002 | DynaForm Demo1 | | 400 | method | From 7eedc61feb79df9d082f7f2041a4744f8f0b36f5 Mon Sep 17 00:00:00 2001 From: Erik Amaru Ortiz Date: Thu, 24 Apr 2014 12:36:30 -0400 Subject: [PATCH 3/5] updating composer.json to use the last working version for pm of restler --- composer.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 3e840153f..7b7c9ca89 100644 --- a/composer.json +++ b/composer.json @@ -38,8 +38,11 @@ } ], + "minimum-stability": "beta", + "prefer-stable": true, + "require": { - "luracast/restler" : "v3.0.0", + "luracast/restler" : "3.0.0-RC4", "bshaffer/oauth2-server-php": "v1.0", "jquery/jquery": "1.10.2", "underscore/underscore": "1.5.2", From 656130d799628f0523773f03c9a2a4574aa7dbbf Mon Sep 17 00:00:00 2001 From: Erik Amaru Ortiz Date: Thu, 24 Apr 2014 16:05:42 -0400 Subject: [PATCH 4/5] some changes to implement latest version of restler 3.0.0 --- composer.json | 4 ++-- .../src/ProcessMaker/Services/Api/Project.php | 14 +++++++++++--- .../src/ProcessMaker/Services/OAuth2/Server.php | 5 +++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 7b7c9ca89..31373274b 100644 --- a/composer.json +++ b/composer.json @@ -38,11 +38,11 @@ } ], - "minimum-stability": "beta", + "minimum-stability": "stable", "prefer-stable": true, "require": { - "luracast/restler" : "3.0.0-RC4", + "luracast/restler" : "3.0.0", "bshaffer/oauth2-server-php": "v1.0", "jquery/jquery": "1.10.2", "underscore/underscore": "1.5.2", diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project.php b/workflow/engine/src/ProcessMaker/Services/Api/Project.php index 8e596a7f1..4ae9f55c8 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project.php @@ -16,7 +16,10 @@ use \ProcessMaker\Util; */ class Project extends Api { - public function index() + /** + * @url GET + */ + public function doGetProjects() { try { $start = null; @@ -31,10 +34,15 @@ class Project extends Api } } - public function get($prjUid) + /** + * @url GET /:prj_uid + * + * @param string $prj_uid {@min 32}{@max 32} + */ + public function doGetProject($prj_uid) { try { - return Adapter\BpmnWorkflow::getStruct($prjUid); + return Adapter\BpmnWorkflow::getStruct($prj_uid); } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } diff --git a/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php b/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php index 127201760..efe509912 100644 --- a/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php +++ b/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php @@ -235,5 +235,10 @@ class Server implements iAuthenticate { return array_keys($this->scope); } + + public function __getWWWAuthenticateString() + { + return ""; + } } From 489960d92c131fd060a26096cb0b0b688e87c129 Mon Sep 17 00:00:00 2001 From: Erik Amaru Ortiz Date: Thu, 24 Apr 2014 17:39:49 -0400 Subject: [PATCH 5/5] updating rest layer config options --- framework/src/Maveriks/Extension/Restler.php | 5 +++++ framework/src/Maveriks/WebApplication.php | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/framework/src/Maveriks/Extension/Restler.php b/framework/src/Maveriks/Extension/Restler.php index c60c3d163..9c0b83105 100644 --- a/framework/src/Maveriks/Extension/Restler.php +++ b/framework/src/Maveriks/Extension/Restler.php @@ -18,6 +18,11 @@ class Restler extends \Luracast\Restler\Restler public $responseMultipart = array(); public $inputExecute = ''; + public function __construct($productionMode = false, $refreshCache = false) + { + parent::__construct($productionMode, $refreshCache); + } + /** * This method to set the value flag Multipart * diff --git a/framework/src/Maveriks/WebApplication.php b/framework/src/Maveriks/WebApplication.php index c5edf9497..71c9e8910 100644 --- a/framework/src/Maveriks/WebApplication.php +++ b/framework/src/Maveriks/WebApplication.php @@ -195,10 +195,18 @@ class WebApplication // Setting current workspace to Api class Services\Api::setWorkspace(SYS_SYS); + $cacheDir = defined("PATH_C")? PATH_C: sys_get_temp_dir(); + + $sysConfig = \System::getSystemConfiguration(); + + \Luracast\Restler\Defaults::$cacheDirectory = $cacheDir; + $productionMode = (bool) !(isset($sysConfig["service_api_debug"]) && $sysConfig["service_api_debug"]); + + Util\Logger::log("Serving API mode: " . ($productionMode? "production": "development")); // create a new Restler instance //$rest = new \Luracast\Restler\Restler(); - $rest = new \Maveriks\Extension\Restler(); + $rest = new \Maveriks\Extension\Restler($productionMode); // setting flag for multipart to Restler $rest->setFlagMultipart($multipart); $rest->inputExecute = $inputExecute; @@ -272,6 +280,7 @@ class WebApplication } $rest->handle(); + if ($rest->flagMultipart === true) { return $rest->responseMultipart; }