xowiki::test::require_test_folder (public)
xowiki::test::require_test_folder -instance instance \ -folder_name folder_name [ -user_id user_id ] \ [ -last_request last_request ] [ -form_name form_name ] [ -fresh ] \ [ -update update ] [ -extra_url_parameter extra_url_parameter ]
Defined in packages/xowiki/tcl/test/test-procs.tcl
Make sure a testfolder with the specified name exists in the top level directory of the specified instance. If this folder exists already, it is deleted are recreated empty.
- Switches:
- -instance (required)
- the path leading the instance, e.g. /xowiki
- -folder_name (required)
- the name of the folder, e.g. "testfolder"
- -user_id (optional, defaults to
"0"
)- the user, under which the operations should be performed
- -last_request (optional)
- -form_name (optional, defaults to
"folder.form"
)- -fresh (optional, boolean, defaults to
"false"
)- create a fresh folder, this means, delete a pre-existing folder first
- -update (optional)
- -extra_url_parameter (optional)
- Returns:
- folder_id
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- create_test_items, xowf, create_composite_test_item, create_folder_with_page, create_workflow_with_instance, create_form_with_form_instance, create_form_with_numeric, form_validate
Source code: set must_create 1 ::xo::Package initialize -url $instance/ # # First check, if test folder exists already. # set d [acs::test::http -last_request $last_request -user_id $user_id $instance/$folder_name] if {[dict get $d status] == 200} { # # yes it exists - so delete it # if {$fresh_p} { # # Since -fresh was specified, we delete the folder and # create it later again. # aa_log "require_test_folder_ test folder $folder_name exists already, ... delete it (user_id $user_id)" set d [acs::test::http -last_request $last_request -user_id $user_id $instance/$folder_name?m=delete&return_url=$instance/] if {[acs::test::reply_has_status_code $d 302]} { set location [::acs::test::get_url_from_location $d] set d [acs::test::http -last_request $last_request -user_id $user_id $location/] acs::test::reply_has_status_code $d 200 } } else { set must_create 0 } } if {$must_create} { aa_log "require_test_folder: create a fresh test folder $folder_name" # # When we try folder creation without being logged in, we # expect a permission denied error. # set d [acs::test::http -user_id 0 $instance/$form_name?m=create-new&return_url=$instance/] acs::test::reply_has_status_code $d 403 ::xowiki::test::create_form_page -user_id $user_id -last_request $last_request -instance $instance -path "" -autonamed -parent_id [::$package_id folder_id] -form_name $form_name -update [subst { _title "Test folder" _name $folder_name $update }] -extra_url_parameter $extra_url_parameter } set new_folder_id [::$package_id lookup -name $folder_name] aa_log "require_test_folder: set folder_id [::$package_id lookup -name $folder_name] ==> $new_folder_id DONE" return [list folder_id $new_folder_id package_id $package_id]XQL Not present: Generic, PostgreSQL, Oracle