df42a53e5d936d0fa706b7589d5c4acc23a716b9
[framework/web/wrt-commons.git] / tests / dao / wrt_dao_tests_prepare_db.sh
1 #!/bin/sh
2 # Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3 #
4 #    Licensed under the Apache License, Version 2.0 (the "License");
5 #    you may not use this file except in compliance with the License.
6 #    You may obtain a copy of the License at
7 #
8 #        http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #    Unless required by applicable law or agreed to in writing, software
11 #    distributed under the License is distributed on an "AS IS" BASIS,
12 #    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #    See the License for the specific language governing permissions and
14 #    limitations under the License.
15 #
16
17 WRT_DB=/opt/dbspace/.wrt.db
18 WRT_DB_BCK=/tmp/wrt.db_backup
19
20 if [ "x$1" == "xstart" ]; then
21     echo start;
22     cp $WRT_DB $WRT_DB_BCK
23     wrt_commons_create_clean_db.sh;
24
25     #simple plugins
26     INS_MIN_PLUGINPROP="insert into PluginProperties(PluginPropertiesId, InstallationState, PluginLibraryName, LibraryTimestamp"
27     INS_ALL_PLUGINPROP="insert into PluginProperties(PluginPropertiesId, InstallationState, PluginLibraryName, LibraryTimestamp, PluginLibraryPath)"
28     INS_PLUGIN_OBJECTS="insert into PluginImplementedObjects(PluginObject, PluginPropertiesId)"
29     INS_PLUGIN_DEPEND="insert into PluginDependencies(PluginPropertiesId, RequiredPluginPropertiesId)"
30
31     sqlite3 $WRT_DB "${INS_MIN_PLUGINPROP}) VALUES(1, 1, 'plugin1', 0)";
32     sqlite3 $WRT_DB "${INS_ALL_PLUGINPROP} VALUES(2, 1, 'plugin2', 0, 'path_to_plugin2')";
33     sqlite3 $WRT_DB "${INS_MIN_PLUGINPROP}) VALUES(3, 1, 'plugin3', 0)";
34     sqlite3 $WRT_DB "${INS_ALL_PLUGINPROP} VALUES(4, 1, 'p4', 0, 'path_to_p4')";
35     sqlite3 $WRT_DB "${INS_ALL_PLUGINPROP} VALUES(5, 1, 'p5', 0, 'path_to_p5')";
36
37     #plugin dependendencies
38     sqlite3 $WRT_DB "${INS_PLUGIN_DEPEND} VALUES(1, 5)";
39     sqlite3 $WRT_DB "${INS_PLUGIN_DEPEND} VALUES(1, 4)";
40     sqlite3 $WRT_DB "${INS_PLUGIN_DEPEND} VALUES(4, 2)";
41
42     #plugin implemented objects
43     #sqlite3 $WRT_DB "${INS_PLUGIN_OBJECTS} VALUES(1, )";
44     sqlite3 $WRT_DB "${INS_PLUGIN_OBJECTS} VALUES('', 2)";
45     sqlite3 $WRT_DB "${INS_PLUGIN_OBJECTS} VALUES('Plugin_3_Object_A', 3)";
46     sqlite3 $WRT_DB "${INS_PLUGIN_OBJECTS} VALUES('Plugin_4_Object_A', 4)";
47     sqlite3 $WRT_DB "${INS_PLUGIN_OBJECTS} VALUES('Plugin_4_Object_B', 4)";
48     sqlite3 $WRT_DB "${INS_PLUGIN_OBJECTS} VALUES('Plugin_4_Object_C', 4)";
49     sqlite3 $WRT_DB "${INS_PLUGIN_OBJECTS} VALUES('Plugin_5_Object_A', 5)";
50
51     #simple features
52     INS_ALL_FEATURESLIST="insert into FeaturesList(FeatureUUID, FeatureName, PluginPropertiesId)"
53     sqlite3 $WRT_DB "${INS_ALL_FEATURESLIST} VALUES(1, 'feature1', 1)";
54     sqlite3 $WRT_DB "${INS_ALL_FEATURESLIST} VALUES(2, 'feature2', 4)";
55     sqlite3 $WRT_DB "${INS_ALL_FEATURESLIST} VALUES(3, 'feature3', 4)";
56     sqlite3 $WRT_DB "${INS_ALL_FEATURESLIST} VALUES(4, 'feature4', 4)";
57
58     #device capabilities
59     INS_ALL_DEVICECAPS="insert into DeviceCapabilities(DeviceCapID, DeviceCapName, DeviceCapDefaultValue)"
60     sqlite3 $WRT_DB "${INS_ALL_DEVICECAPS} VALUES(1, 'devicecap1', 1)";
61     sqlite3 $WRT_DB "${INS_ALL_DEVICECAPS} VALUES(2, 'devicecap2', 2)";
62     sqlite3 $WRT_DB "${INS_ALL_DEVICECAPS} VALUES(3, 'devicecap3', 3)";
63     sqlite3 $WRT_DB "${INS_ALL_DEVICECAPS} VALUES(4, 'devicecap4', 4)";
64
65     #device capabilities proxy
66     INS_ALL_DEVICECAPSPROXY="insert into FeatureDeviceCapProxy(DeviceCapID, FeatureUUID)"
67     sqlite3 $WRT_DB "${INS_ALL_DEVICECAPSPROXY} VALUES(1, 1)";
68     sqlite3 $WRT_DB "${INS_ALL_DEVICECAPSPROXY} VALUES(1, 2)";
69     sqlite3 $WRT_DB "${INS_ALL_DEVICECAPSPROXY} VALUES(2, 2)";
70     sqlite3 $WRT_DB "${INS_ALL_DEVICECAPSPROXY} VALUES(3, 3)";
71
72     #Widgets
73     INS_ALL_WIDGETEXT="insert into WidgetExtendedInfo(app_id, install_time)"
74     INS_ALL_WIDGET="insert into WidgetInfo(app_id, widget_id, widget_version, widget_width, widget_height, author_name, author_email, author_href, min_version, tizen_pkgid, tizen_appid, back_supported, csp_policy_report_only)"
75     INS_ALL_WIDGET_LOC="insert into LocalizedWidgetInfo(app_id, widget_locale, widget_name, widget_shortname, widget_description, widget_license, widget_license_file, widget_license_href)"
76     INS_ALL_WIDGET_ICONS="insert into WidgetIcon(app_id, icon_src, icon_width, icon_height)"
77     INS_ALL_WIDGET_LOC_ICONS="insert into WidgetLocalizedIcon(app_id, icon_id, widget_locale)"
78     INS_ALL_WIDGET_STARTFILE="insert into WidgetStartFile(app_id, src)"
79     INS_ALL_WIDGET_LOC_STARTFILE="insert into WidgetLocalizedStartFile(app_id, start_file_id, widget_locale, type, encoding)"
80     INS_ALL_WIDGET_DEFPREF="insert into WidgetDefaultPreference(app_id, key_name, key_value, readonly)"
81     INS_ALL_WIDGET_PREF="insert into WidgetPreference(app_id,tizen_appid, key_name, key_value, readonly)"
82     INS_ALL_WIDGET_FEATURE="insert into WidgetFeature(widget_feature_id, app_id, name, rejected)"
83     INS_ALL_WIDGET_WINMODES="insert into WidgetWindowModes(app_id, window_mode)"
84     INS_ALL_WIDGET_WARP="insert into WidgetWARPInfo(app_id, iri, subdomain_access)"
85     INS_ALL_WIDGET_CERT="insert into WidgetCertificateFingerprint(app_id, owner, chainid, type, md5_fingerprint, sha1_fingerprint, common_name)"
86     INS_ALL_WIDGET_POWDERLEV="insert into PowderLevels(app_id, category, level)"
87     INS_ALL_WIDGET_POWDERLEV_CONT="insert into PowderLevelContexts(levelid, context)"
88
89
90     sqlite3 $WRT_DB "${INS_ALL_WIDGET} VALUES(2000, 'w_id_2000', '1.0.0', 100, 200, 'a_name_2000', 'a_email_2000', 'a_href_2000', '1.0', 'pkgid201', 'tizenid201', 1, 'policy_report201')";
91     sqlite3 $WRT_DB "${INS_ALL_WIDGET} VALUES(2001, 'w_id_2001', '2.0.0', 100, 200, 'a_name_2001', 'a_email_2001', 'a_href_2001', '0.5', 'pkgid202', 'tizenid202', 0, 'policy_report202')";
92     sqlite3 $WRT_DB "insert into WidgetInfo(app_id, back_supported, tizen_appid) VALUES(2002, 0, 'tizenid203')";
93     sqlite3 $WRT_DB "insert into WidgetInfo(app_id, back_supported, tizen_appid) VALUES(2003, 0, 'tizenid204')"; # for properties tests
94
95     sqlite3 $WRT_DB "${INS_ALL_WIDGETEXT} VALUES(2000, 1256)";
96     sqlite3 $WRT_DB "${INS_ALL_WIDGETEXT} VALUES(2001, 5687)";
97     sqlite3 $WRT_DB "insert into WidgetExtendedInfo(app_id) VALUES(2002)";
98     sqlite3 $WRT_DB "insert into WidgetExtendedInfo(app_id) VALUES(2003)";
99
100     sqlite3 $WRT_DB "${INS_ALL_WIDGET_LOC} VALUES(2000, 'en', 'w_name_2000_en', 'w_shortname_2000_en', 'w_desc_2000_en', 'w_lic_2000_en', 'w_licf_2000_en', 'w_lic_href_2000_en')";
101     sqlite3 $WRT_DB "${INS_ALL_WIDGET_LOC} VALUES(2000, 'pl', 'w_name_2000_pl', 'w_shortname_2000_pl', 'w_desc_2000_pl', 'w_lic_2000_pl', 'w_licf_2000_pl', 'w_lic_href_2000_pl')";
102     sqlite3 $WRT_DB "insert into LocalizedWidgetInfo(app_id, widget_locale) VALUES(2002, 'en')";
103     sqlite3 $WRT_DB "insert into LocalizedWidgetInfo(app_id, widget_locale) VALUES(2003, 'en')";
104
105     sqlite3 $WRT_DB "${INS_ALL_WIDGET_ICONS} VALUES(2000, 'icon_src_2000', 50, 50)";
106     sqlite3 $WRT_DB "insert into WidgetIcon(app_id, icon_src) VALUES(2002, 'icon_src_2002')";
107
108     sqlite3 $WRT_DB "${INS_ALL_WIDGET_LOC_ICONS} VALUES(2000, 1, 'en')";
109     sqlite3 $WRT_DB "${INS_ALL_WIDGET_LOC_ICONS} VALUES(2000, 1, 'pl')";
110
111     sqlite3 $WRT_DB "${INS_ALL_WIDGET_STARTFILE} VALUES(2000, 'start_file_2000')";
112     sqlite3 $WRT_DB "${INS_ALL_WIDGET_STARTFILE} VALUES(2001, 'start_file_2001')";
113     sqlite3 $WRT_DB "${INS_ALL_WIDGET_STARTFILE} VALUES(2002, 'start_file_2002')";
114     sqlite3 $WRT_DB "${INS_ALL_WIDGET_STARTFILE} VALUES(2003, 'start_file_2003')";
115
116     sqlite3 $WRT_DB "${INS_ALL_WIDGET_LOC_STARTFILE} VALUES(2000, 1, 'en', '', '')";
117     sqlite3 $WRT_DB "${INS_ALL_WIDGET_LOC_STARTFILE} VALUES(2001, 2, 'en', '', '')";
118     sqlite3 $WRT_DB "${INS_ALL_WIDGET_LOC_STARTFILE} VALUES(2002, 3, 'en', '', '')";
119     sqlite3 $WRT_DB "${INS_ALL_WIDGET_LOC_STARTFILE} VALUES(2003, 4, 'en', '', '')";
120
121     #widget properties
122     sqlite3 $WRT_DB "${INS_ALL_WIDGET_PREF} VALUES(2000,'tizenid201', 'key1_for_2000', 'value_for_key1_2000', 0)";
123     sqlite3 $WRT_DB "${INS_ALL_WIDGET_PREF} VALUES(2000,'tizenid201', 'key2_for_2000', 'value_for_key2_2000', 0)";
124     sqlite3 $WRT_DB "${INS_ALL_WIDGET_PREF} VALUES(2001,'tizenid202', 'key1_for_2001', 'value1_for_key_2001', 1)";
125     sqlite3 $WRT_DB "${INS_ALL_WIDGET_PREF} VALUES(2002,'tizenid203', 'key1_for_2002', 'value1_for_key_2002', 0)";
126     sqlite3 $WRT_DB "${INS_ALL_WIDGET_PREF} VALUES(2002,'tizenid203', 'key2_for_2002', 'value2_for_key_2002', 1)";
127
128     sqlite3 $WRT_DB "${INS_ALL_WIDGET_FEATURE} VALUES(1, 2001, 'feature_name', 0)";
129
130     #create if not exists and fix autoincrement value
131     sqlite3 $WRT_DB "INSERT INTO WidgetInfo(tizen_appid) VALUES('temp')";
132     sqlite3 $WRT_DB "DELETE FROM WidgetInfo WHERE tizen_appid = 'temp'";
133     sqlite3 $WRT_DB "UPDATE sqlite_sequence SET seq = 2004 WHERE name = 'WidgetInfo'";
134
135     mkdir "/opt/usr/apps/testWidget123"
136     mkdir "/opt/usr/apps/testWidget123/data"
137     mkdir "/opt/usr/apps/pkgid201"
138     mkdir "/opt/usr/apps/pkgid201/data"
139
140     WGT_INTERFACE_DB=/opt/usr/apps/pkgid201/data/.widget_interface.db
141     #Create widget interface db
142     sqlite3 $WGT_INTERFACE_DB "create table Properties(key TEXT NOT NULL, value TEXT DEFAULT '' NOT NULL, readonly INTEGER check(readonly between 0 and 1) DEFAULT 0, configxml INTEGER check(readonly between 0 and 1) DEFAULT 0, UNIQUE (key))"
143     chown app:app $WGT_INTERFACE_DB
144     chown app:app $WGT_INTERFACE_DB-journal
145     #Add properties
146     WGT_IDB_INS_ALL_WIDGET_PREF="insert into Properties(key,value,readonly)"
147     sqlite3 $WGT_INTERFACE_DB "${WGT_IDB_INS_ALL_WIDGET_PREF} VALUES('key1_for_2000', 'value_for_key1_2000', 0)";
148     sqlite3 $WGT_INTERFACE_DB "${WGT_IDB_INS_ALL_WIDGET_PREF} VALUES('key2_for_2000', 'value_for_key2_2000', 0)";
149
150     exit $?
151
152 elif [ "x$1" == "xstop" ]; then
153     echo stop;
154     cp $WRT_DB_BCK $WRT_DB
155     rm -r "/opt/usr/apps/testWidget123"
156     rm -r "/opt/usr/apps/pkgid201"
157     
158     exit $?
159 else
160     exit 1
161 fi