40
slmock_server_t freerdp_server_table_after_set_last_used[] = {
41
{"FreeRDP US", "23.21.151.133", "freerdp", FALSE, "Administrator", "", ""},
42
{"FreeRDP Asia", "46.137.222.181", "freerdp", TRUE, "Administrator", "", ""},
43
{"FreeRDP UK", "46.137.189.194", "freerdp", FALSE, "Administrator", "", ""},
40
47
slmock_server_t big_server_table[] = {
41
48
{"XenServer", "107.21.17.35", "ica", FALSE, "", "", "ASIA"},
42
49
{"Citrix2", "http://1.2.3.4", "ica", FALSE, "fakeuser", "fakepassword", "DOMAIN1"},
48
55
slmock_table_t slmock_table[] = {
49
56
{"c", "c", citrix_server_table},
50
57
{"f", "f", freerdp_server_table},
51
{"b", "b", big_server_table}
58
{"b", "b", big_server_table},
59
{"f", "f", freerdp_server_table_after_set_last_used}
141
slmock_check_login(GDBusConnection * session, slmock_table_t * slmockdata)
149
slmock_check_login(GDBusConnection * session, slmock_table_t * slmockdata, gboolean clear_cache)
152
gchar *username_sha = g_compute_checksum_for_string (G_CHECKSUM_SHA256, slmockdata->username, -1);
153
gchar *file_path = g_build_path ("/", g_get_user_cache_dir(), "remote-login-service", "cache", username_sha, NULL);
155
g_free (username_sha);
143
158
GVariant * retval = g_dbus_connection_call_sync(session,
144
159
"com.canonical.RemoteLogin",
145
160
"/com/canonical/RemoteLogin",
200
215
GDBusConnection * session = g_bus_get_sync(G_BUS_TYPE_SESSION, NULL, NULL);
201
216
g_dbus_connection_set_exit_on_close(session, FALSE);
203
g_assert(slmock_check_login(session, (slmock_table_t *)data));
218
g_assert(slmock_check_login(session, (slmock_table_t *)data, TRUE));
205
220
g_object_unref(session);
206
221
g_object_unref(rls);
286
301
GDBusConnection * session = g_bus_get_sync(G_BUS_TYPE_SESSION, NULL, NULL);
287
302
g_dbus_connection_set_exit_on_close(session, FALSE);
289
g_assert(slmock_check_login(session, &slmock_table[0]));
290
g_assert(slmock_check_login(session, &slmock_table[1]));
304
g_assert(slmock_check_login(session, &slmock_table[0], TRUE));
305
g_assert(slmock_check_login(session, &slmock_table[1], TRUE));
292
307
g_object_unref(session);
293
308
g_object_unref(rls);
496
test_setlastused_basic (void)
498
DbusTestService * service = dbus_test_service_new(NULL);
501
DbusTestProcess * rls = dbus_test_process_new(REMOTE_LOGIN_SERVICE);
502
dbus_test_process_append_param(rls, "--config-file=" SLMOCK_CONFIG_FILE);
503
dbus_test_service_add_task(service, DBUS_TEST_TASK(rls));
506
DbusTestTask * dummy = dbus_test_task_new();
507
dbus_test_task_set_wait_for(dummy, "com.canonical.RemoteLogin");
508
dbus_test_service_add_task(service, dummy);
510
/* Get RLS up and running and us on that bus */
511
dbus_test_service_start_tasks(service);
513
GDBusConnection * session = g_bus_get_sync(G_BUS_TYPE_SESSION, NULL, NULL);
514
g_dbus_connection_set_exit_on_close(session, FALSE);
516
g_assert(slmock_check_login(session, &slmock_table[1], TRUE));
518
GError * error = NULL;
519
GVariant * retval = g_dbus_connection_call_sync(session,
520
"com.canonical.RemoteLogin",
521
"/com/canonical/RemoteLogin",
522
"com.canonical.RemoteLogin",
524
g_variant_new("(ss)", "Landscape", freerdp_server_table[1].uri), /* params */
526
G_DBUS_CALL_FLAGS_NONE,
532
g_debug("Error from SetLastUsedServer: %s", error->message);
537
g_assert(retval != NULL);
538
g_assert(g_variant_n_children(retval) == 0);
539
g_variant_unref(retval);
541
g_assert(slmock_check_login(session, &slmock_table[3], FALSE));
543
g_object_unref(session);
545
g_object_unref(service);
480
551
/* Build the test suite */
482
553
test_dbus_suite (void)
489
560
g_test_add_func ("/dbus/interface/GetServers/SLMock/none", test_getservers_slmock_none);
490
561
g_test_add_func ("/dbus/interface/GetServers/SLMock/two", test_getservers_slmock_two);
491
562
g_test_add_func ("/dbus/interface/GetDomains/Basic", test_getdomains_basic);
563
g_test_add_func ("/dbus/interface/SetLastUsed/Basic", test_setlastused_basic);