1 /*
2 * Copyright (C) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15 #include <cstdint>
16
17 #include "medialibrary_common_utils_test.h"
18 #include "medialibrary_errno.h"
19 #include "thumbnail_utils.h"
20 #define private public
21 #include "medialibrary_common_utils.h"
22 #undef private
23
24 using namespace std;
25 using namespace OHOS;
26 using namespace testing::ext;
27
28 namespace OHOS {
29 namespace Media {
SetUpTestCase(void)30 void MediaLibraryCommonUtilsTest::SetUpTestCase(void) {}
31
TearDownTestCase(void)32 void MediaLibraryCommonUtilsTest::TearDownTestCase(void) {}
33
34 // SetUp:Execute before each test case
SetUp()35 void MediaLibraryCommonUtilsTest::SetUp() {}
36
TearDown(void)37 void MediaLibraryCommonUtilsTest::TearDown(void) {}
38
39 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_GenKeySHA256_test_001, TestSize.Level0)
40 {
41 vector<uint8_t> input;
42 string key = "";
43 int32_t ret = MediaLibraryCommonUtils::GenKeySHA256(input, key);
44 EXPECT_EQ(ret, -EINVAL);
45 }
46
47 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_GenKeySHA256_test_002, TestSize.Level0)
48 {
49 string input = "";
50 string key = "";
51 int32_t ret = MediaLibraryCommonUtils::GenKeySHA256(input, key);
52 EXPECT_EQ(ret, -EINVAL);
53 }
54
55 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_CheckWhereClause_test_001, TestSize.Level0)
56 {
57 string whereClause = "";
58 bool ret = MediaLibraryCommonUtils::CheckWhereClause(whereClause);
59 EXPECT_EQ(ret, true);
60 string whereClauseTest = "CheckWhereClause";
61 ret = MediaLibraryCommonUtils::CheckWhereClause(whereClauseTest);
62 EXPECT_EQ(ret, false);
63 string where = "CheckWhereClause;";
64 ret = MediaLibraryCommonUtils::CheckWhereClause(where);
65 EXPECT_EQ(ret, false);
66 }
67
68 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_AppendSelections_test_001, TestSize.Level0)
69 {
70 string selections = "";
71 MediaLibraryCommonUtils::AppendSelections(selections);
72 selections = "AppendSelections";
73 MediaLibraryCommonUtils::AppendSelections(selections);
74 EXPECT_EQ(selections, "(AppendSelections)");
75 }
76
77 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_Char2Hex_test_001, TestSize.Level0)
78 {
79 unsigned char hash[64] = "";
80 size_t len = 2;
81 string hexStr = "";
82 MediaLibraryCommonUtils::Char2Hex(hash, len, hexStr);
83 EXPECT_NE(hexStr, "");
84 }
85
86 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_GenKey_test_001, TestSize.Level0)
87 {
88 unsigned char hash[64] = "";
89 size_t len = 0;
90 string key = "";
91 int32_t ret = MediaLibraryCommonUtils::GenKey(hash, len, key);
92 EXPECT_EQ(ret, -EINVAL);
93 size_t lenTest = 2;
94 ret = MediaLibraryCommonUtils::GenKey(hash, lenTest, key);
95 EXPECT_EQ(ret, E_OK);
96 }
97
98 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_CheckIllegalCharacter_test_001, TestSize.Level0)
99 {
100 string strCondition = "";
101 bool ret = MediaLibraryCommonUtils::CheckIllegalCharacter(strCondition);
102 EXPECT_EQ(ret, true);
103 string strConditionTest = ";";
104 ret = MediaLibraryCommonUtils::CheckIllegalCharacter(strConditionTest);
105 EXPECT_EQ(ret, false);
106 }
107
108 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_CheckKeyWord_test_001, TestSize.Level0)
109 {
110 string strCondition = "";
111 bool ret = MediaLibraryCommonUtils::CheckKeyWord(strCondition);
112 EXPECT_EQ(ret, true);
113 string strConditionTest = "|\\s*insert\\s*|\\s*delete\\s*";
114 ret = MediaLibraryCommonUtils::CheckKeyWord(strConditionTest);
115 EXPECT_EQ(ret, false);
116 }
117
118 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_SeprateSelection_test_001, TestSize.Level0)
119 {
120 string strCondition = "SeprateSelection";
121 vector<string> sepratedStr;
122 MediaLibraryCommonUtils::SeprateSelection(strCondition, sepratedStr);
123 EXPECT_NE(sepratedStr.size(), 0);
124 }
125
126 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_CheckExpressValidation_test_001, TestSize.Level0)
127 {
128 vector<string> sepratedStr;
129 bool ret = MediaLibraryCommonUtils::CheckExpressValidation(sepratedStr);
130 EXPECT_EQ(ret, true);
131 sepratedStr.push_back(">=");
132 ret = MediaLibraryCommonUtils::CheckExpressValidation(sepratedStr);
133 EXPECT_EQ(ret, true);
134 sepratedStr.push_back("CheckExpressValidation");
135 ret = MediaLibraryCommonUtils::CheckExpressValidation(sepratedStr);
136 EXPECT_EQ(ret, false);
137 }
138
139 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_CheckExpressValidation_test_002, TestSize.Level0)
140 {
141 vector<string> sepratedStr;
142 sepratedStr.push_back("parent");
143 bool ret = MediaLibraryCommonUtils::CheckExpressValidation(sepratedStr);
144 EXPECT_EQ(ret, true);
145 sepratedStr.push_back(">=date_added ");
146 ret = MediaLibraryCommonUtils::CheckExpressValidation(sepratedStr);
147 EXPECT_EQ(ret, true);
148 sepratedStr.push_back(" date_added>=");
149 ret = MediaLibraryCommonUtils::CheckExpressValidation(sepratedStr);
150 EXPECT_EQ(ret, true);
151 }
152
153 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_CheckWhiteList_test_001, TestSize.Level0)
154 {
155 string express = "";
156 bool ret = MediaLibraryCommonUtils::CheckWhiteList(express);
157 EXPECT_EQ(ret, false);
158 string expressTest = "date_added";
159 ret = MediaLibraryCommonUtils::CheckWhiteList(expressTest);
160 EXPECT_EQ(ret, true);
161 }
162
163 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_ExtractKeyWord_test_001, TestSize.Level0)
164 {
165 string str = "";
166 MediaLibraryCommonUtils::ExtractKeyWord(str);
167 str = ">=";
168 MediaLibraryCommonUtils::ExtractKeyWord(str);
169 EXPECT_EQ(str, "");
170 str = ">=date_added";
171 MediaLibraryCommonUtils::ExtractKeyWord(str);
172 EXPECT_EQ(str, "date_added");
173 str = "date_added>=";
174 MediaLibraryCommonUtils::ExtractKeyWord(str);
175 EXPECT_EQ(str, "date_added");
176 }
177
178 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_RemoveSpecialCondition_test_001, TestSize.Level0)
179 {
180 string hacker = "";
181 MediaLibraryCommonUtils::RemoveSpecialCondition(hacker);
182 hacker = "RemoveSpecialConditionnot between ? and ?";
183 MediaLibraryCommonUtils::RemoveSpecialCondition(hacker);
184 EXPECT_EQ(hacker, "RemoveSpecialCondition ");
185 }
186
187 HWTEST_F(MediaLibraryCommonUtilsTest, medialib_RemoveSpecialCondition_test_002, TestSize.Level0)
188 {
189 string hacker = "";
190 string pattern = "?";
191 MediaLibraryCommonUtils::RemoveSpecialCondition(hacker, pattern);
192 hacker = "RemoveSpecialCondition?";
193 MediaLibraryCommonUtils::RemoveSpecialCondition(hacker, pattern);
194 EXPECT_EQ(hacker, "RemoveSpecialCondition ");
195 }
196 } // namespace Media
197 } // namespace OHOS