Fix mandatory keys 84/250184/1
authorSangyoon Jang <jeremy.jang@samsung.com>
Tue, 22 Dec 2020 01:06:51 +0000 (10:06 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Tue, 22 Dec 2020 01:06:51 +0000 (10:06 +0900)
Our initial design has some keys under "header" key.

title -> hedaer/title
description -> header/description
resolution -> header/resolution

Change-Id: I3c598acc7390166a483f25e854a9edf014e2952a
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
21 files changed:
src/theme/loader/theme_info.cc
src/theme_plugin/theme_parser.cc
test/unit_tests/test_samples/res/test_theme.json
test/unit_tests/test_samples/test_deep_depth_array_N.json
test/unit_tests/test_samples/test_deep_depth_array_P.json
test/unit_tests/test_samples/test_deep_depth_key_N.json
test/unit_tests/test_samples/test_deep_depth_key_P.json
test/unit_tests/test_samples/test_different_array_element_type.json
test/unit_tests/test_samples/test_empty_array.json
test/unit_tests/test_samples/test_invalid_json.json
test/unit_tests/test_samples/test_long_length_key_N.json
test/unit_tests/test_samples/test_long_length_key_P.json
test/unit_tests/test_samples/test_long_length_value_N.json
test/unit_tests/test_samples/test_long_length_value_N2.json
test/unit_tests/test_samples/test_long_length_value_P.json
test/unit_tests/test_samples/test_missed_mandatory_key.json
test/unit_tests/test_samples/test_multidimensional_array.json
test/unit_tests/test_samples/test_theme.json
test/unit_tests/test_theme.cc
test/unit_tests/test_theme_info_proxy.cc
test/unit_tests/test_theme_parser.cc

index e43e019972880d7a48f08afc73e957f157cc1b6f..4d70af69d8fa2d2e8686f75bc05147c7a28e6a79 100644 (file)
@@ -78,11 +78,11 @@ std::string ThemeInfo::GetToolVersion() const {
 }
 
 std::string ThemeInfo::GetTitle() const {
-  return bundle_.GetString("/title");
+  return bundle_.GetString("/header/title");
 }
 
 std::string ThemeInfo::GetResolution() const {
-  return bundle_.GetString("/resolution");
+  return bundle_.GetString("/header/resolution");
 }
 
 std::string ThemeInfo::GetPreview() const {
@@ -90,7 +90,7 @@ std::string ThemeInfo::GetPreview() const {
 }
 
 std::string ThemeInfo::GetDescription() const {
-  return bundle_.GetString("/description");
+  return bundle_.GetString("/header/description");
 }
 
 std::string ThemeInfo::GetString(const std::string& key) const {
index f76b6591184506d26870414a1e07fe0f84d7ed22..7bfac764d6f71eeeca76737d90ca1201e7ac94f6 100644 (file)
@@ -25,9 +25,9 @@ const int kValueLengthLimit = 1024;
 const std::vector<std::string> kMandatoryKeys = {
   "/version",
   "/tool_version",
-  "/title",
-  "/description",
-  "/resolution",
+  "/header/title",
+  "/header/description",
+  "/header/resolution",
   "/preview"
 };
 
index 48d783a45b151b9ebe23f82630756284ad3ff86b..52ca90ab274c965c183edd6fbd377918c1835073 100644 (file)
@@ -1,11 +1,11 @@
 {
         "version": "1.0.0",
         "tool_version": "1.00.38.820793",
-        "title": "GOGO Theme",
-        "description": "Example for theme spec",
-        "resolution": "720x1280",
         "preview": "GOGO_Preview.png",
         "header": {
+                "title": "GOGO Theme",
+                "description": "Example for theme spec",
+                "resolution": "720x1280",
                 "profile": "wearable"
         },
         "theme": {
index 05d2faa2c86e9a594410c58bb920a1b282dafb5c..a2038963f13c926db9a8e7c6c6e101530d330c0a 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "50D_array" :
         [
index 9e6c3a049cc5274f0d8babe55b05d373c8e5b5cb..6f945fae91ba9caed170da3eba93f0707a65c6d4 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "50D_array" :
         [
index 1f66ea3a775de56ce2279faeacd55bd1bd08cafb..cf5fcd5672440c7cbb034724eced29dc2e116373 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "1st" : {
                 "2st" : {
index b2ab105c6360c4dc9575a186740a2ecfc8783193..29f052758a919bea231bf19e26b53df6ab24b05d 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "1st" : {
                 "2st" : {
index 179e9e7461fbb33fb6846e0629c553a7921e5f5a..06c03fe536755ca884e8907b03ee247e5a5f0c15 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "array" : [
                 null,
index e331dfcc3adfe685627ab87e718085fbae88e2fe..14ff2bcfa409526ca685a37b794b72fe0ab2c165 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "array" : [
         ]
index 4e83510e0b7cd78f4a10db376671e21f741a292d..0c52553d41f562b0466c83c3616597a7df201c94 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "invalid"
 }
index 8363d494f330c24ed5ade55c1d33a6b97a86628d..1d950e39ad02c097bfbb22fa94b85ec23fdbf2c1 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "128_length_key__________________________________________________________________________________________________________________" : "invalid"
 }
index 4d82ad9aabf01eac341da37112bb893460679d8e..289ecdd90a799cd9a4980f4875033d750828c1d5 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "127_length_key_________________________________________________________________________________________________________________" : "valid"
 }
index 6b533225dc7b8f10301f9fdb4a206f9d2a30a248..7e6813b2be50206a540550391a5834b726a88630 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "valid_length_value" : "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................"
 }
index 8c1b79b1a2a0ca6f555b3a76fd5fd29c4628edc4..af5ce664eb9bfdef2b86174994987bb9a966caa5 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "valid_length_value" : [
                 "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................"
index af4ce2369fa2666bd2af53514a8988287c016091..14e5e77955288f47c8e2ec217390c35118f1bc7b 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "valid_length_value" : "..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................."
 }
index fe861161eb02a17cd2b7e470512f9069dcc0ceeb..633dcab11b76451906a6de0790d79241bf075ddf 100644 (file)
@@ -1,7 +1,9 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280"
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        }
 }
index 623ced63c6cfb9a945ad790ef21b245ce8177ffb..bbe03d00e7fa658be2e91e9520a8d905304cc28f 100644 (file)
@@ -1,9 +1,11 @@
 {
         "version" : "1.0.0",
         "tool_version" : "1.0.0",
-        "title" : "test_title",
-        "description" : "test_description",
-        "resolution" : "720x1280",
+        "header" : {
+                "title" : "test_title",
+                "description" : "test_description",
+                "resolution" : "720x1280"
+        },
         "preview" : "preview.png",
         "1D_array" : ["1", "2", "3"],
         "2D_array" : [
index 48d783a45b151b9ebe23f82630756284ad3ff86b..52ca90ab274c965c183edd6fbd377918c1835073 100644 (file)
@@ -1,11 +1,11 @@
 {
         "version": "1.0.0",
         "tool_version": "1.00.38.820793",
-        "title": "GOGO Theme",
-        "description": "Example for theme spec",
-        "resolution": "720x1280",
         "preview": "GOGO_Preview.png",
         "header": {
+                "title": "GOGO Theme",
+                "description": "Example for theme spec",
+                "resolution": "720x1280",
                 "profile": "wearable"
         },
         "theme": {
index 8cdda4636f5605b65006b0a2ac34d282757ead55..7b5ae108222d95f3c66f148a57f0bc4586f4f529 100644 (file)
@@ -51,10 +51,10 @@ class ThemeTest : public TestFixture {
     b_.Add("uid", "5001");
     b_.Add("/version", "1.0");
     b_.Add("/tool_version", "1.1");
-    b_.Add("/title", "Test");
-    b_.Add("/resolution", "360X360");
+    b_.Add("/header/title", "Test");
+    b_.Add("/header/resolution", "360X360");
     b_.Add("/preview", "shared/res/preview.png");
-    b_.Add("/description", "test");
+    b_.Add("/header/description", "test");
     b_.Add("/stringkey", "value");
     b_.Add("/intkey", "1");
     b_.Add("/floatkey", "2.0");
index 3c51d106d78510a9db8961b1f6254f4e7d01e091..3d976dd2a102c3e10412efa2ce7caf4055c48852 100644 (file)
@@ -44,10 +44,10 @@ class ThemeInfoProxyTest : public testing::Test {
     b.Add("uid", "5001");
     b.Add("/version", "1.0");
     b.Add("/tool_version", "1.1");
-    b.Add("/title", "Default Theme");
-    b.Add("/resolution", "360X360");
+    b.Add("/header/title", "Default Theme");
+    b.Add("/header/resolution", "360X360");
     b.Add("/preview", "shared/res/default_preview.png");
-    b.Add("/description", "default test");
+    b.Add("/header/description", "default test");
     b.Add("/some_default_key", "some_default_value");
     db_manager.Insert(b);
     db_manager.UpdateCurrentId("default_id");
@@ -56,10 +56,10 @@ class ThemeInfoProxyTest : public testing::Test {
     b_.Add("id", "testid");
     b_.Add("/version", "1.0");
     b_.Add("/tool_version", "1.1");
-    b_.Add("/title", "Test");
-    b_.Add("/resolution", "360X360");
+    b_.Add("/header/title", "Test");
+    b_.Add("/header/resolution", "360X360");
     b_.Add("/preview", "shared/res/preview.png");
-    b_.Add("/description", "test");
+    b_.Add("/header/description", "test");
   }
 
   virtual void TearDown() {
@@ -93,10 +93,10 @@ TEST_F(ThemeInfoProxyTest, UpdateTheme) {
   v2.Add("id", "testid");
   v2.Add("/version", "2.0");
   v2.Add("/tool_version", "2.2");
-  v2.Add("/title", "Test2");
-  v2.Add("/resolution", "360X360");
+  v2.Add("/header/title", "Test2");
+  v2.Add("/header/resolution", "360X360");
   v2.Add("/preview", "shared/res/preview_v2.png");
-  v2.Add("/description", "test_v2");
+  v2.Add("/header/description", "test_v2");
 
   ThemeInfo info_v2(v2);
   EXPECT_TRUE(proxy_->UpdateTheme(info_v2));
@@ -138,10 +138,10 @@ TEST_F(ThemeInfoProxyTest, GetThemeIds) {
   v2.Add("id", "testid2");
   v2.Add("/version", "2.0");
   v2.Add("/tool_version", "2.2");
-  v2.Add("/title", "Test2");
-  v2.Add("/resolution", "360X360");
+  v2.Add("/header/title", "Test2");
+  v2.Add("/header/resolution", "360X360");
   v2.Add("/preview", "shared/res/preview_v2.png");
-  v2.Add("/description", "test_v2");
+  v2.Add("/header/description", "test_v2");
 
   ThemeInfo info2(v2);
   EXPECT_TRUE(proxy_->SaveTheme(info2));
index ee4f932e1c1a4e78f11480d7347c94b5dabd6036..1f93c4d26bcae3c28ed6c0150ceff19899a5fa7a 100644 (file)
@@ -193,9 +193,9 @@ TEST_F(ThemeParserTest, MandatoryKeyMiss) {
 }
 
 TEST_F(ThemeParserTest, Commit_N1) {
-  ttm::plugin::ThemeParser parser("test_samples/test_theme.json", false);
+  ttm::plugin::ThemeParser parser("test_samples/test_invalid_json.json", false);
   auto info = parser.Inflate("testid", "testpkgid", 5001, false);
-  EXPECT_TRUE(info.IsValid());
+  EXPECT_FALSE(info.IsValid());
 
   EXPECT_CALL(GetMock<GioMock>(),
       g_dbus_message_new_method_call(_, _, _, _)).WillOnce(Return(nullptr));
@@ -204,9 +204,9 @@ TEST_F(ThemeParserTest, Commit_N1) {
 }
 
 TEST_F(ThemeParserTest, Commit_N2) {
-  ttm::plugin::ThemeParser parser("test_samples/test_theme.json", false);
+  ttm::plugin::ThemeParser parser("test_samples/test_invalid_json.json", false);
   auto info = parser.Inflate("testid", "testpkgid", 5001, false);
-  EXPECT_TRUE(info.IsValid());
+  EXPECT_FALSE(info.IsValid());
 
   EXPECT_CALL(GetMock<GioMock>(),
       g_dbus_message_new_method_call(_, _, _, _)).WillOnce(Return(nullptr));
@@ -215,9 +215,9 @@ TEST_F(ThemeParserTest, Commit_N2) {
 }
 
 TEST_F(ThemeParserTest, Commit_N3) {
-  ttm::plugin::ThemeParser parser("test_samples/test_theme.json", false);
+  ttm::plugin::ThemeParser parser("test_samples/test_invalid_json.json", false);
   auto info = parser.Inflate("testid", "testpkgid", 5001, false);
-  EXPECT_TRUE(info.IsValid());
+  EXPECT_FALSE(info.IsValid());
 
   EXPECT_CALL(GetMock<GioMock>(),
       g_dbus_message_new_method_call(_, _, _, _)).WillOnce(Return(nullptr));