From: <svn...@op...> - 2009-09-30 11:27:36
|
Author: bellmich Date: Wed Sep 30 13:27:21 2009 New Revision: 1292 URL: http://libsyncml.opensync.org/changeset/1292 Log: added two tests for the new option MAX_MSG_CHANGES Modified: trunk/tests/CMakeLists.txt trunk/tests/check_data_sync_api.c Modified: trunk/tests/CMakeLists.txt ============================================================================== --- trunk/tests/CMakeLists.txt Wed Sep 30 13:11:44 2009 (r1291) +++ trunk/tests/CMakeLists.txt Wed Sep 30 13:27:21 2009 (r1292) @@ -520,6 +520,9 @@ SML_ADD_TESTCASE( ds_api_single_client_multi_text_vcard_21 ) SML_ADD_TESTCASE( ds_api_multi_client_single_text_vcard_21 ) SML_ADD_TESTCASE( ds_api_multi_client_multi_text_vcard_21 ) + SML_ADD_TESTCASE( ds_api_max_msg_changes_empty ) + SML_ADD_TESTCASE( ds_api_max_msg_changes_single ) + SML_ADD_TESTCASE( ds_api_max_msg_changes_multi ) SML_END_TEST() ENDIF ( ENABLE_OPENOBEX_TCP OR ENABLE_HTTP ) Modified: trunk/tests/check_data_sync_api.c ============================================================================== --- trunk/tests/check_data_sync_api.c Wed Sep 30 13:11:44 2009 (r1291) +++ trunk/tests/check_data_sync_api.c Wed Sep 30 13:27:21 2009 (r1292) @@ -130,8 +130,9 @@ sml_fail_unless(sml_data_sync_data_store_session_add_change(dss, item, NULL, error), "%s", GET_ERROR_MESSAGE((*error))); } - smlTrace(TRACE_EXIT, "%s", __func__); - return sml_data_sync_session_send_changes(session, error); + gboolean result = sml_data_sync_session_send_changes(session, error); + smlTrace(TRACE_EXIT, "%s - %d", __func__); + return result; } static void @@ -141,7 +142,7 @@ void *userdata, const GError *error) { - smlTrace(TRACE_ENTRY, "%s(%p, %i, %p, %p)", __func__, dsObject, type, userdata, error); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %i, %p, %p)", __func__, session, dsObject, type, userdata, error); GError *locerror = NULL; SmlDataSyncTestClient *client = NULL; @@ -901,5 +902,66 @@ } END_TEST +void +test_ds_api_max_msg_changes (const char *port, + const char *max) +{ + GError *error = NULL; + init_testbed(1, "HTTP", port); + if (!sml_data_sync_set_option(server, SML_DATA_SYNC_CONFIG_MAX_MSG_CHANGES, max, &error)) + goto error; + + /* register datastore + * the source must be identical because this is http + */ + + SmlDataSyncTestClient *client = clients->data; + client->data_store = sml_data_sync_data_store_new(); + sml_data_sync_data_store_set_content_type (client->data_store, "text/x-vcard"); + sml_data_sync_data_store_set_local_uri (client->data_store, "contacts"); + sml_data_sync_data_store_register_change_callback(client->data_store, clientRecvChangeCallback, NULL); + if (!sml_data_sync_add_data_store(client->client, client->data_store, &error)) + goto error; + + server_data_store = sml_data_sync_data_store_new(); + sml_data_sync_data_store_set_content_type (server_data_store, "text/x-vcard"); + sml_data_sync_data_store_set_local_uri (server_data_store, "contacts"); + sml_data_sync_data_store_register_change_callback(server_data_store, serverRecvChangeCallback, NULL); + sml_data_sync_data_store_register_mapping_callback(server_data_store, serverRecvMappingCallback, NULL); + if (!sml_data_sync_add_data_store(server, server_data_store, &error)) + goto error; + + /* configure test data */ + int max_items = 1000; + int i; + for(i = 0; i < max_items; i++) { + client->items = g_list_append(client->items, g_strdup_printf("client 1 data %d", (i+1))); + } + + run_testbed(); + + return; +error: + sml_fail_unless(FALSE, "%s", error->message); +} + +START_TEST (ds_api_max_msg_changes_empty) +{ + test_ds_api_max_msg_changes("17007", "0"); +} +END_TEST + +START_TEST (ds_api_max_msg_changes_single) +{ + test_ds_api_max_msg_changes("17008", "1"); +} +END_TEST + +START_TEST (ds_api_max_msg_changes_multi) +{ + test_ds_api_max_msg_changes("17009", "5"); +} +END_TEST + @SML_TESTCASE_CODE@ |