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