tclwebtest-procs.tcl

Automated tests.

Location:
packages/file-storage/tcl/test/tclwebtest-procs.tcl
Created:
18 Junuary 2006
Author:
Mounir Lallali.

Procedures in this file

Detailed information

file_storage::twt::add_file_to_folder (private)

 file_storage::twt::add_file_to_folder folder_name file_name \
    file_description

Adds a file to a folder from the UI.

Parameters:
folder_name (required)
file_name (required)
file_description (required)

Partial Call Graph (max 5 caller/called nodes):
%3 test_file-storage file-storage (test ) file_storage::twt::add_file_to_folder file_storage::twt::add_file_to_folder test_file-storage->file_storage::twt::add_file_to_folder test_fs_add_file_to_folder_twt fs_add_file_to_folder_twt (test ) test_fs_add_file_to_folder_twt->file_storage::twt::add_file_to_folder aa_error aa_error (public) file_storage::twt::add_file_to_folder->aa_error aa_log aa_log (public) file_storage::twt::add_file_to_folder->aa_log

Testcases:
fs_add_file_to_folder_twt, file-storage

file_storage::twt::call_fs_page (private)

 file_storage::twt::call_fs_page

Requests the file-storage page.

Partial Call Graph (max 5 caller/called nodes):
%3 test_file-storage file-storage (test ) file_storage::twt::call_fs_page file_storage::twt::call_fs_page test_file-storage->file_storage::twt::call_fs_page test_fs_add_file_to_folder_twt fs_add_file_to_folder_twt (test ) test_fs_add_file_to_folder_twt->file_storage::twt::call_fs_page test_fs_create_url fs_create_url (test file-storage) test_fs_create_url->file_storage::twt::call_fs_page test_fs_create_url_in_folder fs_create_url_in_folder (test file-storage) test_fs_create_url_in_folder->file_storage::twt::call_fs_page test_fs_upload_file fs_upload_file (test file-storage) test_fs_upload_file->file_storage::twt::call_fs_page aa_get_first_url aa_get_first_url (public) file_storage::twt::call_fs_page->aa_get_first_url twt::do_request twt::do_request (public) file_storage::twt::call_fs_page->twt::do_request

Testcases:
fs_add_file_to_folder_twt, file-storage, fs_create_url_in_folder, fs_create_url, fs_upload_file

file_storage::twt::copy_file (private)

 file_storage::twt::copy_file folder_name file_name

Copies a file from the UI.

Parameters:
folder_name (required)
file_name (required)

Partial Call Graph (max 5 caller/called nodes):
%3 aa_error aa_error (public) aa_log aa_log (public) file_storage::twt::copy_file file_storage::twt::copy_file file_storage::twt::copy_file->aa_error file_storage::twt::copy_file->aa_log

Testcases:
No testcase defined.

file_storage::twt::create_new_folder (private)

 file_storage::twt::create_new_folder folder_name folder_description

Creates a new folder from the UI.

Parameters:
folder_name (required)
folder_description (required)

Partial Call Graph (max 5 caller/called nodes):
%3 test_file-storage file-storage (test ) file_storage::twt::create_new_folder file_storage::twt::create_new_folder test_file-storage->file_storage::twt::create_new_folder test_fs_add_file_to_folder_twt fs_add_file_to_folder_twt (test ) test_fs_add_file_to_folder_twt->file_storage::twt::create_new_folder aa_error aa_error (public) file_storage::twt::create_new_folder->aa_error aa_log aa_log (public) file_storage::twt::create_new_folder->aa_log

Testcases:
fs_add_file_to_folder_twt, file-storage

file_storage::twt::create_url (private)

 file_storage::twt::create_url url_title url url_description

Creates a new URL from the UI.

Parameters:
url_title (required)
url (required)
url_description (required)

Partial Call Graph (max 5 caller/called nodes):
%3 test_file-storage file-storage (test ) file_storage::twt::create_url file_storage::twt::create_url test_file-storage->file_storage::twt::create_url test_fs_create_url fs_create_url (test ) test_fs_create_url->file_storage::twt::create_url aa_error aa_error (public) file_storage::twt::create_url->aa_error aa_log aa_log (public) file_storage::twt::create_url->aa_log

Testcases:
fs_create_url, file-storage

file_storage::twt::create_url_in_folder (private)

 file_storage::twt::create_url_in_folder url_title url url_description

Creates a URL in a folder from the UI.

Parameters:
url_title (required)
url (required)
url_description (required)

Partial Call Graph (max 5 caller/called nodes):
%3 test_file-storage file-storage (test ) file_storage::twt::create_url_in_folder file_storage::twt::create_url_in_folder test_file-storage->file_storage::twt::create_url_in_folder test_fs_create_url_in_folder fs_create_url_in_folder (test ) test_fs_create_url_in_folder->file_storage::twt::create_url_in_folder aa_error aa_error (public) file_storage::twt::create_url_in_folder->aa_error aa_log aa_log (public) file_storage::twt::create_url_in_folder->aa_log

Testcases:
fs_create_url_in_folder, file-storage

file_storage::twt::delete_file (private)

 file_storage::twt::delete_file file_name

Deletes a file.

Parameters:
file_name (required)

Partial Call Graph (max 5 caller/called nodes):
%3 test_file-storage file-storage (test ) file_storage::twt::delete_file file_storage::twt::delete_file test_file-storage->file_storage::twt::delete_file test_fs_add_file_to_folder_twt fs_add_file_to_folder_twt (test ) test_fs_add_file_to_folder_twt->file_storage::twt::delete_file test_fs_upload_file fs_upload_file (test file-storage) test_fs_upload_file->file_storage::twt::delete_file

Testcases:
fs_add_file_to_folder_twt, file-storage, fs_upload_file

file_storage::twt::delete_folder (private)

 file_storage::twt::delete_folder

Deletes a folder from the UI.

Partial Call Graph (max 5 caller/called nodes):
%3 aa_error aa_error (public) aa_log aa_log (public) file_storage::twt::delete_folder file_storage::twt::delete_folder file_storage::twt::delete_folder->aa_error file_storage::twt::delete_folder->aa_log

Testcases:
No testcase defined.

file_storage::twt::delete_uploaded_file (private)

 file_storage::twt::delete_uploaded_file file_name

Deletes a file from the UI.

Parameters:
file_name (required)

Partial Call Graph (max 5 caller/called nodes):
%3 aa_error aa_error (public) aa_log aa_log (public) file_storage::twt::delete_uploaded_file file_storage::twt::delete_uploaded_file file_storage::twt::delete_uploaded_file->aa_error file_storage::twt::delete_uploaded_file->aa_log

Testcases:
No testcase defined.

file_storage::twt::delete_url (private)

 file_storage::twt::delete_url url_title

Deletes a URL from the UI.

Parameters:
url_title (required)

Partial Call Graph (max 5 caller/called nodes):
%3 aa_error aa_error (public) aa_log aa_log (public) file_storage::twt::delete_url file_storage::twt::delete_url file_storage::twt::delete_url->aa_error file_storage::twt::delete_url->aa_log

Testcases:
No testcase defined.

file_storage::twt::edit_url (private)

 file_storage::twt::edit_url url_title url url_description

Edits an existing URL from the UI.

Parameters:
url_title (required)
url (required)
url_description (required)

Partial Call Graph (max 5 caller/called nodes):
%3 aa_error aa_error (public) aa_log aa_log (public) file_storage::twt::edit_url file_storage::twt::edit_url file_storage::twt::edit_url->aa_error file_storage::twt::edit_url->aa_log

Testcases:
No testcase defined.

file_storage::twt::move_file (private)

 file_storage::twt::move_file folder_name file_name

Moves a file from the UI.

Parameters:
folder_name (required)
file_name (required)

Partial Call Graph (max 5 caller/called nodes):
%3 aa_error aa_error (public) aa_log aa_log (public) file_storage::twt::move_file file_storage::twt::move_file file_storage::twt::move_file->aa_error file_storage::twt::move_file->aa_log

Testcases:
No testcase defined.

file_storage::twt::rename_file (private)

 file_storage::twt::rename_file file_name

Renames a file from the UI.

Parameters:
file_name (required)

Partial Call Graph (max 5 caller/called nodes):
%3 aa_error aa_error (public) aa_log aa_log (public) file_storage::twt::rename_file file_storage::twt::rename_file file_storage::twt::rename_file->aa_error file_storage::twt::rename_file->aa_log

Testcases:
No testcase defined.

file_storage::twt::upload_file (private)

 file_storage::twt::upload_file file_name file_description

Uploads a new file from the UI.

Parameters:
file_name (required)
file_description (required)

Partial Call Graph (max 5 caller/called nodes):
%3 test_file-storage file-storage (test ) file_storage::twt::upload_file file_storage::twt::upload_file test_file-storage->file_storage::twt::upload_file test_fs_upload_file fs_upload_file (test ) test_fs_upload_file->file_storage::twt::upload_file aa_error aa_error (public) file_storage::twt::upload_file->aa_error aa_log aa_log (public) file_storage::twt::upload_file->aa_log

Testcases:
fs_upload_file, file-storage
[ hide source ] | [ make this the default ]

Content File Source

ad_library {
    Automated tests.

    @author Mounir Lallali.
    @creation-date 18 Junuary 2006

}

namespace eval file_storage::twt {}

ad_proc -private file_storage::twt::call_fs_page {} {
    Requests the file-storage page.
} {
    set fs_page [aa_get_first_url -package_key file-storage]
    ::twt::do_request $fs_page
}


ad_proc -private file_storage::twt::delete_file { file_name } {
    Deletes a file.
} {
    # Delete a filename
    file delete -force -- $file_name
}

ad_proc -private file_storage::twt::create_new_folder { folder_name folder_description } {
    Creates a new folder from the UI.
} {
    set response 0

    tclwebtest::link follow {New Folder}

    tclwebtest::form find ~n "folder-ae"
    tclwebtest::field find ~n "folder_name"
    tclwebtest::field fill $folder_name
    tclwebtest::field find ~n "description"
    tclwebtest::field fill $folder_description
    tclwebtest::form submit

    set response_url [tclwebtest::response url]

    if { [string match  "*/\?folder_id*" $response_url] } {

        if { [catch {tclwebtest::assert text $folder_name} errmsg]} {
            aa_error "file_storage::twt::create_new_folder failed $errmsg : Didn't Create a New Folder"
        } else {
            aa_log "a New Folder created"
            set response 1
        }
    } else {
        aa_error "file_storage::twt::create_new_folder failed, bad response url : $response_url"
    }

    return $response
}

ad_proc -private file_storage::twt::delete_folder {} {
    Deletes a folder from the UI.
} {
    set response 0

    tclwebtest::link follow {Delete this folder}

    tclwebtest::form find ~n "folder-delete"
    tclwebtest::form submit ~n {formbutton:ok}

    set response_url [tclwebtest::response url]

    if { [string match  "*\?folder_id*" $response_url] } {

        if { ![catch {tclwebtest::link find $folder_name} errmsg]} {
            aa_error "file_storage::twt::delete_folder failed $errmsg : Didn't Delete a Folder"
        } else {
            aa_log "a Folder deleted"
            set response 1
        }
    } else {
        aa_error "file_storage::twt::delete_folder failed, bad response url : $response_url"
    }

    return $response
}


ad_proc -private file_storage::twt::add_file_to_folder { folder_name file_name file_description } {
    Adds a file to a folder from the UI.
} {

    set response 0

    # Follow the Add File link
    tclwebtest::link follow {Add File}

    tclwebtest::form find ~n "file-add"
    tclwebtest::field find ~n "upload_file"
    tclwebtest::field fill $file_name
    tclwebtest::field find ~n "title"
    tclwebtest::field fill $file_name
    tclwebtest::field find ~n "description"
    tclwebtest::field fill $file_description
    tclwebtest::form submit

    set response_url [tclwebtest::response url]

    if { [string match  "*\?folder*id*" $response_url] } {

        set list_words [split "$file_name" /]
        set short_file_name [lindex $list_words [llength $list_words]-1]

        if {[catch {tclwebtest::assert text $folder_name} errmsg] || [catch {tclwebtest::link find $short_file_name} errmsg]} {
            aa_error "file_storage::twt::add_file_to_folder failed $errmsg : Didn't add a file to folder"
        } else {
            aa_log "a File uploaded"
            set response 1
        }
    } else {
        aa_error "file_storage::twt::add_file_to_folder  failed, bad response url : $response_url"
    }

    return $response
}

ad_proc -private file_storage::twt::create_url_in_folder { url_title url url_description }  {
    Creates a URL in a folder from the UI.
} {

    set response 0

    # Follow the Create URL link
    tclwebtest::link follow {Create a URL}

    tclwebtest::form find ~n "simple-add"
    tclwebtest::field find ~n "title"
    tclwebtest::field fill $url_title
    tclwebtest::field find ~n "url"
    tclwebtest::field fill $url
    tclwebtest::field find ~n "description"
    tclwebtest::field fill $url_description
    tclwebtest::form submit

    set response_url [tclwebtest::response url]

    if { [string match  "*\?folder_id*" $response_url] } {

        if {[catch {tclwebtest::link find $url_title} errmsg]} {
            aa_error "file_storage::twt::create_url_in_folder $errmsg : Didn't create a URL in a folder"
        } else {
            aa_log "a URL created in a folder"
            set response 1
        }

    } else {
        aa_error "file_storage::twt::create_url_in_folder  failed, bad response url : $response_url"
    }
}

ad_proc -private file_storage::twt::upload_file { file_name file_description } {
    Uploads a new file from the UI.
} {

    set response 0

    # Follow the Upload File link
    tclwebtest::link follow {Add File}

     tclwebtest::form find ~n "file-add"
     tclwebtest::field find ~n "upload_file"
     tclwebtest::field fill $file_name
     tclwebtest::field find ~n "title"
     tclwebtest::field fill $file_name
     tclwebtest::field find ~n "description"
     tclwebtest::field fill $file_description
     tclwebtest::form submit

     set response_url [tclwebtest::response url]

     if { [string match  "*\?folder*id*" $response_url] } {

        set list_words [split "$file_name" /]
         set short_file_name [lindex $list_words [llength $list_words]-1]

         if {[catch {tclwebtest::link find $short_file_name} errmsg]} {
             aa_error "file_storage::twt::upload_file failed $errmsg : Didn't upload a File"
         } else {
             aa_log "a File uploaded"
             set response 1
         }
     } else {
         aa_error "file_storage::twt::upload_file failed, bad response url : $response_url"
     }

     return $response
}

ad_proc -private file_storage::twt::delete_uploaded_file { file_name } {
    Deletes a file from the UI.
} {

    set response 0

    # Follow the Delete File Link
    tclwebtest::link follow properties
    tclwebtest::link follow {Delete File}

    tclwebtest::form find ~n "file-delete"
    tclwebtest::form submit

    set response_url [tclwebtest::response url]

    if { [string match  "*\?folder*id*" $response_url] } {

        # Get the short filename
        set list_words [split "$file_name" /]
        set short_file_name [lindex $list_words [llength $list_words]-1]

        if {![catch {tclwebtest::link find $short_file_name} errmsg]} {
            aa_error "file_storage::twt::delete_file failed $errmsg : Didn't delete a File"
        } else {
            aa_log "a File deleted"
            set response 1
        }
    } else {
        aa_error "file_storage::twt::delete_file failed, bad response url : $response_url"
    }

    return $response
}

ad_proc -private file_storage::twt::rename_file { file_name } {
    Renames a file from the UI.
} {

    set response 0

    tclwebtest::link follow {properties}

    # Follow the Rename File link
    tclwebtest::link follow {Rename File}

    tclwebtest::form find ~n "file-edit"
    tclwebtest::field find ~n "title"
    tclwebtest::field fill $file_name
    tclwebtest::form submit

    set response_url [tclwebtest::response url]

    if { [string match  "*/file\?file_id*" $response_url] } {

        if {[catch {tclwebtest::link find $file_name} errmsg]} {
            aa_error "file_storage::twt::rename_file $errmsg : Didn't rename a file"
        } else {
            aa_log "a File ranamed"
            set response 1
        }

    } else {
        aa_error "file_storage::twt::rename_file failed, bad response url : $response_url"
    }

    return $response
}

ad_proc -private file_storage::twt::copy_file { folder_name file_name } {
    Copies a file from the UI.
} {

    set response 0

    tclwebtest::link follow {properties}

    # Follow the Move File link
    tclwebtest::link follow {Move File}
    tclwebtest::link follow $folder_name

    set response_url [tclwebtest::response url]

    if { [string match  "*/dotlrn/file-storage/\?folder*id*" $response_url] } {

        # Get the short filename
        set list_words [split "$file_name" /]
        set short_file_name [lindex $list_words [llength $list_words]-1]

        if {![catch {tclwebtest::link find $short_file_name} errmsg]} {
            aa_error "file_storage::twt::move_file $errmsg : Didn't move a file"
        } else {
            aa_log "a File moved"
            set response 1
        }

    } else {
        aa_error "file_storage::twt::move_file failed, bad response url : $response_url"
    }

    return $response
}

ad_proc -private file_storage::twt::move_file { folder_name file_name } {
    Moves a file from the UI.
} {

    set response 0

    tclwebtest::link follow {properties}

    # Follow the Rename URL link
    tclwebtest::link follow {Copy File}
    tclwebtest::link follow $folder_name

    set response_url [tclwebtest::response url]

    if { [string match  "*/dotlrn/file-storage/\?folder*id*" $response_url] } {

        # Get the short filename
        set list_words [split "$file_name" /]
        set short_file_name [lindex $list_words [llength $list_words]-1]

        if {[catch {tclwebtest::link find $short_file_name} errmsg]} {
            aa_error "file_storage::twt::copy_file $errmsg : Didn't copy a file"
        } else {
            aa_log "a File copied"
            set response 1
        }

    } else {
        aa_error "file_storage::twt::copy_file failed, bad response url : $response_url"
    }

    return $response
}

ad_proc -private file_storage::twt::create_url { url_title url url_description } {
    Creates a new URL from the UI.
} {

    set response 0

    # Follow the Create URL link
    tclwebtest::link follow {Create a URL}

    tclwebtest::form find ~n "simple-add"
    tclwebtest::field find ~n "title"
    tclwebtest::field fill $url_title
    tclwebtest::field find ~n "url"
    tclwebtest::field fill $url
    tclwebtest::field find ~n "description"
    tclwebtest::field fill $url_description
    tclwebtest::form submit

    set response_url [tclwebtest::response url]

    if { [string match  "*\?folder*id*" $response_url] } {

        if {[catch {tclwebtest::link find $url_title} errmsg]} {
            aa_error "file_storage::twt::create_url $errmsg : Didn't create a URL"
        } else {
            aa_log "a URL created"
            set response 1
        }

    } else {
        aa_error "file_storage::twt::create_url  failed, bad response url : $response_url"
    }

    return $response
}

ad_proc -private file_storage::twt::edit_url {url_title url url_description } {
    Edits an existing URL from the UI.
} {

    set response 0


    tclwebtest::link follow properties

    # Follow the Edit URL link
    tclwebtest::link follow {Edit}

    tclwebtest::form find ~n "simple-edit"
    tclwebtest::field find ~n "name"
    tclwebtest::field fill $url_title
    tclwebtest::field find ~n "url"
    tclwebtest::field fill $url
    tclwebtest::field find ~n "description"
    tclwebtest::field fill $url_description
    tclwebtest::form submit

    set response_url [tclwebtest::response url]

    if { [string match  "*/dotlrn/file-storage/\?folder*id*" $response_url] } {

        if {[catch {tclwebtest::link find $url_title} errmsg]} {
            aa_error "file_storage::twt::edit_url $errmsg : Didn't edit a URL"
        } else {
            aa_log "a URL edited"
            set response 1
        }

    } else {
        aa_error "file_storage::twt::edit_url  failed, bad response url : $response_url"
    }

    return $response
}

ad_proc -private file_storage::twt::delete_url { url_title } {
    Deletes a URL from the UI.
} {

    set response 0

    tclwebtest::link follow {properties}

    # Follow the Delete URL link
    tclwebtest::link follow {delete}

    set response_url [tclwebtest::response url]

    if { [string match  "*/dotlrn/file-storage/\?folder*id*" $response_url] } {

        if {![catch {tclwebtest::link find $url_title} errmsg]} {
            aa_error "file_storage::twt::delete_url $errmsg : Didn't delete a URL"
        } else {
            aa_log "a URL deleted"
            set response 1
        }

    } else {
        aa_error "file_storage::twt::delete_url  failed, bad response url : $response_url"
    }

    return $response
}


# Local variables:
#    mode: tcl
#    tcl-indent-level: 4
#    indent-tabs-mode: nil
# End: