caldav::test::basic_setup (private)
caldav::test::basic_setup [ -user_id user_id ] [ -once ] [ -private ] \ [ calendar_name ]
Defined in packages/caldav/tcl/test/caldav-test-procs.tcl
Create a simple calendar with a few items for testing purposes.
- Switches:
- -user_id (optional)
- -once (optional, boolean)
- -private (optional, boolean, defaults to
"false"
)- Parameters:
- calendar_name (optional, defaults to
"test_calendar"
)- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- basic_caldav_web_request
Source code: if {$user_id eq ""} { # # We use here a password to be able to connect to this # client also via caldav from external clients. # set email caldav-test-user@test.test set user_info [::acs::test::user::create -email $email -password cal789dav] aa_log "USER created: $user_info" set user_id [dict get $user_info user_id] set calendar_name "private calendar of $email" # # Check, if this user has already a private calendar # set priv_calendar_id [::xo::dc get_value get_calendar { select calendar_id from calendars where calendar_name = :calendar_name and private_p = true and owner_id = :user_id } 0] aa_log "select calendar $calendar_name for user $user_id returns $priv_calendar_id" if {$priv_calendar_id == 0} { # # This user does not have a private calendar, create # one with a simple item. # set priv_calendar_id [calendar::create $user_id true $calendar_name] aa_log "created private calendar $priv_calendar_id " aa_true "valid calendar id" {$priv_calendar_id > 0} } else { set priv_cal_item_ids [::xo::dc list get_calitems { select c.cal_item_id from cal_items c where on_which_calendar = :priv_calendar_id }] aa_log "initial calitems for $priv_calendar_id: $priv_cal_item_ids" foreach cal_item_id $priv_cal_item_ids { calendar::item::delete -cal_item_id $cal_item_id } } # # add private calendar items # set cal_item_id1 [calendar::item::new -start_date "2019-04-20 13:19:33.264032+02" -end_date "2019-04-20 14:19:33.264032+02" -name "remember!" -description "my first private entry" -calendar_id $priv_calendar_id] # # recurring item # set cal_item_id2 [calendar::item::new -start_date "2019-01-01 16:00:00.0+02" -end_date "2019-01-01 17:00:00.0+02" -name "My recurring entry" -description "This is a private recurring entry" -calendar_id $priv_calendar_id] set recurrence_id [calendar::item::add_recurrence -cal_item_id $cal_item_id2 -interval_type "day" -every_n 1 -days_of_week "" -recur_until "2019-01-31"] # # all-day event # set cal_item_id3 [calendar::item::new -start_date "2019-01-02 00:00:00" -end_date "2019-01-02 00:00:00" -name "Private All day long" -description "private all day long entry" -calendar_id $priv_calendar_id] } set priv_cal_item_ids [::xo::dc list get_calitems { select c.cal_item_id from cal_items c where on_which_calendar = :priv_calendar_id }] aa_log "found [llength $priv_cal_item_ids] calendar items in private calendar $priv_calendar_id" # # If we have such a test calendar already, just get the cal_items. # set calendar_name "test_calendar" set calendar_id [::xo::dc get_value get_calendar { select calendar_id from calendars where calendar_name = :calendar_name and private_p = :private_p and owner_id = :user_id } 0] if {$calendar_id > 0} { set cal_item_ids [::xo::dc list get_calitems { select c.cal_item_id from cal_items c where on_which_calendar = :calendar_id }] aa_log "found [llength $cal_item_ids] calendar items in calendar $calendar_id" foreach cal_item_id $cal_item_ids { calendar::item::delete -cal_item_id $cal_item_id } } else { # # Create test calendar # set calendar_id [calendar::create $user_id false $calendar_name] aa_log "created calendar $calendar_id " aa_true "valid calendar id" {$calendar_id > 0} } # # Add calendar items # set cal_item_ids {} # make a longer description, add a newline to it. set description [string repeat "This is a sample entry. " 10] set description $description\n$description # simple example from rfc5545 set summary "Project XYZ Final Review\nConference Room - 3B\nCome Prepared." # a name containing characters which have to be escaped set name {Chars needing escaping are \ ; , (see rfc5545 Page 45)} # # simple item # set cal_item_id1 [calendar::item::new -start_date "2019-01-01 13:19:33.264032+02" -end_date "2019-01-01 14:19:33.264032+02" -name $name -description $description -calendar_id $calendar_id] lappend cal_item_ids $cal_item_id1 # # recurring item # set cal_item_id2 [calendar::item::new -start_date "2019-01-01 16:00:00.0+02" -end_date "2019-01-01 17:00:00.0+02" -name "My recurring entry" -description "This is a sample recurring entry" -calendar_id $calendar_id] set recurrence_id [calendar::item::add_recurrence -cal_item_id $cal_item_id2 -interval_type "day" -every_n 1 -days_of_week "" -recur_until "2019-01-31"] lappend cal_item_ids $cal_item_id2 # # all-day event # set cal_item_id3 [calendar::item::new -start_date "2019-01-02 00:00:00" -end_date "2019-01-02 00:00:00" -name "All day long" -description $summary -calendar_id $calendar_id] lappend cal_item_ids $cal_item_id3 return [list calendar_id $calendar_id calendar_name $calendar_name user_id $user_id user_info $user_info cal_item_ids $cal_item_ids priv_calendar_id $priv_calendar_id priv_cal_item_ids $priv_cal_item_ids]XQL Not present: Generic, PostgreSQL, Oracle