_acs-authentication__sync_batch_ims_example_doc (private)
_acs-authentication__sync_batch_ims_example_doc
Defined in packages/acs-authentication/tcl/test/sync-test-procs.tcl
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: set _aa_export {} set body_count 1 foreach testcase_body {{ aa_stub acs_sc::invoke { if { $contract eq "auth_sync_retrieve" && $operation eq "GetDocument" } { array set result { doc_status ok doc_message {} document {} snapshot_p f } # Example document grabbed pulled from # http://www.imsglobal.org/enterprise/entv1p1/imsent_bestv1p1.html#1404584 set result(document) { <enterprise> <properties> <datasource>Dunelm Services Limited</datasource> <target>Telecommunications LMS</target> <type>DATABASE UPDATE</type> <datetime>2001-08-08</datetime> </properties> <person recstatus = "1"> <comments>Add a new Person record.</comments> <sourcedid> <source>Dunelm Services Limited</source> <id>CK1</id> </sourcedid> <name> <fn>Clark Kent</fn> <sort>Kent, C</sort> <nickname>Superman</nickname> </name> <demographics> <gender>2</gender> </demographics> <adr> <extadd>The Daily Planet</extadd> <locality>Metropolis</locality> <country>USA</country> </adr> </person> <person recstatus = "2"> <comments>Update a previously created record.</comments> <sourcedid> <source>Dunelm Services Limited</source> <id>CS1</id> </sourcedid> <name> <fn>Colin Smythe</fn> <sort>Smythe, C</sort> <nickname>Colin</nickname> <n> <family>Smythe</family> <given>Colin</given> <other>Manfred</other> <other>Wingarde</other> <prefix>Dr.</prefix> <suffix>C.Eng</suffix> <partname partnametype = "Initials">C.M.W.</partname> </n> </name> <demographics> <gender>2</gender> <bday>1958-02-18</bday> <disability>None.</disability> </demographics> <email>colin@dunelm.com</email> <url>http://www.dunelm.com</url> <tel teltype = "Mobile">4477932335019</tel> <adr> <extadd>Dunelm Services Limited</extadd> <street>34 Acorn Drive</street> <street>Stannington</street> <locality> Sheffield</locality> <region>S.Yorks</region> <pcode>S7 6WA</pcode> <country>UK</country> </adr> <photo imgtype = "gif"> <extref>http://www.dunelm.com/staff/colin2.gif</extref> </photo> <institutionrole primaryrole = "No" institutionroletype = "Alumni"/> <datasource>dunelm:colinsmythe:1</datasource> </person> <person recstatus = "3"> <comments>Delete this record.</comments> <sourcedid> <source>Dunelm Services Limited</source> <id>LL1</id> </sourcedid> <name> <fn>Lois Lane</fn> <sort>Lane, L</sort> </name> </person> </enterprise> } return [array get result] } else { acs_sc::invoke_unstubbed -contract $contract -operation $operation -impl $impl -impl_id $impl_id -call_args $call_args -error=$error_p } } aa_run_with_teardown -rollback -test_code { # Create a new dummy authority with the dummy IMS get-document driver and the IMS Enterprise 1.1 process driver. array set new_auth { short_name dummy-test pretty_name dummy-test enabled_p t sort_order 999 auth_impl_id {} pwd_impl_id {} forgotten_pwd_url {} change_pwd_url {} register_impl_id {} register_url {} help_contact_text {} batch_sync_enabled_p f } set new_auth(get_doc_impl_id) 1 set new_auth(process_doc_impl_id) [acs_sc::impl::get_id -owner "acs-authentication" -name "IMS_Enterprise_v_1p1"] set new_auth(get_doc_impl_id) [acs_sc::impl::get_id -owner "acs-authentication" -name "HTTPGet"] set authority_id [auth::authority::create -array new_auth] set job_id [auth::authority::batch_sync -authority_id $authority_id] auth::sync::job::get -job_id $job_id -array job aa_equals "Number of actions" $job(num_actions) 3 aa_equals "Number of problems" $job(num_problems) 3 foreach entry_id [auth::sync::job::get_entries -job_id $job_id] { array unset entry auth::sync::job::get_entry -entry_id $entry_id -array entry aa_false "Success_p is false" [string is true -strict $entry(success_p)] array unset elm_msgs array set elm_msgs $entry(element_messages) aa_log "entry.operation = '$entry(operation)'" aa_log "entry.username = '$entry(username)'" aa_log "entry.message = '$entry(message)'" aa_log "array names elm_msgs = '[array names elm_msgs]'" switch $entry(operation) { insert { aa_true "email has a problem (email missing)" [util_sets_equal_p { email } [array names elm_msgs]] } update { aa_true "User does not exist" {$entry(message) ne ""} } delete { aa_false "Message is not empty" {$entry(message) eq ""} } } } aa_log "job.message = '$job(message)'" } }} { aa_log "Running testcase body $body_count" set ::__aa_test_indent [info level] set catch_val [catch $testcase_body msg] if {$catch_val != 0 && $catch_val != 2} { aa_log_result "fail" "sync_batch_ims_example_doc (body $body_count): Error during execution: $msg, stack trace: \n$::errorInfo" } incr body_count }XQL Not present: Generic, PostgreSQL, Oracle