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