1 // Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
2 // Use of this source code is governed by an apache 2.0 license that can be
3 // found in the LICENSE file.
5 #include <pkgmgr_parser.h>
7 #include <glib/glist.h>
14 #include "common/plugins/plugin.h"
15 #include "common/utils/glist_range.h"
16 #include "smoke_tests/libs/test_assessor.h"
18 namespace ci = common_installer;
22 std::optional<std::string> CheckArgs(
27 return std::string("Package id is null for metadata plugin");
29 return std::string("Application id is null for metadata plugin");
30 if (strcmp(pkgid, ci::kTestPackageId) != 0)
31 return std::string("Package id doesn't match for metadata plugin");
32 if (strcmp(appid, ci::kTestApplicationId) != 0)
33 return std::string("Application id doesn't match for metadata plugin");
34 auto range = GListRange<__metadata_t*>(metadata);
35 if (range.Size() != 3)
36 return std::string("Metadata Glist is wrong size for metadata plugin");
40 for (__metadata_t* meta : range) {
42 "http://developer.samsung.com/tizen/metadata/test_metadata/key_a")
43 == 0 && strcmp(meta->value, "value_a") == 0) {
47 "http://developer.samsung.com/tizen/metadata/test_metadata/key_b")
48 == 0 && strcmp(meta->value, "value_b") == 0) {
52 "http://developer.samsung.com/tizen/metadata/test_metadata/key_c")
53 == 0 && strcmp(meta->value, "value_c") == 0) {
58 return std::string("Metadata key_a incorrect or not found");
60 return std::string("Metadata key_b incorrect or not found");
62 return std::string("Metadata key_c incorrect or not found");
68 extern "C" int PKGMGR_MDPARSER_PLUGIN_INSTALL(
72 ci::TestAssessor::Instance().AddResult(std::make_tuple(
73 ci::kMetadataPluginName,
74 ci::Plugin::ActionType::Install,
75 ci::Plugin::ProcessType::Main),
76 CheckArgs(pkgid, appid, metadata));
80 extern "C" int PKGMGR_MDPARSER_PLUGIN_UPGRADE(
84 ci::TestAssessor::Instance().AddResult(std::make_tuple(
85 ci::kMetadataPluginName,
86 ci::Plugin::ActionType::Upgrade,
87 ci::Plugin::ProcessType::Main),
88 CheckArgs(pkgid, appid, metadata));
92 extern "C" int PKGMGR_MDPARSER_PLUGIN_UNINSTALL(
96 ci::TestAssessor::Instance().AddResult(std::make_tuple(
97 ci::kMetadataPluginName,
98 ci::Plugin::ActionType::Uninstall,
99 ci::Plugin::ProcessType::Main),
100 CheckArgs(pkgid, appid, metadata));