"http://tizen.org/privilege/appmanager.launch");
}
+TEST_F(ManifestTest, AppDefinedPrivilegesElement_Invalid_OverLength) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, AppDefinedPrivilegesElement_Invalid_NotURI) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, AppDefinedPrivilegesElement_Invalid_NoPKGID) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, AppDefinedPrivilegesElement_Valid) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_TRUE(runner.Run());
+ manifest_x* m = runner.GetManifest();
+ ASSERT_NE(m, nullptr);
+ auto privileges =
+ GListRange<appdefined_privilege_x*>(m->appdefined_privileges);
+ ASSERT_EQ(Size(&privileges), 1);
+ ASSERT_CSTR_EQ((*privileges.begin())->value,
+ "http://package0id/appdefined/test.read");
+}
+
+TEST_F(ManifestTest, AppDefinedPrivilegesElement_WithLicenseValid) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_TRUE(runner.Run());
+ manifest_x* m = runner.GetManifest();
+ ASSERT_NE(m, nullptr);
+ auto privileges =
+ GListRange<appdefined_privilege_x*>(m->appdefined_privileges);
+ ASSERT_EQ(Size(&privileges), 1);
+ ASSERT_CSTR_EQ((*privileges.begin())->value,
+ "http://package0id/appdefined/test.read");
+ bf::path path(m->root_path);
+ path /= "res/cert";
+ ASSERT_CSTR_EQ((*privileges.begin())->license, path.c_str());
+}
+
+TEST_F(ManifestTest, AppDefinedPrivilegesElement_Many) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_TRUE(runner.Run());
+ manifest_x* m = runner.GetManifest();
+ ASSERT_NE(m, nullptr);
+ auto privileges =
+ GListRange<appdefined_privilege_x*>(m->appdefined_privileges);
+ ASSERT_EQ(Size(&privileges), 2);
+ ASSERT_CSTR_EQ(((*privileges.begin()))->value,
+ "http://package0id/appdefined/test.read");
+ ASSERT_CSTR_EQ(((*++privileges.begin()))->value,
+ "http://package0id/appdefined/test.write");
+}
+
+TEST_F(ManifestTest, AppDefinedPrivilegesElement_WithLicenseMany) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_TRUE(runner.Run());
+ manifest_x* m = runner.GetManifest();
+ ASSERT_NE(m, nullptr);
+ auto privileges =
+ GListRange<appdefined_privilege_x*>(m->appdefined_privileges);
+ ASSERT_EQ(Size(&privileges), 2);
+ ASSERT_CSTR_EQ(((*privileges.begin()))->value,
+ "http://package0id/appdefined/test.read");
+ bf::path path(m->root_path);
+ path /= "res/cert";
+ ASSERT_CSTR_EQ(((*privileges.begin()))->license, path.c_str());
+ ASSERT_CSTR_EQ(((*++privileges.begin()))->value,
+ "http://package0id/appdefined/test.write");
+ ASSERT_CSTR_EQ(((*++privileges.begin()))->license, path.c_str());
+}
+
+TEST_F(ManifestTest, ProvidesAppDefinedPrivilegesElement_Missing) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_TRUE(runner.Run());
+ manifest_x* m = runner.GetManifest();
+ ASSERT_NE(m, nullptr);
+ auto privileges =
+ GListRange<appdefined_privilege_x*>(m->provides_appdefined_privileges);
+ ASSERT_EQ(Size(&privileges), 0);
+}
+
+TEST_F(ManifestTest, ProvidesAppDefinedPrivilegesElement_None) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_TRUE(runner.Run());
+ manifest_x* m = runner.GetManifest();
+ ASSERT_NE(m, nullptr);
+ auto privileges =
+ GListRange<appdefined_privilege_x*>(m->provides_appdefined_privileges);
+ ASSERT_EQ(Size(&privileges), 0);
+}
+
+TEST_F(ManifestTest, ProvidesAppDefinedPrivilegesElement_Invalid_OverLength) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, ProvidesAppDefinedPrivilegesElement_Invalid_NotURI) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, ProvidesAppDefinedPrivilegesElement_Invalid_NoPKGID) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, ProvidesAppDefinedPrivilegesElement_Valid) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_TRUE(runner.Run());
+ manifest_x* m = runner.GetManifest();
+ ASSERT_NE(m, nullptr);
+ auto privileges =
+ GListRange<appdefined_privilege_x*>(m->provides_appdefined_privileges);
+ ASSERT_EQ(Size(&privileges), 1);
+ ASSERT_CSTR_EQ((*privileges.begin())->value,
+ "http://package0id/appdefined/test.read");
+}
+
+TEST_F(ManifestTest, ProvidesAppDefinedPrivilegesElement_WithLicenseValid) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_TRUE(runner.Run());
+ manifest_x* m = runner.GetManifest();
+ ASSERT_NE(m, nullptr);
+ auto privileges =
+ GListRange<appdefined_privilege_x*>(m->provides_appdefined_privileges);
+ ASSERT_EQ(Size(&privileges), 1);
+ ASSERT_CSTR_EQ((*privileges.begin())->value,
+ "http://package0id/appdefined/test.read");
+ bf::path path(m->root_path);
+ path /= "res/cert";
+ ASSERT_CSTR_EQ((*privileges.begin())->license, path.c_str());
+}
+
+TEST_F(ManifestTest, ProvidesAppDefinedPrivilegesElement_Many) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_TRUE(runner.Run());
+ manifest_x* m = runner.GetManifest();
+ ASSERT_NE(m, nullptr);
+ auto privileges =
+ GListRange<appdefined_privilege_x*>(m->provides_appdefined_privileges);
+ ASSERT_EQ(Size(&privileges), 2);
+ ASSERT_CSTR_EQ(((*privileges.begin()))->value,
+ "http://package0id/appdefined/test.read");
+ ASSERT_CSTR_EQ(((*++privileges.begin()))->value,
+ "http://package0id/appdefined/test.write");
+}
+
+TEST_F(ManifestTest, ProvidesAppDefinedPrivilegesElement_WithLicenseMany) {
+ StepParseRunner runner(GetMyName());
+ ASSERT_TRUE(runner.Run());
+ manifest_x* m = runner.GetManifest();
+ ASSERT_NE(m, nullptr);
+ auto privileges =
+ GListRange<appdefined_privilege_x*>(m->provides_appdefined_privileges);
+ ASSERT_EQ(Size(&privileges), 2);
+ ASSERT_CSTR_EQ(((*privileges.begin()))->value,
+ "http://package0id/appdefined/test.read");
+ bf::path path(m->root_path);
+ path /= "res/cert";
+ ASSERT_CSTR_EQ(((*privileges.begin()))->license, path.c_str());
+ ASSERT_CSTR_EQ(((*++privileges.begin()))->value,
+ "http://package0id/appdefined/test.write");
+ ASSERT_CSTR_EQ(((*++privileges.begin()))->license, path.c_str());
+}
+
TEST_F(ManifestTest, ProfileElement_Missing) {
StepParseRunner runner(GetMyName());
ASSERT_TRUE(runner.Run());