304
304
DbusTestDbusMockObject * obj = dbus_test_dbus_mock_get_object(mock, "/com/test/application_click", "com.ubuntu.Upstart0_6.Job", NULL);
306
306
/* Basic make sure we can send the event */
307
ASSERT_TRUE(upstart_app_launch_start_application("foolike", NULL));
307
ASSERT_TRUE(ubuntu_app_launch_start_application("foolike", NULL));
308
308
EXPECT_EQ(1, dbus_test_dbus_mock_object_check_method_call(mock, obj, "Start", NULL, NULL));
310
310
ASSERT_TRUE(dbus_test_dbus_mock_object_clear_method_calls(mock, obj, NULL));
312
312
/* Now look at the details of the call */
313
ASSERT_TRUE(upstart_app_launch_start_application("foolike", NULL));
313
ASSERT_TRUE(ubuntu_app_launch_start_application("foolike", NULL));
316
316
const DbusTestDbusMockCall * calls = dbus_test_dbus_mock_object_get_method_calls(mock, obj, "Start", &len, NULL);
389
389
TEST_F(LibUAL, ApplicationLog)
391
gchar * click_log = upstart_app_launch_application_log_path("foo");
391
gchar * click_log = ubuntu_app_launch_application_log_path("foo");
392
392
EXPECT_STREQ(CMAKE_SOURCE_DIR "/upstart/application-click-foo.log", click_log);
393
393
g_free(click_log);
395
gchar * legacy_single = upstart_app_launch_application_log_path("single");
395
gchar * legacy_single = ubuntu_app_launch_application_log_path("single");
396
396
EXPECT_STREQ(CMAKE_SOURCE_DIR "/upstart/application-legacy-single-.log", legacy_single);
397
397
g_free(legacy_single);
399
gchar * legacy_multiple = upstart_app_launch_application_log_path("bar");
399
gchar * legacy_multiple = ubuntu_app_launch_application_log_path("bar");
400
400
EXPECT_STREQ(CMAKE_SOURCE_DIR "/upstart/application-legacy-bar-2342345.log", legacy_multiple);
401
401
g_free(legacy_multiple);
404
404
TEST_F(LibUAL, ApplicationPid)
406
EXPECT_EQ(upstart_app_launch_get_primary_pid("foo"), getpid());
407
EXPECT_EQ(upstart_app_launch_get_primary_pid("bar"), 5678);
408
EXPECT_TRUE(upstart_app_launch_pid_in_app_id(getpid(), "foo"));
409
EXPECT_FALSE(upstart_app_launch_pid_in_app_id(5678, "foo"));
406
EXPECT_EQ(ubuntu_app_launch_get_primary_pid("foo"), getpid());
407
EXPECT_EQ(ubuntu_app_launch_get_primary_pid("bar"), 5678);
408
EXPECT_TRUE(ubuntu_app_launch_pid_in_app_id(getpid(), "foo"));
409
EXPECT_FALSE(ubuntu_app_launch_pid_in_app_id(5678, "foo"));
412
412
TEST_F(LibUAL, ApplicationId)
415
415
g_setenv("TEST_CLICK_USER", "test-user", TRUE);
417
417
/* Test with current-user-version, should return the version in the manifest */
418
EXPECT_STREQ("com.test.good_application_1.2.3", upstart_app_launch_triplet_to_app_id("com.test.good", "application", "current-user-version"));
418
EXPECT_STREQ("com.test.good_application_1.2.3", ubuntu_app_launch_triplet_to_app_id("com.test.good", "application", "current-user-version"));
420
420
/* Test with version specified, shouldn't even read the manifest */
421
EXPECT_STREQ("com.test.good_application_1.2.4", upstart_app_launch_triplet_to_app_id("com.test.good", "application", "1.2.4"));
421
EXPECT_STREQ("com.test.good_application_1.2.4", ubuntu_app_launch_triplet_to_app_id("com.test.good", "application", "1.2.4"));
423
423
/* Test with out a version or app, should return the version in the manifest */
424
EXPECT_STREQ("com.test.good_application_1.2.3", upstart_app_launch_triplet_to_app_id("com.test.good", "first-listed-app", "current-user-version"));
424
EXPECT_STREQ("com.test.good_application_1.2.3", ubuntu_app_launch_triplet_to_app_id("com.test.good", "first-listed-app", "current-user-version"));
426
426
/* Test with a version or but wildcard app, should return the version in the manifest */
427
EXPECT_STREQ("com.test.good_application_1.2.4", upstart_app_launch_triplet_to_app_id("com.test.good", "last-listed-app", "1.2.4"));
427
EXPECT_STREQ("com.test.good_application_1.2.4", ubuntu_app_launch_triplet_to_app_id("com.test.good", "last-listed-app", "1.2.4"));
429
429
/* Make sure we can select the app from a list correctly */
430
EXPECT_STREQ("com.test.multiple_first_1.2.3", upstart_app_launch_triplet_to_app_id("com.test.multiple", "first-listed-app", NULL));
431
EXPECT_STREQ("com.test.multiple_first_1.2.3", upstart_app_launch_triplet_to_app_id("com.test.multiple", NULL, NULL));
432
EXPECT_STREQ("com.test.multiple_fifth_1.2.3", upstart_app_launch_triplet_to_app_id("com.test.multiple", "last-listed-app", NULL));
433
EXPECT_EQ(nullptr, upstart_app_launch_triplet_to_app_id("com.test.multiple", "only-listed-app", NULL));
434
EXPECT_STREQ("com.test.good_application_1.2.3", upstart_app_launch_triplet_to_app_id("com.test.good", "only-listed-app", NULL));
430
EXPECT_STREQ("com.test.multiple_first_1.2.3", ubuntu_app_launch_triplet_to_app_id("com.test.multiple", "first-listed-app", NULL));
431
EXPECT_STREQ("com.test.multiple_first_1.2.3", ubuntu_app_launch_triplet_to_app_id("com.test.multiple", NULL, NULL));
432
EXPECT_STREQ("com.test.multiple_fifth_1.2.3", ubuntu_app_launch_triplet_to_app_id("com.test.multiple", "last-listed-app", NULL));
433
EXPECT_EQ(nullptr, ubuntu_app_launch_triplet_to_app_id("com.test.multiple", "only-listed-app", NULL));
434
EXPECT_STREQ("com.test.good_application_1.2.3", ubuntu_app_launch_triplet_to_app_id("com.test.good", "only-listed-app", NULL));
436
436
/* A bunch that should be NULL */
437
EXPECT_EQ(nullptr, upstart_app_launch_triplet_to_app_id("com.test.no-hooks", NULL, NULL));
438
EXPECT_EQ(nullptr, upstart_app_launch_triplet_to_app_id("com.test.no-json", NULL, NULL));
439
EXPECT_EQ(nullptr, upstart_app_launch_triplet_to_app_id("com.test.no-object", NULL, NULL));
440
EXPECT_EQ(nullptr, upstart_app_launch_triplet_to_app_id("com.test.no-version", NULL, NULL));
437
EXPECT_EQ(nullptr, ubuntu_app_launch_triplet_to_app_id("com.test.no-hooks", NULL, NULL));
438
EXPECT_EQ(nullptr, ubuntu_app_launch_triplet_to_app_id("com.test.no-json", NULL, NULL));
439
EXPECT_EQ(nullptr, ubuntu_app_launch_triplet_to_app_id("com.test.no-object", NULL, NULL));
440
EXPECT_EQ(nullptr, ubuntu_app_launch_triplet_to_app_id("com.test.no-version", NULL, NULL));
443
443
TEST_F(LibUAL, AppIdParse)
445
EXPECT_TRUE(upstart_app_launch_app_id_parse("com.ubuntu.test_test_123", NULL, NULL, NULL));
446
EXPECT_FALSE(upstart_app_launch_app_id_parse("inkscape", NULL, NULL, NULL));
447
EXPECT_FALSE(upstart_app_launch_app_id_parse("music-app", NULL, NULL, NULL));
445
EXPECT_TRUE(ubuntu_app_launch_app_id_parse("com.ubuntu.test_test_123", NULL, NULL, NULL));
446
EXPECT_FALSE(ubuntu_app_launch_app_id_parse("inkscape", NULL, NULL, NULL));
447
EXPECT_FALSE(ubuntu_app_launch_app_id_parse("music-app", NULL, NULL, NULL));
453
ASSERT_TRUE(upstart_app_launch_app_id_parse("com.ubuntu.test_test_123", &pkg, &app, &version));
453
ASSERT_TRUE(ubuntu_app_launch_app_id_parse("com.ubuntu.test_test_123", &pkg, &app, &version));
454
454
EXPECT_STREQ("com.ubuntu.test", pkg);
455
455
EXPECT_STREQ("test", app);
456
456
EXPECT_STREQ("123", version);
934
934
DbusTestDbusMockObject * obj = dbus_test_dbus_mock_get_object(mock, "/com/test/untrusted/helper", "com.ubuntu.Upstart0_6.Job", NULL);
936
936
/* Basic make sure we can send the event */
937
ASSERT_TRUE(upstart_app_launch_start_helper("untrusted-type", "foolike", NULL));
937
ASSERT_TRUE(ubuntu_app_launch_start_helper("untrusted-type", "foolike", NULL));
938
938
EXPECT_EQ(1, dbus_test_dbus_mock_object_check_method_call(mock, obj, "Start", NULL, NULL));
940
940
ASSERT_TRUE(dbus_test_dbus_mock_object_clear_method_calls(mock, obj, NULL));
942
942
/* Now look at the details of the call */
943
ASSERT_TRUE(upstart_app_launch_start_helper("untrusted-type", "foolike", NULL));
943
ASSERT_TRUE(ubuntu_app_launch_start_helper("untrusted-type", "foolike", NULL));
946
946
const DbusTestDbusMockCall * calls = dbus_test_dbus_mock_object_get_method_calls(mock, obj, "Start", &len, NULL);