1 /*
2 * Copyright (c) 2021 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
16 #include "abs_shared_result_set.h"
17 #include "data_ability_predicates.h"
18 #include "values_bucket.h"
19 #include "gtest/gtest.h"
20 #include "mock_ability_test.h"
21 #include "mock_ability_manager_client.h"
22 #include "mock_ability_thread_for_data_observer.h"
23 #include "context.h"
24 #include "ability_context.h"
25 #include "data_ability_helper.h"
26
27 namespace OHOS {
28 namespace AppExecFwk {
29 using namespace testing::ext;
30 REGISTER_AA(MockAbilityTest)
31 /*
32 * Parameters:
33 * Action
34 * Entity
35 * Flag
36 * ElementName
37 */
38 class DataAbilityHelperTest : public testing::Test {
39 public:
DataAbilityHelperTest()40 DataAbilityHelperTest() {};
~DataAbilityHelperTest()41 virtual ~DataAbilityHelperTest() {};
42
43 static void SetUpTestCase(void);
44 static void TearDownTestCase(void);
45 void SetUp();
46 void TearDown();
47
48 public:
49 };
50
SetUpTestCase(void)51 void DataAbilityHelperTest::SetUpTestCase(void)
52 {}
53
TearDownTestCase(void)54 void DataAbilityHelperTest::TearDownTestCase(void)
55 {}
56
SetUp(void)57 void DataAbilityHelperTest::SetUp(void)
58 {}
59
TearDown(void)60 void DataAbilityHelperTest::TearDown(void)
61 {}
62
63 /**
64 * @tc.number: AaFwk_DataAbilityHelper_Insert_Test_0100
65 * @tc.name: DataAbilityHelper
66 * @tc.desc: Insert with DataAbilityHelper which created with uri.
67 */
68 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_Insert_Test_0100, Function | MediumTest | Level1)
69 {
70 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Insert_Test_0100 start";
71
72 sptr<AppExecFwk::AbilityThread> thread = nullptr;
73 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
74 std::shared_ptr<Uri> uri =
75 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
76
77 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context, uri);
78 NativeRdb::ValuesBucket val;
79 val.PutInt("22", 22);
80 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
81
82 int value = dataAbilityHelper->Insert(urivalue, val);
83
84 EXPECT_EQ(value, 20);
85
86 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Insert_Test_0100 end";
87 }
88
89 /**
90 * @tc.number: AaFwk_DataAbilityHelper_Insert_Test_0200
91 * @tc.name: DataAbilityHelper
92 * @tc.desc: Insert with DataAbilityHelper which created without uri.
93 */
94 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_Insert_Test_0200, Function | MediumTest | Level1)
95 {
96 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Insert_Test_0200 start";
97
98 sptr<AppExecFwk::AbilityThread> thread = nullptr;
99 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
100 std::shared_ptr<Uri> uri =
101 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
102
103 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context);
104 NativeRdb::ValuesBucket val;
105 val.PutInt("22", 20);
106 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
107
108 int value = dataAbilityHelper->Insert(urivalue, val);
109
110 EXPECT_EQ(value, 20);
111
112 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Insert_Test_0200 end";
113 }
114
115 /**
116 * @tc.number: AaFwk_DataAbilityHelper_Update_Test_0100
117 * @tc.name: DataAbilityHelper
118 * @tc.desc: Update with DataAbilityHelper which created with uri.
119 */
120 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_Update_Test_0100, Function | MediumTest | Level1)
121 {
122 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Update_Test_0100 start";
123
124 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
125 std::shared_ptr<Uri> uri =
126 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
127
128 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context, uri);
129
130 NativeRdb::ValuesBucket val;
131 val.PutInt("22", 22);
132 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
133 NativeRdb::DataAbilityPredicates predicates;
134 int value = dataAbilityHelper->Update(urivalue, val, predicates);
135 EXPECT_EQ(value, 33);
136
137 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Update_Test_0100 end";
138 }
139
140 /**
141 * @tc.number: AaFwk_DataAbilityHelper_Update_Test_0200
142 * @tc.name: DataAbilityHelper
143 * @tc.desc: Update with DataAbilityHelper which created without uri.
144 */
145 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_Update_Test_0200, Function | MediumTest | Level1)
146 {
147 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Insert_Test_0200 start";
148 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
149 std::shared_ptr<Uri> uri =
150 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
151 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context);
152
153 NativeRdb::ValuesBucket val;
154 val.PutInt("22", 22);
155 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
156 NativeRdb::DataAbilityPredicates predicates;
157 int value = dataAbilityHelper->Update(urivalue, val, predicates);
158 EXPECT_EQ(value, 33);
159
160 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Insert_Test_0200 end";
161 }
162
163 /**
164 * @tc.number: AaFwk_DataAbilityHelper_GetFileTypes_Test_0100
165 * @tc.name: DataAbilityHelper
166 * @tc.desc: GetFileTypes with DataAbilityHelper which created with uri.
167 */
168 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_GetFileTypes_Test_0100, Function | MediumTest | Level1)
169 {
170 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_GetFileTypes_Test_0100 start";
171
172 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
173 std::shared_ptr<Uri> uri =
174 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
175 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context, uri);
176
177 std::string mimeTypeFilter("mimeTypeFiltertest");
178 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
179 std::vector<std::string> result = dataAbilityHelper->GetFileTypes(urivalue, mimeTypeFilter);
180
181 std::vector<std::string> list;
182 list.push_back("Type1");
183 list.push_back("Type2");
184 list.push_back("Type3");
185
186 for (size_t i = 0; i < result.size(); i++) {
187 EXPECT_STREQ(result.at(i).c_str(), list.at(i).c_str());
188 }
189
190 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_GetFileTypes_Test_0100 end";
191 }
192
193 /**
194 * @tc.number: AaFwk_DataAbilityHelper_GetFileTypes_Test_0200
195 * @tc.name: DataAbilityHelper
196 * @tc.desc: GetFileTypes with DataAbilityHelper which created without uri.
197 */
198 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_GetFileTypes_Test_0200, Function | MediumTest | Level1)
199 {
200 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_GetFileTypes_Test_0200 start";
201
202 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
203 std::shared_ptr<Uri> uri =
204 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
205 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context);
206
207 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
208 std::string mimeTypeFilter("mimeTypeFiltertest");
209 std::vector<std::string> result = dataAbilityHelper->GetFileTypes(urivalue, mimeTypeFilter);
210
211 std::vector<std::string> list;
212 list.push_back("Type1");
213 list.push_back("Type2");
214 list.push_back("Type3");
215
216 for (unsigned int i = 0; i < result.size(); i++) {
217 EXPECT_STREQ(result.at(i).c_str(), list.at(i).c_str());
218 }
219
220 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_GetFileTypes_Test_0200 end";
221 }
222
223 /**
224 * @tc.number: AaFwk_DataAbilityHelper_OpenFile_Test_0100
225 * @tc.name: DataAbilityHelper
226 * @tc.desc: Openfile with DataAbilityHelper which created with uri.
227 */
228 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_OpenFile_Test_0100, Function | MediumTest | Level1)
229 {
230 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_OpenFile_Test_0100 start";
231
232 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
233 std::shared_ptr<Uri> uri =
234 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
235 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context, uri);
236
237 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10?test/te.txt");
238 std::string mode("r");
239 int fd = dataAbilityHelper->OpenFile(urivalue, mode);
240 EXPECT_NE(fd, -1);
241
242 if (fd > 0) {
243 std::string result = "123456";
244 FILE *file = nullptr;
245 file = fdopen(fd, "r");
246 EXPECT_NE(file, nullptr);
247
248 if (file != nullptr) {
249 int strSize = 7;
250 std::string str("");
251 str.resize(strSize);
252 if (!feof(file)) {
253 fgets(&str[0], strSize, file);
254 }
255 string stringstr(str);
256 EXPECT_STREQ(stringstr.c_str(), result.c_str());
257 fclose(file);
258 system("rm /dataability_openfile_test.txt");
259 }
260 }
261
262 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_OpenFile_Test_0100 end";
263 }
264
265 /**
266 * @tc.number: AaFwk_DataAbilityHelper_OpenFile_Test_0200
267 * @tc.name: DataAbilityHelper Insert
268 * @tc.desc: Openfile with DataAbilityHelper which created without uri.
269 */
270 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_OpenFile_Test_0200, Function | MediumTest | Level1)
271 {
272 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_OpenFile_Test_0200 start";
273
274 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
275 std::shared_ptr<Uri> uri =
276 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
277 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context);
278
279 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10?test/te.txt");
280 std::string mode("r");
281 int fd = dataAbilityHelper->OpenFile(urivalue, mode);
282 EXPECT_NE(fd, -1);
283
284 if (fd > 0) {
285 std::string result = "123456";
286 FILE *file = nullptr;
287 file = fdopen(fd, "r");
288 EXPECT_NE(file, nullptr);
289
290 if (file != nullptr) {
291 int strSize = 7;
292 std::string str("");
293 str.resize(strSize);
294 if (!feof(file)) {
295 fgets(&str[0], strSize, file);
296 }
297 string stringstr(str);
298 EXPECT_STREQ(stringstr.c_str(), result.c_str());
299 fclose(file);
300 system("rm /dataability_openfile_test.txt");
301 }
302 }
303
304 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_OpenFile_Test_0200 end";
305 }
306
307 /**
308 * @tc.number: AaFwk_DataAbilityHelper_OpenRawFile_Test_0100
309 * @tc.name: DataAbilityHelper
310 * @tc.desc: OpenRawFile with DataAbilityHelper which created with uri.
311 */
312 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_OpenRawFile_Test_0100, Function | MediumTest | Level1)
313 {
314 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_OpenRawFile_Test_0100 start";
315
316 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
317 std::shared_ptr<Uri> uri =
318 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
319 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context, uri);
320
321 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
322 std::string mode("modetest");
323 int fd = dataAbilityHelper->OpenRawFile(urivalue, mode);
324
325 EXPECT_EQ(fd, 122);
326
327 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_OpenRawFile_Test_0100 end";
328 }
329
330 /**
331 * @tc.number: AaFwk_DataAbilityHelper_OpenRawFile_Test_0200
332 * @tc.name: DataAbilityHelper Insert
333 * @tc.desc: OpenRawFile with DataAbilityHelper which created without uri.
334 */
335 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_OpenRawFile_Test_0200, Function | MediumTest | Level1)
336 {
337 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_OpenRawFile_Test_0200 start";
338
339 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
340 std::shared_ptr<Uri> uri =
341 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
342 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context);
343
344 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
345 std::string mode("modetest");
346 int fd = dataAbilityHelper->OpenRawFile(urivalue, mode);
347
348 EXPECT_EQ(fd, 122);
349
350 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_OpenRawFile_Test_0200 end";
351 }
352
353 /**
354 * @tc.number: AaFwk_DataAbilityHelper_BatchInsert_Test_0100
355 * @tc.name: DataAbilityHelper
356 * @tc.desc: BatchInsert with DataAbilityHelper which created with uri.
357 */
358 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_BatchInsert_Test_0100, Function | MediumTest | Level1)
359 {
360 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_BatchInsert_Test_0100 start";
361
362 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
363 std::shared_ptr<Uri> uri =
364 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
365 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context, uri);
366
367 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
368 std::vector<NativeRdb::ValuesBucket> values;
369 int fd = dataAbilityHelper->BatchInsert(urivalue, values);
370
371 EXPECT_EQ(fd, 115);
372
373 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_BatchInsert_Test_0100 end";
374 }
375
376 /**
377 * @tc.number: AaFwk_DataAbilityHelper_BatchInsert_Test_0200
378 * @tc.name: DataAbilityHelper Insert
379 * @tc.desc: BatchInsert with DataAbilityHelper which created without uri.
380 */
381 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_BatchInsert_Test_0200, Function | MediumTest | Level1)
382 {
383 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_BatchInsert_Test_0200 start";
384
385 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
386 std::shared_ptr<Uri> uri =
387 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
388 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context);
389
390 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
391 std::vector<NativeRdb::ValuesBucket> values;
392 int fd = dataAbilityHelper->BatchInsert(urivalue, values);
393
394 EXPECT_EQ(fd, 115);
395
396 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_BatchInsert_Test_0200 end";
397 }
398
399 /**
400 * @tc.number: AaFwk_DataAbilityHelper_Reload_Test_0100
401 * @tc.name: DataAbilityHelper
402 * @tc.desc: Reload with DataAbilityHelper which created with uri.
403 */
404 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_Reload_Test_0100, Function | MediumTest | Level1)
405 {
406 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Reload_Test_0100 start";
407
408 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
409 std::shared_ptr<Uri> uri =
410 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
411 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context, uri);
412
413 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
414 PacMap extras;
415 int fd = dataAbilityHelper->Reload(urivalue, extras);
416
417 EXPECT_EQ(fd, true);
418
419 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Reload_Test_0100 end";
420 }
421
422 /**
423 * @tc.number: AaFwk_DataAbilityHelper_Reload_Test_0200
424 * @tc.name: DataAbilityHelper
425 * @tc.desc: Reload with DataAbilityHelper which created without uri.
426 */
427 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_Reload_Test_0200, Function | MediumTest | Level1)
428 {
429 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Reload_Test_0200 start";
430
431 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
432 std::shared_ptr<Uri> uri =
433 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
434 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context);
435
436 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
437 PacMap extras;
438 int fd = dataAbilityHelper->Reload(urivalue, extras);
439
440 EXPECT_EQ(fd, true);
441
442 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Reload_Test_0200 end";
443 }
444
445 /**
446 * @tc.number: AaFwk_DataAbilityHelper_Delete_Test_0100
447 * @tc.name: DataAbilityHelper
448 * @tc.desc: Delete with DataAbilityHelper which created with uri.
449 */
450 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_Delete_Test_0100, Function | MediumTest | Level1)
451 {
452 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Delete_Test_0100 start";
453
454 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
455 std::shared_ptr<Uri> uri =
456 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
457 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context, uri);
458
459 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
460 NativeRdb::DataAbilityPredicates predicates;
461 int index = dataAbilityHelper->Delete(urivalue, predicates);
462
463 EXPECT_EQ(index, 234);
464
465 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Delete_Test_0100 end";
466 }
467
468 /**
469 * @tc.number: AaFwk_DataAbilityHelper_Delete_Test_0200
470 * @tc.name: DataAbilityHelper
471 * @tc.desc: Delete with DataAbilityHelper which created without uri.
472 */
473 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_Delete_Test_0200, Function | MediumTest | Level1)
474 {
475 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Delete_Test_0200 start";
476
477 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
478 std::shared_ptr<Uri> uri =
479 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
480 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context);
481
482 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
483 NativeRdb::DataAbilityPredicates predicates;
484 int index = dataAbilityHelper->Delete(urivalue, predicates);
485
486 EXPECT_EQ(index, 234);
487
488 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Delete_Test_0200 end";
489 }
490 /**
491 * @tc.number: AaFwk_DataAbilityHelper_Query_Test_0100
492 * @tc.name: DataAbilityHelper
493 * @tc.desc: Query with DataAbilityHelper which created with uri.
494 */
495 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_Query_Test_0100, Function | MediumTest | Level1)
496 {
497 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Query_Test_0100 start";
498
499 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
500 std::shared_ptr<Uri> uri =
501 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
502 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context, uri);
503
504 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
505
506 std::vector<std::string> columns;
507 columns.push_back("string1");
508 columns.push_back("string2");
509 columns.push_back("string3");
510 NativeRdb::DataAbilityPredicates predicates;
511
512 EXPECT_NE(nullptr, dataAbilityHelper->Query(urivalue, columns, predicates));
513
514 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Query_Test_0100 end";
515 }
516
517 /**
518 * @tc.number: AaFwk_DataAbilityHelper_Query_Test_0200
519 * @tc.name: DataAbilityHelper Insert
520 * @tc.desc: Query with DataAbilityHelper which created without uri.
521 */
522 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_Query_Test_0200, Function | MediumTest | Level1)
523 {
524 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Query_Test_0200 start";
525
526 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
527 std::shared_ptr<Uri> uri =
528 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
529 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context);
530
531 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
532
533 std::vector<std::string> columns;
534 columns.push_back("string1");
535 columns.push_back("string2");
536 columns.push_back("string3");
537 NativeRdb::DataAbilityPredicates predicates;
538
539 EXPECT_NE(nullptr, dataAbilityHelper->Query(urivalue, columns, predicates));
540
541 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_Query_Test_0200 end";
542 }
543
544 /**
545 * @tc.number: AaFwk_DataAbilityHelper_GetType_Test_0100
546 * @tc.name: DataAbilityHelper
547 * @tc.desc: Gettype with DataAbilityHelper which created with uri.
548 */
549 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_GetType_Test_0100, Function | MediumTest | Level1)
550 {
551 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_GetType_Test_0100 start";
552
553 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
554 std::shared_ptr<Uri> uri =
555 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
556 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context, uri);
557
558 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
559 std::string type = dataAbilityHelper->GetType(urivalue);
560
561 EXPECT_STREQ(type.c_str(), "Type1");
562
563 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_GetType_Test_0100 end";
564 }
565
566 /**
567 * @tc.number: AaFwk_DataAbilityHelper_GetType_Test_0200
568 * @tc.name: DataAbilityHelper
569 * @tc.desc: GetType with DataAbilityHelper which created without uri.
570 */
571 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_GetType_Test_0200, Function | MediumTest | Level1)
572 {
573 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_GetType_Test_0200 start";
574
575 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
576 std::shared_ptr<Uri> uri =
577 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
578 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context);
579
580 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
581 std::string type = dataAbilityHelper->GetType(urivalue);
582
583 EXPECT_STREQ(type.c_str(), "Type1");
584
585 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_GetType_Test_0200 end";
586 }
587
588 /**
589 * @tc.number: AaFwk_DataAbilityHelper_NormalizeUri_Test_0100
590 * @tc.name: DataAbilityHelper NormalizeUri
591 * @tc.desc: NormalizeUri with DataAbilityHelper which created without uri.
592 */
593 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_NormalizeUri_Test_0100, Function | MediumTest | Level1)
594 {
595 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_NormalizeUri_Test_0100 start";
596
597 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
598 std::shared_ptr<Uri> uri =
599 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
600 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context, uri);
601
602 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
603 Uri type("");
604 type = dataAbilityHelper->NormalizeUri(urivalue);
605
606 EXPECT_STREQ(type.ToString().c_str(), urivalue.ToString().c_str());
607
608 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_NormalizeUri_Test_0100 end";
609 }
610
611 /**
612 * @tc.number: AaFwk_DataAbilityHelper_NormalizeUri_Test_0200
613 * @tc.name: DataAbilityHelper NormalizeUri
614 * @tc.desc: NormalizeUri with DataAbilityHelper which created without uri.
615 */
616 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_NormalizeUri_Test_0200, Function | MediumTest | Level1)
617 {
618 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_NormalizeUri_Test_0200 start";
619
620 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
621 std::shared_ptr<Uri> uri =
622 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
623 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context);
624
625 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
626 Uri type("");
627 type = dataAbilityHelper->NormalizeUri(urivalue);
628
629 EXPECT_STREQ(type.ToString().c_str(), urivalue.ToString().c_str());
630
631 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_NormalizeUri_Test_0200 end";
632 }
633
634 /**
635 * @tc.number: AaFwk_DataAbilityHelper_DenormalizeUri_Test_0100
636 * @tc.name: DataAbilityHelper
637 * @tc.desc: DenormalizeUri with DataAbilityHelper which created without uri.
638 */
639 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_DenormalizeUri_Test_0100, Function | MediumTest | Level1)
640 {
641 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_DenormalizeUri_Test_0100 start";
642
643 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
644 std::shared_ptr<Uri> uri =
645 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
646 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context, uri);
647
648 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
649 Uri type("");
650 type = dataAbilityHelper->DenormalizeUri(urivalue);
651
652 EXPECT_STREQ(type.ToString().c_str(), urivalue.ToString().c_str());
653
654 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_DenormalizeUri_Test_0100 end";
655 }
656
657 /**
658 * @tc.number: AaFwk_DataAbilityHelper_DenormalizeUri_Test_0200
659 * @tc.name: DataAbilityHelper DenormalizeUri
660 * @tc.desc: DenormalizeUri with DataAbilityHelper which created without uri.
661 */
662 HWTEST_F(DataAbilityHelperTest, AaFwk_DataAbilityHelper_DenormalizeUri_Test_0200, Function | MediumTest | Level1)
663 {
664 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_DenormalizeUri_Test_0200 start";
665
666 std::shared_ptr<Context> context = std::make_shared<AbilityContext>();
667 std::shared_ptr<Uri> uri =
668 std::make_shared<Uri>("dataability://device_id/com.domainname.dataability.persondata/person/10");
669 std::shared_ptr<DataAbilityHelper> dataAbilityHelper = DataAbilityHelper::Creator(context);
670
671 Uri urivalue("dataability://device_id/com.domainname.dataability.persondata/person/10");
672 Uri type("");
673 type = dataAbilityHelper->DenormalizeUri(urivalue);
674
675 EXPECT_STREQ(type.ToString().c_str(), urivalue.ToString().c_str());
676
677 GTEST_LOG_(INFO) << "AaFwk_DataAbilityHelper_DenormalizeUri_Test_0200 end";
678 }
679 } // namespace AppExecFwk
680 } // namespace OHOS
681