145
145
mapitest_indent();
146
146
for (i = 0; inbox_folders[i].name; i++) {
147
147
mapi_object_init(&obj_folder);
148
GetDefaultFolder(&obj_store, &id_folder, inbox_folders[i].id);
148
retval = GetDefaultFolder(&obj_store, &id_folder, inbox_folders[i].id);
149
mapitest_print_retval_fmt(mt, "GetDefaultFolder", "(%s)", inbox_folders[i].name);
150
if (retval != MAPI_E_SUCCESS) {
149
153
retval = OpenFolder(&obj_store, id_folder, &obj_folder);
150
154
mapitest_print_retval_fmt(mt, "OpenFolder", "(%s)", inbox_folders[i].name);
151
155
if (retval != MAPI_E_SUCCESS) {
169
\details Test the CreateFolder (0x1c) and DeleteFolder (0x??) operations
171
This is a simpler version of the CreateFolder test below.
174
-# Log on the user private mailbox
175
-# Open the top information folder
176
-# Create a test directory
179
\param mt the top-level mapitest structure
181
\return true on success, otherwise false
183
_PUBLIC_ bool mapitest_oxcfold_CreateDeleteFolder(struct mapitest *mt)
185
enum MAPISTATUS retval;
186
mapi_object_t obj_store;
187
mapi_object_t obj_folder;
188
mapi_object_t obj_top;
192
mapi_object_init(&obj_store);
193
retval = OpenMsgStore(mt->session, &obj_store);
194
mapitest_print_retval(mt, "OpenMsgStore");
195
if (GetLastError() != MAPI_E_SUCCESS) {
199
/* Step 2. Open Top Information Store folder */
200
mapi_object_init(&obj_folder);
201
retval = GetDefaultFolder(&obj_store, &id_folder, olFolderTopInformationStore);
202
retval = OpenFolder(&obj_store, id_folder, &obj_folder);
203
if (GetLastError() != MAPI_E_SUCCESS) {
207
/* Step 3. Create the top test folder */
208
mapitest_print(mt, "* Create GENERIC \"%s\" folder\n", MT_DIRNAME_TOP);
209
mapi_object_init(&obj_top);
210
retval = CreateFolder(&obj_folder, FOLDER_GENERIC, MT_DIRNAME_TOP, NULL,
211
OPEN_IF_EXISTS, &obj_top);
212
mapitest_print_retval(mt, "CreateFolder");
213
if (GetLastError() != MAPI_E_SUCCESS) {
218
/* Step 4. DeleteFolder */
219
retval = DeleteFolder(&obj_folder, mapi_object_get_id(&obj_top),
220
DEL_MESSAGES|DEL_FOLDERS|DELETE_HARD_DELETE, NULL);
221
mapitest_print_retval(mt, "DeleteFolder");
224
mapi_object_release(&obj_top);
225
mapi_object_release(&obj_folder);
226
mapi_object_release(&obj_store);
166
233
\details Test the CreateFolder (0x1c) operation
187
254
mapi_object_t obj_child;
188
255
mapi_id_t id_folder;
191
259
/* Step 1. Logon */
192
260
mapi_object_init(&obj_store);
261
mapi_object_init(&obj_folder);
262
mapi_object_init(&obj_top);
193
263
retval = OpenMsgStore(mt->session, &obj_store);
194
264
mapitest_print_retval(mt, "OpenMsgStore");
195
if (GetLastError() != MAPI_E_SUCCESS) {
265
if (retval != MAPI_E_SUCCESS) {
199
270
/* Step 2. Open Top Information Store folder */
200
mapi_object_init(&obj_folder);
201
271
retval = GetDefaultFolder(&obj_store, &id_folder, olFolderTopInformationStore);
272
if (retval != MAPI_E_SUCCESS) {
202
276
retval = OpenFolder(&obj_store, id_folder, &obj_folder);
203
if (GetLastError() != MAPI_E_SUCCESS) {
277
if (retval != MAPI_E_SUCCESS) {
207
282
/* Step 3. Create the top test folder */
208
283
mapitest_print(mt, "* Create GENERIC \"%s\" folder\n", MT_DIRNAME_TOP);
209
mapi_object_init(&obj_top);
210
284
retval = CreateFolder(&obj_folder, FOLDER_GENERIC, MT_DIRNAME_TOP, NULL,
211
285
OPEN_IF_EXISTS, &obj_top);
212
286
mapitest_print_retval(mt, "CreateFolder");
213
if (GetLastError() != MAPI_E_SUCCESS) {
287
if (retval != MAPI_E_SUCCESS) {
217
292
/* Step 4. Create sub directories */
223
298
retval = CreateFolder(&obj_top, FOLDER_GENERIC, subfolders[i].name, NULL,
224
299
OPEN_IF_EXISTS, &obj_child);
225
300
mapitest_print_retval_fmt(mt, "CreateFolder", "(%s)", subfolders[i].name);
301
if (retval != MAPI_E_SUCCESS) {
303
mapi_object_release(&obj_child);
227
307
/* Step 4.2. Set its container class */
228
308
set_SPropValue_proptag(&lpProp[0], PR_CONTAINER_CLASS, (const void *) subfolders[i].class);
229
309
retval = SetProps(&obj_child, lpProp, 1);
230
310
mapitest_print_retval_fmt(mt, "SetProps", "(%s)", subfolders[i].name);
311
if (retval != MAPI_E_SUCCESS) {
313
mapi_object_release(&obj_child);
232
317
mapi_object_release(&obj_child);
234
319
mapitest_deindent();
236
321
/* Step 5. Empty Folder */
237
322
retval = EmptyFolder(&obj_top);
238
323
mapitest_print_retval(mt, "EmptyFolder");
324
if (retval != MAPI_E_SUCCESS) {
240
329
/* Step 6. DeleteFolder */
241
330
retval = DeleteFolder(&obj_folder, mapi_object_get_id(&obj_top),
242
331
DEL_MESSAGES|DEL_FOLDERS|DELETE_HARD_DELETE, NULL);
243
332
mapitest_print_retval(mt, "DeleteFolder");
333
if (retval != MAPI_E_SUCCESS) {
246
340
mapi_object_release(&obj_top);
247
341
mapi_object_release(&obj_folder);
632
727
mapi_object_init(&obj_store);
633
728
retval = OpenMsgStore(mt->session, &obj_store);
634
729
mapitest_print_retval(mt, "OpenMsgStore");
635
if (GetLastError() != MAPI_E_SUCCESS) {
730
if (retval != MAPI_E_SUCCESS) {
644
739
retval = OpenFolder(&obj_store, id_folder, &obj_folder_src);
645
740
mapitest_print_retval(mt, "OpenFolder");
646
if (GetLastError() != MAPI_E_SUCCESS) {
741
if (retval != MAPI_E_SUCCESS) {
655
750
retval = OpenFolder(&obj_store, id_folder, &obj_folder_dst);
656
751
mapitest_print_retval(mt, "OpenFolder");
657
if (GetLastError() != MAPI_E_SUCCESS) {
752
if (retval != MAPI_E_SUCCESS) {
660
755
mapi_object_init(&(dst_contents));
661
756
retval = GetContentsTable(&(obj_folder_dst), &(dst_contents), 0, &dst_count);
662
757
mapitest_print_retval(mt, "GetContentsTable");
663
if (GetLastError() != MAPI_E_SUCCESS) {
758
if (retval != MAPI_E_SUCCESS) {
667
763
/* Step 4. Create sample messages */
668
764
mapi_id_array_init(&msg_id_array);
669
765
for (i = 0; i < 3; i++) {
670
766
mapi_object_init(&obj_message);
671
retval = mapitest_common_message_create(mt, &obj_folder_src, &obj_message, MT_MAIL_SUBJECT);
672
mapitest_print_retval(mt, "mapitest_common_message_create");
673
if (GetLastError() != MAPI_E_SUCCESS) {
767
common_result = mapitest_common_message_create(mt, &obj_folder_src, &obj_message, MT_MAIL_SUBJECT);
768
if (!common_result) {
769
mapitest_print(mt, "* mapitest_common_message_create() failed");
677
774
retval = SaveChangesMessage(&obj_folder_src, &obj_message, KeepOpenReadOnly);
678
775
mapitest_print_retval(mt, "SaveChangesMessage");
679
776
if (retval != MAPI_E_SUCCESS) {
682
780
mapi_id_array_add_obj(&msg_id_array, &obj_message);
683
781
mapi_object_release(&obj_message);
701
800
retval = Restrict(&(dst_contents), &res, NULL);
702
801
mapitest_print_retval(mt, "Restrict");
703
if (GetLastError() != MAPI_E_SUCCESS) {
802
if (retval != MAPI_E_SUCCESS) {
707
807
/* Step 7. Get the filtered row */
708
808
SPropTagArray = set_SPropTagArray(mt->mem_ctx, 0x1, PR_MID);
709
SetColumns(&(dst_contents), SPropTagArray);
809
retval = SetColumns(&(dst_contents), SPropTagArray);
710
810
mapitest_print_retval(mt, "SetColumns");
711
811
MAPIFreeBuffer(SPropTagArray);
812
if (retval != MAPI_E_SUCCESS) {
713
QueryRows(&(dst_contents), 20, TBL_NOADVANCE, &SRowSet);
817
retval = QueryRows(&(dst_contents), 20, TBL_NOADVANCE, &SRowSet);
714
818
mapitest_print_retval(mt, "QueryRows");
715
819
if ( (retval == MAPI_E_SUCCESS) && (SRowSet.cRows > 0) ) {
716
820
for (i = 0; i < SRowSet.cRows; ++i) {
722
826
retval = DeleteMessage(&obj_folder_dst, msgid, i);
723
827
mapitest_print_retval(mt, "DeleteMessage");
831
mapi_object_release(&dst_contents);
726
832
mapi_object_release(&obj_folder_src);
727
833
mapi_object_release(&obj_folder_dst);
728
834
mapi_object_release(&obj_store);
981
1087
/* Step 1. Logon */
982
1088
mapi_object_init(&obj_store);
983
1089
mapi_object_init(&obj_folder);
1090
mapi_object_init(&contents);
985
1092
retval = OpenMsgStore(mt->session, &obj_store);
986
1093
mapitest_print_retval(mt, "OpenMsgStore");
1007
mapi_object_init(&(contents));
1008
GetContentsTable(&(obj_folder), &(contents), 0, &count);
1114
retval = GetContentsTable(&(obj_folder), &(contents), 0, &count);
1009
1115
mapitest_print_retval(mt, "GetContentsTable");
1010
1116
if (retval != MAPI_E_SUCCESS) {
1057
1163
retval = QueryRows(&(contents), 50, TBL_NOADVANCE, &SRowSet);
1058
1164
mapitest_print_retval(mt, "QueryRows");
1059
if ( (retval == MAPI_E_SUCCESS) && (SRowSet.cRows >= 0) ) {
1165
if (retval == MAPI_E_SUCCESS) {
1060
1166
for (i = 0; i < SRowSet.cRows; ++i) {
1061
1167
msgid[i] = SRowSet.aRow[i].lpProps[0].value.d;