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 #define LOG_TAG "UtdClientTest"
16 #include <gtest/gtest.h>
17
18 #include <unistd.h>
19
20 #include "token_setproc.h"
21 #include "accesstoken_kit.h"
22 #include "nativetoken_kit.h"
23
24 #include "logger.h"
25 #include "utd_client.h"
26 #include "type_descriptor.h"
27 #include "preset_type_descriptors.h"
28 #include "utd_graph.h"
29
30 using namespace testing::ext;
31 using namespace OHOS::Security::AccessToken;
32 using namespace OHOS::UDMF;
33 using namespace OHOS;
34
35 namespace OHOS::Test {
36 class UtdClientTest : public testing::Test {
37 public:
38 static void SetUpTestCase();
39 static void TearDownTestCase();
40 void SetUp() override;
41 void TearDown() override;
42 };
43
SetUpTestCase()44 void UtdClientTest::SetUpTestCase()
45 {
46 }
47
TearDownTestCase()48 void UtdClientTest::TearDownTestCase()
49 {
50 }
51
SetUp()52 void UtdClientTest::SetUp()
53 {
54 }
55
TearDown()56 void UtdClientTest::TearDown()
57 {
58 }
59
60 /**
61 * @tc.name: GetTypeDescriptor001
62 * @tc.desc: Normal testcase of GetTypeDescriptor
63 * @tc.type: FUNC
64 */
65 HWTEST_F(UtdClientTest, GetTypeDescriptor001, TestSize.Level1)
66 {
67 LOG_INFO(UDMF_TEST, "GetTypeDescriptor001 begin.");
68
69 std::shared_ptr<TypeDescriptor> descriptor;
70 std::string typeId = "com.amazon.azw3";
71 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
72 EXPECT_EQ(status, E_OK);
73 EXPECT_EQ(descriptor->GetTypeId(), typeId);
74 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.ebook");
75 EXPECT_EQ(descriptor->GetDescription(), "AZW3 ebook.");
76 EXPECT_EQ(descriptor->GetIconFile(), "");
77 EXPECT_EQ(*(descriptor->GetFilenameExtensions().begin()), ".azw3");
78 EXPECT_EQ(*(descriptor->GetMimeTypes().begin()), "application/vnd.amazon.mobi8-ebook");
79 LOG_INFO(UDMF_TEST, "GetTypeDescriptor001 end.");
80 }
81
82 /**
83 * @tc.name: GetTypeDescriptor002
84 * @tc.desc: Negative test case, invalid typeId argument, returns nullptr
85 * @tc.type: FUNC
86 */
87 HWTEST_F(UtdClientTest, GetTypeDescriptor002, TestSize.Level1)
88 {
89 LOG_INFO(UDMF_TEST, "GetTypeDescriptor002 begin.");
90
91 std::shared_ptr<TypeDescriptor> descriptor;
92 std::string typeId = "";
93 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
94 EXPECT_EQ(status, E_OK);
95 EXPECT_EQ(descriptor, nullptr);
96 LOG_INFO(UDMF_TEST, "GetTypeDescriptor002 end.");
97 }
98
99 /**
100 * @tc.name: GetTypeDescriptor003
101 * @tc.desc: Negative test case, invalid typeId argument, returns nullptr
102 * @tc.type: FUNC
103 */
104 HWTEST_F(UtdClientTest, GetTypeDescriptor003, TestSize.Level1)
105 {
106 LOG_INFO(UDMF_TEST, "GetTypeDescriptor003 begin.");
107
108 std::shared_ptr<TypeDescriptor> descriptor;
109 std::string typeId = "12345";
110 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
111 EXPECT_EQ(status, E_OK);
112 EXPECT_EQ(descriptor, nullptr);
113 LOG_INFO(UDMF_TEST, "GetTypeDescriptor003 end.");
114 }
115
116 /**
117 * @tc.name: GetTypeDescriptor004
118 * @tc.desc: Normal testcase of GetTypeDescriptor
119 * @tc.type: FUNC
120 */
121 HWTEST_F(UtdClientTest, GetTypeDescriptor004, TestSize.Level1)
122 {
123 LOG_INFO(UDMF_TEST, "GetTypeDescriptor004 begin.");
124
125 std::shared_ptr<TypeDescriptor> descriptor;
126 std::string typeId = "org.gnu.gnu-zip-archive";
127 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
128 EXPECT_EQ(status, E_OK);
129 EXPECT_EQ(descriptor->GetTypeId(), typeId);
130 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.archive");
131 EXPECT_EQ(descriptor->GetDescription(), "Gzip archive.");
132 EXPECT_EQ(descriptor->GetIconFile(), "sys.media.ohos_ic_normal_white_grid_compress");
133 LOG_INFO(UDMF_TEST, "GetTypeDescriptor004 end.");
134 }
135
136 /**
137 * @tc.name: GetTypeDescriptor005
138 * @tc.desc: Negative test case, invalid typeId argument, returns nullptr
139 * @tc.type: FUNC
140 */
141 HWTEST_F(UtdClientTest, GetTypeDescriptor005, TestSize.Level1)
142 {
143 LOG_INFO(UDMF_TEST, "GetTypeDescriptor005 begin.");
144
145 std::shared_ptr<TypeDescriptor> descriptor;
146 std::string typeId = "...";
147 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
148 EXPECT_EQ(status, E_OK);
149 EXPECT_EQ(descriptor, nullptr);
150 LOG_INFO(UDMF_TEST, "GetTypeDescriptor005 end.");
151 }
152
153 /**
154 * @tc.name: GetTypeDescriptor006
155 * @tc.desc: Normal testcase of GetTypeDescriptor
156 * @tc.type: FUNC
157 */
158 HWTEST_F(UtdClientTest, GetTypeDescriptor006, TestSize.Level1)
159 {
160 LOG_INFO(UDMF_TEST, "GetTypeDescriptor006 begin.");
161
162 std::shared_ptr<TypeDescriptor> descriptor;
163 std::string typeId = "general.fax";
164 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
165 EXPECT_EQ(status, E_OK);
166 EXPECT_EQ(descriptor->GetTypeId(), typeId);
167 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.image");
168 EXPECT_EQ(descriptor->GetDescription(), "Base type for fax images.");
169 EXPECT_EQ(descriptor->GetIconFile(), "");
170 EXPECT_EQ(descriptor->GetFilenameExtensions().empty(), true);
171 EXPECT_EQ(descriptor->GetMimeTypes().empty(), true);
172 LOG_INFO(UDMF_TEST, "GetTypeDescriptor006 end.");
173 }
174
175 /**
176 * @tc.name: GetUniformDataTypeByFilenameExtension001
177 * @tc.desc: Normal testcase of GetUniformDataTypeByFilenameExtension
178 * @tc.type: FUNC
179 */
180 HWTEST_F(UtdClientTest, GetUniformDataTypeByFilenameExtension001, TestSize.Level1)
181 {
182 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension001 begin.");
183 std::string filenameExtension = ".azw3";
184 std::string blongsToType = "general.ebook";
185 std::string currType;
186 auto status =
187 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, currType, blongsToType);
188 EXPECT_EQ(status, E_OK);
189 EXPECT_EQ(currType, "com.amazon.azw3");
190 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension001 end.");
191 }
192
193 /**
194 * @tc.name: GetUniformDataTypeByFilenameExtension002
195 * @tc.desc: Normal testcase of GetUniformDataTypeByFilenameExtension
196 * @tc.type: FUNC
197 */
198 HWTEST_F(UtdClientTest, GetUniformDataTypeByFilenameExtension002, TestSize.Level1)
199 {
200 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension002 begin.");
201 std::string filenameExtension = ".png";
202 std::string blongsToType = "general.image";
203 std::string currType;
204 auto status =
205 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, currType, blongsToType);
206 EXPECT_EQ(status, E_OK);
207 EXPECT_EQ(currType, "general.png");
208 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension002 end.");
209 }
210
211 /**
212 * @tc.name: GetUniformDataTypeByFilenameExtension003
213 * @tc.desc: Normal testcase of GetUniformDataTypeByFilenameExtension
214 * @tc.type: FUNC
215 */
216 HWTEST_F(UtdClientTest, GetUniformDataTypeByFilenameExtension003, TestSize.Level1)
217 {
218 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension003 begin.");
219 std::string filenameExtension = ".cpp";
220 std::string blongsToType = "general.source-code";
221 std::string currType;
222 auto status =
223 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, currType, blongsToType);
224 EXPECT_EQ(status, E_OK);
225 EXPECT_EQ(currType, "general.c-plus-plus-source");
226 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension003 end.");
227 }
228
229 /**
230 * @tc.name: GetUniformDataTypeByFilenameExtension004
231 * @tc.desc: Abnormal testcase of GetUniformDataTypeByFilenameExtension,
232 * para empty string, return E_INVALID_PARAMETERS
233 * @tc.type: FUNC
234 */
235 HWTEST_F(UtdClientTest, GetUniformDataTypeByFilenameExtension004, TestSize.Level1)
236 {
237 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension004 begin.");
238 std::string filenameExtension = "";
239 std::string blongsToType = "general.plain-text";
240 std::string currType;
241 auto status =
242 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, currType, blongsToType);
243 EXPECT_EQ(status, E_INVALID_PARAMETERS);
244 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension004 end.");
245 }
246
247 /**
248 * @tc.name: GetUniformDataTypeByFilenameExtension005
249 * @tc.desc: Abnormal testcase of GetUniformDataTypeByFilenameExtension, return invalid parameter
250 * @tc.type: FUNC
251 */
252 HWTEST_F(UtdClientTest, GetUniformDataTypeByFilenameExtension005, TestSize.Level1)
253 {
254 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension005 begin.");
255 std::string filenameExtension = ".test";
256 std::string blongsToType = "general.test";
257 std::string currType;
258 auto status =
259 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, currType, blongsToType);
260 EXPECT_EQ(status, E_INVALID_PARAMETERS);
261 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension005 end.");
262 }
263
264 /**
265 * @tc.name: GetUniformDataTypeByFilenameExtension006
266 * @tc.desc: Normal testcase of GetUniformDataTypeByFilenameExtension
267 * @tc.type: FUNC
268 */
269 HWTEST_F(UtdClientTest, GetUniformDataTypeByFilenameExtension006, TestSize.Level1)
270 {
271 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension006 begin.");
272 std::string filenameExtension = ".mp3";
273 std::string blongsToType = "general.object";
274 std::string currType;
275 auto status =
276 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, currType, blongsToType);
277 EXPECT_EQ(status, E_OK);
278 EXPECT_EQ(currType, "general.mp3");
279 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension006 end.");
280 }
281
282 /**
283 * @tc.name: GetUniformDataTypeByFilenameExtension007
284 * @tc.desc: Abnormal testcase of GetUniformDataTypeByFilenameExtension, return invalid parameter
285 * @tc.type: FUNC
286 */
287 HWTEST_F(UtdClientTest, GetUniformDataTypeByFilenameExtension007, TestSize.Level1)
288 {
289 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension007 begin.");
290 std::string filenameExtension = ".mp3";
291 std::string blongsToType = "test";
292 std::string currType;
293 auto status =
294 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, currType, blongsToType);
295 EXPECT_EQ(status, E_INVALID_PARAMETERS);
296 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension007 end.");
297 }
298
299
300 /**
301 * @tc.name: GetUniformDataTypeByFilenameExtension008
302 * @tc.desc: Abnormal testcase of GetUniformDataTypeByFilenameExtension, return flexible type.
303 * @tc.type: FUNC
304 */
305 HWTEST_F(UtdClientTest, GetUniformDataTypeByFilenameExtension008, TestSize.Level1)
306 {
307 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension008 begin.");
308 std::string filenameExtension = ".auto-image";
309 std::string blongsToType = "general.image";
310 std::string currType;
311 auto status =
312 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, currType, blongsToType);
313 EXPECT_EQ(status, E_OK);
314 std::shared_ptr<TypeDescriptor> descriptor;
315 status = UtdClient::GetInstance().GetTypeDescriptor(currType, descriptor);
316 EXPECT_EQ(status, E_OK);
317 EXPECT_EQ(descriptor->GetTypeId(), currType);
318 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.image");
319 EXPECT_EQ(descriptor->GetDescription().empty(), true);
320 EXPECT_EQ(descriptor->GetIconFile().empty(), true);
321 EXPECT_EQ(*(descriptor->GetFilenameExtensions().begin()), ".auto-image");
322 EXPECT_EQ(descriptor->GetMimeTypes().empty(), true);
323 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByFilenameExtension008 end.");
324 }
325
326 /**
327 * @tc.name: GetUniformDataTypeByMIMEType001
328 * @tc.desc: Normal testcase of GetUniformDataTypeByMIMEType
329 * @tc.type: FUNC
330 */
331 HWTEST_F(UtdClientTest, GetUniformDataTypeByMIMEType001, TestSize.Level1)
332 {
333 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType001 begin.");
334 std::string mimeType = "application/x-mobi8-ebook";
335 std::string blongsToType = "general.ebook";
336 std::string currType;
337 auto status = UtdClient::GetInstance().GetUniformDataTypeByMIMEType(mimeType, currType, blongsToType);
338 EXPECT_EQ(status, E_OK);
339 EXPECT_EQ(currType, "com.amazon.azw3");
340 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType001 end.");
341 }
342
343 /**
344 * @tc.name: GetUniformDataTypeByMIMEType002
345 * @tc.desc: Normal testcase of GetUniformDataTypeByMIMEType
346 * @tc.type: FUNC
347 */
348 HWTEST_F(UtdClientTest, GetUniformDataTypeByMIMEType002, TestSize.Level1)
349 {
350 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType002 begin.");
351 std::string mimeType = "application/vnd.ms-powerpoint";
352 std::string blongsToType = "general.composite-object";
353 std::string currType;
354 auto status = UtdClient::GetInstance().GetUniformDataTypeByMIMEType(mimeType, currType, blongsToType);
355 EXPECT_EQ(status, E_OK);
356 EXPECT_EQ(currType, "com.microsoft.powerpoint.ppt");
357 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType002 end.");
358 }
359
360 /**
361 * @tc.name: GetUniformDataTypeByMIMEType003
362 * @tc.desc: Abnormal testcase of GetUniformDataTypeByMIMEType, return invalid parameter
363 * @tc.type: FUNC
364 */
365 HWTEST_F(UtdClientTest, GetUniformDataTypeByMIMEType003, TestSize.Level1)
366 {
367 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType003 begin.");
368 std::string mimeType = "test01";
369 std::string blongsToType = "";
370 std::string currType;
371 auto status = UtdClient::GetInstance().GetUniformDataTypeByMIMEType(mimeType, currType, blongsToType);
372 EXPECT_EQ(status, E_INVALID_PARAMETERS);
373 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType003 end.");
374 }
375
376 /**
377 * @tc.name: GetUniformDataTypeByMIMEType004
378 * @tc.desc: BelongsTo is invalid, return invalid parameter
379 * @tc.type: FUNC
380 */
381 HWTEST_F(UtdClientTest, GetUniformDataTypeByMIMEType004, TestSize.Level1)
382 {
383 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType004 begin.");
384 std::string mimeType = "";
385 std::string blongsToType = "test02";
386 std::string currType;
387 auto status = UtdClient::GetInstance().GetUniformDataTypeByMIMEType(mimeType, currType, blongsToType);
388 EXPECT_EQ(status, E_INVALID_PARAMETERS);
389 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType004 end.");
390 }
391
392 /**
393 * @tc.name: GetUniformDataTypeByMIMEType005
394 * @tc.desc: BelongsTo is invalid, return invalid parameter
395 * @tc.type: FUNC
396 */
397 HWTEST_F(UtdClientTest, GetUniformDataTypeByMIMEType005, TestSize.Level1)
398 {
399 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType005 begin.");
400 std::string mimeType = ".pm";
401 std::string blongsToType = "test03";
402 std::string currType;
403 auto status = UtdClient::GetInstance().GetUniformDataTypeByMIMEType(mimeType, currType, blongsToType);
404 EXPECT_EQ(status, E_INVALID_PARAMETERS);
405 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType005 end.");
406 }
407
408 /**
409 * @tc.name: GetUniformDataTypeByMIMEType006
410 * @tc.desc: Abnormal testcase of GetUniformDataTypeByMIMEType,
411 * para empty string, return E_INVALID_PARAMETERS
412 * @tc.type: FUNC
413 */
414 HWTEST_F(UtdClientTest, GetUniformDataTypeByMIMEType006, TestSize.Level1)
415 {
416 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType006 begin.");
417 std::string mimeType = "";
418 std::string blongsToType = "general.entity";
419 std::string currType;
420 auto status = UtdClient::GetInstance().GetUniformDataTypeByMIMEType(mimeType, currType, blongsToType);
421 EXPECT_EQ(status, E_INVALID_PARAMETERS);
422 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType006 end.");
423 }
424
425 /**
426 * @tc.name: GetUniformDataTypeByMIMEType007
427 * @tc.desc: Abnormal testcase of GetUniformDataTypeByMIMEType, return flexible type.
428 * @tc.type: FUNC
429 */
430 HWTEST_F(UtdClientTest, GetUniformDataTypeByMIMEType007, TestSize.Level1)
431 {
432 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType007 begin.");
433 std::string mimeType = "image/auto-image";
434 std::string blongsToType = "general.image";
435 std::string currType;
436 auto status = UtdClient::GetInstance().GetUniformDataTypeByMIMEType(mimeType, currType, blongsToType);
437 EXPECT_EQ(status, E_OK);
438 std::shared_ptr<TypeDescriptor> descriptor;
439 status = UtdClient::GetInstance().GetTypeDescriptor(currType, descriptor);
440 EXPECT_EQ(status, E_OK);
441 EXPECT_EQ(descriptor->GetTypeId(), currType);
442 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.image");
443 EXPECT_EQ(descriptor->GetDescription().empty(), true);
444 EXPECT_EQ(descriptor->GetIconFile().empty(), true);
445 EXPECT_EQ(descriptor->GetFilenameExtensions().empty(), true);
446 EXPECT_EQ(*(descriptor->GetMimeTypes().begin()), "image/auto-image");
447 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMEType007 end.");
448 }
449
450 /**
451 * @tc.name: BelongsTo001
452 * @tc.desc: Normal testcase of BelongsTo
453 * @tc.type: FUNC
454 */
455 HWTEST_F(UtdClientTest, BelongsTo001, TestSize.Level1)
456 {
457 LOG_INFO(UDMF_TEST, "BelongsTo001 begin.");
458 std::shared_ptr<TypeDescriptor> descriptor;
459 std::string typeId = "com.amazon.azw3";
460 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
461 EXPECT_EQ(status, E_OK);
462 bool checkRet = false;
463 ASSERT_NE(descriptor, nullptr);
464 status = descriptor->BelongsTo("general.composite-object", checkRet);
465 EXPECT_EQ(status, E_OK);
466 EXPECT_EQ(checkRet, true);
467 LOG_INFO(UDMF_TEST, "BelongsTo001 end.");
468 }
469
470 /**
471 * @tc.name: BelongsTo002
472 * @tc.desc: Normal testcase of BelongsTo
473 * @tc.type: FUNC
474 */
475 HWTEST_F(UtdClientTest, BelongsTo002, TestSize.Level1)
476 {
477 LOG_INFO(UDMF_TEST, "BelongsTo002 begin.");
478 std::shared_ptr<TypeDescriptor> descriptor;
479 std::string typeId = "com.amazon.azw3";
480 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
481 EXPECT_EQ(status, E_OK);
482 bool checkRet = false;
483 ASSERT_NE(descriptor, nullptr);
484 status = descriptor->BelongsTo(typeId, checkRet);
485 EXPECT_EQ(status, E_OK);
486 EXPECT_EQ(checkRet, true);
487 LOG_INFO(UDMF_TEST, "BelongsTo002 end.");
488 }
489
490 /**
491 * @tc.name: BelongsTo003
492 * @tc.desc: Normal testcase of BelongsTo
493 * @tc.type: FUNC
494 */
495 HWTEST_F(UtdClientTest, BelongsTo003, TestSize.Level1)
496 {
497 LOG_INFO(UDMF_TEST, "BelongsTo003 begin.");
498 std::shared_ptr<TypeDescriptor> descriptor;
499 std::string typeId = "general.tiff";
500 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
501 EXPECT_EQ(status, E_OK);
502 bool checkRet = false;
503 ASSERT_NE(descriptor, nullptr);
504 status = descriptor->BelongsTo("general.media", checkRet);
505 EXPECT_EQ(status, E_OK);
506 EXPECT_EQ(checkRet, true);
507 LOG_INFO(UDMF_TEST, "BelongsTo003 end.");
508 }
509
510 /**
511 * @tc.name: BelongsTo004
512 * @tc.desc: Normal testcase of BelongsTo
513 * @tc.type: FUNC
514 */
515 HWTEST_F(UtdClientTest, BelongsTo004, TestSize.Level1)
516 {
517 LOG_INFO(UDMF_TEST, "BelongsTo004 begin.");
518 std::shared_ptr<TypeDescriptor> descriptor;
519 std::string typeId = "general.tiff";
520 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
521 EXPECT_EQ(status, E_OK);
522 bool checkRet = false;
523 ASSERT_NE(descriptor, nullptr);
524 status = descriptor->BelongsTo("general.object", checkRet);
525 EXPECT_EQ(status, E_OK);
526 EXPECT_EQ(checkRet, true);
527 LOG_INFO(UDMF_TEST, "BelongsTo004 end.");
528 }
529
530 /**
531 * @tc.name: BelongsTo005
532 * @tc.desc: Abnormal testcase of BelongsTo
533 * @tc.type: FUNC
534 */
535 HWTEST_F(UtdClientTest, BelongsTo005, TestSize.Level1)
536 {
537 LOG_INFO(UDMF_TEST, "BelongsTo005 begin.");
538 std::shared_ptr<TypeDescriptor> descriptor;
539 std::string typeId = "general.c-header";
540 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
541 EXPECT_EQ(status, E_OK);
542 bool checkRet = false;
543 ASSERT_NE(descriptor, nullptr);
544 status = descriptor->BelongsTo("general.script", checkRet);
545 EXPECT_EQ(status, E_OK);
546 EXPECT_EQ(checkRet, false);
547 LOG_INFO(UDMF_TEST, "BelongsTo005 end.");
548 }
549
550 /**
551 * @tc.name: BelongsTo006
552 * @tc.desc: BelongsTo is invalid, return invalid parameter
553 * @tc.type: FUNC
554 */
555 HWTEST_F(UtdClientTest, BelongsTo006, TestSize.Level1)
556 {
557 LOG_INFO(UDMF_TEST, "BelongsTo006 begin.");
558 std::shared_ptr<TypeDescriptor> descriptor;
559 std::string typeId = "general.mpeg";
560 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
561 EXPECT_EQ(status, E_OK);
562 bool checkRet = false;
563 ASSERT_NE(descriptor, nullptr);
564 status = descriptor->BelongsTo("test04", checkRet);
565 EXPECT_EQ(status, E_INVALID_PARAMETERS);
566 EXPECT_EQ(checkRet, false);
567 LOG_INFO(UDMF_TEST, "BelongsTo006 end.");
568 }
569
570 /**
571 * @tc.name: IsLowerLevelType001
572 * @tc.desc: Normal testcase of IsLowerLevelType
573 * @tc.type: FUNC
574 */
575 HWTEST_F(UtdClientTest, IsLowerLevelType001, TestSize.Level1)
576 {
577 LOG_INFO(UDMF_TEST, "IsLowerLevelType001 begin.");
578 std::shared_ptr<TypeDescriptor> descriptor;
579 std::string typeId = "com.amazon.azw3";
580 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
581 EXPECT_EQ(status, E_OK);
582 bool checkRet = false;
583 ASSERT_NE(descriptor, nullptr);
584 status = descriptor->IsLowerLevelType("general.composite-object", checkRet);
585 EXPECT_EQ(status, E_OK);
586 EXPECT_EQ(checkRet, true);
587 LOG_INFO(UDMF_TEST, "IsLowerLevelType001 end.");
588 }
589
590 /**
591 * @tc.name: IsLowerLevelType002
592 * @tc.desc: TypeId is "', return invalid parameter
593 * @tc.type: FUNC
594 */
595 HWTEST_F(UtdClientTest, IsLowerLevelType002, TestSize.Level1)
596 {
597 LOG_INFO(UDMF_TEST, "IsLowerLevelType002 begin.");
598 std::shared_ptr<TypeDescriptor> descriptor;
599 std::string typeId = "general.object";
600 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
601 EXPECT_EQ(status, E_OK);
602 bool checkRet = false;
603 ASSERT_NE(descriptor, nullptr);
604 status = descriptor->IsLowerLevelType("", checkRet);
605 EXPECT_EQ(status, Status::E_INVALID_PARAMETERS);
606 EXPECT_EQ(checkRet, false);
607 LOG_INFO(UDMF_TEST, "IsLowerLevelType002 end.");
608 }
609
610 /**
611 * @tc.name: IsLowerLevelType003
612 * @tc.desc: Normal testcase of IsLowerLevelType
613 * @tc.type: FUNC
614 */
615 HWTEST_F(UtdClientTest, IsLowerLevelType003, TestSize.Level1)
616 {
617 LOG_INFO(UDMF_TEST, "IsLowerLevelType003 begin.");
618 std::shared_ptr<TypeDescriptor> descriptor;
619 std::string typeId = "com.microsoft.bmp";
620 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
621 EXPECT_EQ(status, E_OK);
622 bool checkRet = false;
623 ASSERT_NE(descriptor, nullptr);
624 status = descriptor->IsLowerLevelType("general.object", checkRet);
625 EXPECT_EQ(status, E_OK);
626 EXPECT_EQ(checkRet, true);
627 LOG_INFO(UDMF_TEST, "IsLowerLevelType003 end.");
628 }
629
630 /**
631 * @tc.name: IsLowerLevelType004
632 * @tc.desc: Abnormal testcase of IsLowerLevelType, the two values are equal
633 * @tc.type: FUNC
634 */
635 HWTEST_F(UtdClientTest, IsLowerLevelType004, TestSize.Level1)
636 {
637 LOG_INFO(UDMF_TEST, "IsLowerLevelType004 begin.");
638 std::shared_ptr<TypeDescriptor> descriptor;
639 std::string typeId = "com.amazon.azw3";
640 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
641 EXPECT_EQ(status, E_OK);
642 bool checkRet = false;
643 ASSERT_NE(descriptor, nullptr);
644 status = descriptor->IsLowerLevelType("com.amazon.azw3", checkRet);
645 EXPECT_EQ(status, E_OK);
646 EXPECT_EQ(checkRet, false);
647 LOG_INFO(UDMF_TEST, "IsLowerLevelType004 end.");
648 }
649
650 /**
651 * @tc.name: IsHigherLevelType001
652 * @tc.desc: Normal testcase of IsHigherLevelType
653 * @tc.type: FUNC
654 */
655 HWTEST_F(UtdClientTest, IsHigherLevelType001, TestSize.Level1)
656 {
657 LOG_INFO(UDMF_TEST, "IsHigherLevelType001 begin.");
658 std::shared_ptr<TypeDescriptor> descriptor;
659 std::string typeId = "general.composite-object";
660 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
661 EXPECT_EQ(status, E_OK);
662 bool checkRet = false;
663 ASSERT_NE(descriptor, nullptr);
664 status = descriptor->IsHigherLevelType("com.amazon.azw3", checkRet);
665 EXPECT_EQ(status, E_OK);
666 EXPECT_EQ(checkRet, true);
667 LOG_INFO(UDMF_TEST, "IsHigherLevelType001 end.");
668 }
669
670 /**
671 * @tc.name: IsHigherLevelType002
672 * @tc.desc: Abnormal testcase of IsHigherLevelType, the two values are equal
673 * @tc.type: FUNC
674 */
675 HWTEST_F(UtdClientTest, IsHigherLevelType002, TestSize.Level1)
676 {
677 LOG_INFO(UDMF_TEST, "IsHigherLevelType002 begin.");
678 std::shared_ptr<TypeDescriptor> descriptor;
679 std::string typeId = "com.amazon.azw3";
680 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
681 EXPECT_EQ(status, E_OK);
682 bool checkRet = false;
683 ASSERT_NE(descriptor, nullptr);
684 status = descriptor->IsHigherLevelType("com.amazon.azw3", checkRet);
685 EXPECT_EQ(status, E_OK);
686 EXPECT_EQ(checkRet, false);
687 LOG_INFO(UDMF_TEST, "IsHigherLevelType002 end.");
688 }
689
690 /**
691 * @tc.name: IsHigherLevelType003
692 * @tc.desc: Abnormal testcase of IsHigherLevelType
693 * @tc.type: FUNC
694 */
695 HWTEST_F(UtdClientTest, IsHigherLevelType003, TestSize.Level1)
696 {
697 LOG_INFO(UDMF_TEST, "IsHigherLevelType003 begin.");
698 std::shared_ptr<TypeDescriptor> descriptor;
699 std::string typeId = "general.image";
700 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
701 EXPECT_EQ(status, E_OK);
702 bool checkRet = false;
703 ASSERT_NE(descriptor, nullptr);
704 status = descriptor->IsHigherLevelType("general.object", checkRet);
705 EXPECT_EQ(status, E_OK);
706 EXPECT_EQ(checkRet, false);
707 LOG_INFO(UDMF_TEST, "IsHigherLevelType003 end.");
708 }
709
710 /**
711 * @tc.name: Equals001
712 * @tc.desc: Abnormal testcase of Equals, two values are different
713 * @tc.type: FUNC
714 */
715 HWTEST_F(UtdClientTest, Equals001, TestSize.Level1)
716 {
717 LOG_INFO(UDMF_TEST, "Equals001 begin.");
718 std::shared_ptr<TypeDescriptor> descriptor1;
719 std::string typeId1 = "com.amazon.azw3";
720 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId1, descriptor1);
721 EXPECT_EQ(status, E_OK);
722 std::string typeId2 = "general.composite-object";
723 std::shared_ptr<TypeDescriptor> descriptor2;
724 status = UtdClient::GetInstance().GetTypeDescriptor(typeId2, descriptor2);
725 EXPECT_EQ(status, E_OK);
726 bool ret = descriptor1->Equals(descriptor2);
727 EXPECT_EQ(ret, false);
728 LOG_INFO(UDMF_TEST, "Equals001 end.");
729 }
730
731 /**
732 * @tc.name: Equals002
733 * @tc.desc: Normal testcase of Equals
734 * @tc.type: FUNC
735 */
736 HWTEST_F(UtdClientTest, Equals002, TestSize.Level1)
737 {
738 LOG_INFO(UDMF_TEST, "Equals002 begin.");
739 std::shared_ptr<TypeDescriptor> descriptor1;
740 std::string typeId1 = "com.amazon.azw3";
741 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId1, descriptor1);
742 EXPECT_EQ(status, E_OK);
743 std::string typeId2 = "com.amazon.azw3";
744 std::shared_ptr<TypeDescriptor> descriptor2;
745 status = UtdClient::GetInstance().GetTypeDescriptor(typeId2, descriptor2);
746 EXPECT_EQ(status, E_OK);
747 bool ret = descriptor1->Equals(descriptor2);
748 EXPECT_EQ(ret, true);
749 LOG_INFO(UDMF_TEST, "Equals002 end.");
750 }
751
752 /**
753 * @tc.name: TypeDescriptorGetAttr001
754 * @tc.desc: Normal testcase of TypeDescriptorGetAttr
755 * @tc.type: FUNC
756 */
757 HWTEST_F(UtdClientTest, TypeDescriptorGetAttr001, TestSize.Level1)
758 {
759 LOG_INFO(UDMF_TEST, "TypeDescriptorGetAttr001 begin.");
760 std::shared_ptr<TypeDescriptor> descriptor;
761 std::string typeId = "com.amazon.azw3";
762 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
763 EXPECT_EQ(status, E_OK);
764 EXPECT_EQ(descriptor->GetTypeId(), typeId);
765 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.ebook");
766 EXPECT_EQ(descriptor->GetDescription(), "AZW3 ebook.");
767 EXPECT_EQ(descriptor->GetIconFile(), "");
768 EXPECT_EQ(*(descriptor->GetFilenameExtensions().begin()), ".azw3");
769 EXPECT_EQ(*(descriptor->GetMimeTypes().begin()), "application/vnd.amazon.mobi8-ebook");
770
771 LOG_INFO(UDMF_TEST, "TypeDescriptorGetAttr001 end.");
772 }
773
774 /**
775 * @tc.name: TypeDescriptorGetAttr002
776 * @tc.desc: Normal testcase of TypeDescriptorGetAttr
777 * @tc.type: FUNC
778 */
779 HWTEST_F(UtdClientTest, TypeDescriptorGetAttr002, TestSize.Level1)
780 {
781 LOG_INFO(UDMF_TEST, "TypeDescriptorGetAttr002 begin.");
782 std::shared_ptr<TypeDescriptor> descriptor;
783 std::string typeId = "general.text";
784 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
785 EXPECT_EQ(status, E_OK);
786 EXPECT_EQ(descriptor->GetTypeId(), typeId);
787 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.object");
788 EXPECT_EQ(descriptor->GetDescription(), "Base type for all text.");
789 EXPECT_EQ(descriptor->GetIconFile(), "");
790 EXPECT_EQ(descriptor->GetFilenameExtensions().empty(), true);
791 EXPECT_EQ(*(descriptor->GetMimeTypes().begin()), "text/*");
792
793 LOG_INFO(UDMF_TEST, "TypeDescriptorGetAttr002 end.");
794 }
795
796 /**
797 * @tc.name: TypeDescriptorGetAttr003
798 * @tc.desc: Normal testcase of TypeDescriptorGetAttr
799 * @tc.type: FUNC
800 */
801 HWTEST_F(UtdClientTest, TypeDescriptorGetAttr003, TestSize.Level1)
802 {
803 LOG_INFO(UDMF_TEST, "TypeDescriptorGetAttr003 begin.");
804 std::shared_ptr<TypeDescriptor> descriptor;
805 std::string typeId = "general.image";
806 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
807 EXPECT_EQ(status, E_OK);
808 EXPECT_EQ(descriptor->GetTypeId(), typeId);
809 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.media");
810 EXPECT_EQ(descriptor->GetDescription(), "Base type for images.");
811 EXPECT_EQ(descriptor->GetIconFile(), "sys.media.ohos_ic_normal_white_grid_image");
812 EXPECT_EQ(descriptor->GetFilenameExtensions().empty(), true);
813 EXPECT_EQ(*(descriptor->GetMimeTypes().begin()), "image/*");
814
815 LOG_INFO(UDMF_TEST, "TypeDescriptorGetAttr003 end.");
816 }
817
818 /**
819 * @tc.name: TypeDescriptorGetAttr004
820 * @tc.desc: Normal testcase of TypeDescriptorGetAttr
821 * @tc.type: FUNC
822 */
823 HWTEST_F(UtdClientTest, TypeDescriptorGetAttr004, TestSize.Level1)
824 {
825 LOG_INFO(UDMF_TEST, "TypeDescriptorGetAttr004 begin.");
826 std::shared_ptr<TypeDescriptor> descriptor;
827 std::string typeId = "general.video";
828 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
829 EXPECT_EQ(status, E_OK);
830 EXPECT_EQ(descriptor->GetTypeId(), typeId);
831 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.media");
832 EXPECT_EQ(descriptor->GetDescription(), "Base type for video.");
833 EXPECT_EQ(descriptor->GetIconFile(), "sys.media.ohos_ic_normal_white_grid_video");
834 EXPECT_EQ(descriptor->GetFilenameExtensions().empty(), true);
835 EXPECT_EQ(*(descriptor->GetMimeTypes().begin()), "video/*");
836
837 LOG_INFO(UDMF_TEST, "TypeDescriptorGetAttr004 end.");
838 }
839
840 /**
841 * @tc.name: TypeDescriptorGetAttr005
842 * @tc.desc: Normal testcase of TypeDescriptorGetAttr
843 * @tc.type: FUNC
844 */
845 HWTEST_F(UtdClientTest, TypeDescriptorGetAttr005, TestSize.Level1)
846 {
847 LOG_INFO(UDMF_TEST, "TypeDescriptorGetAttr005 begin.");
848 std::shared_ptr<TypeDescriptor> descriptor;
849 std::string typeId = "general.audio";
850 auto status = UtdClient::GetInstance().GetTypeDescriptor(typeId, descriptor);
851 EXPECT_EQ(status, E_OK);
852 EXPECT_EQ(descriptor->GetTypeId(), typeId);
853 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.media");
854 EXPECT_EQ(descriptor->GetDescription(), "Base type for audio.");
855 EXPECT_EQ(descriptor->GetIconFile(), "sys.media.ohos_ic_normal_white_grid_audio");
856 EXPECT_EQ(descriptor->GetFilenameExtensions().empty(), true);
857 EXPECT_EQ(*(descriptor->GetMimeTypes().begin()), "audio/*");
858
859 LOG_INFO(UDMF_TEST, "TypeDescriptorGetAttr005 end.");
860 }
861
862 /**
863 * @tc.name: FlexibleType001
864 * @tc.desc: Normal testcase of flexibleType, flexibleType cmp with preset UTD.
865 * @tc.type: FUNC
866 */
867 HWTEST_F(UtdClientTest, FlexibleType001, TestSize.Level1)
868 {
869 LOG_INFO(UDMF_TEST, "FlexibleType001 begin.");
870 std::string filenameExtension = ".mytext";
871 std::string blongsToType = "general.plain-text";
872 std::string flexTypeId;
873 auto status =
874 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, flexTypeId, blongsToType);
875 EXPECT_EQ(status, E_OK);
876 LOG_INFO(UDMF_TEST, "FlexibleType001, flexTypeId = %{public}s.", flexTypeId.c_str());
877 std::shared_ptr<TypeDescriptor> descriptor;
878 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId, descriptor);
879 EXPECT_EQ(status, E_OK);
880 EXPECT_EQ(descriptor->GetTypeId(), flexTypeId);
881 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.plain-text");
882 EXPECT_EQ(descriptor->GetDescription().empty(), true);
883 EXPECT_EQ(descriptor->GetIconFile().empty(), true);
884 EXPECT_EQ(descriptor->GetMimeTypes().empty(), true);
885 EXPECT_EQ(*(descriptor->GetFilenameExtensions().begin()), ".mytext");
886 bool checkRet = false;
887 ASSERT_NE(descriptor, nullptr);
888 status = descriptor->IsHigherLevelType("general.object", checkRet); // cmp with gengral type.
889 EXPECT_EQ(status, E_OK);
890 EXPECT_EQ(checkRet, false);
891 LOG_INFO(UDMF_TEST, "FlexibleType001 end.");
892 }
893
894 /**
895 * @tc.name: FlexibleType002
896 * @tc.desc: Normal testcase of flexibleType, flexibleType cmp with preset UTD.
897 * @tc.type: FUNC
898 */
899 HWTEST_F(UtdClientTest, FlexibleType002, TestSize.Level1)
900 {
901 LOG_INFO(UDMF_TEST, "FlexibleType002 begin.");
902 std::string filenameExtension = ".mytext";
903 std::string blongsToType = "general.plain-text";
904 std::string flexTypeId1;
905 auto status =
906 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, flexTypeId1, blongsToType);
907 EXPECT_EQ(status, E_OK);
908 LOG_INFO(UDMF_TEST, "FlexibleType002, flexTypeId1 = %{public}s.", flexTypeId1.c_str());
909 std::shared_ptr<TypeDescriptor> descriptor1;
910 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId1, descriptor1);
911 EXPECT_EQ(status, E_OK);
912
913 std::string filenameExtension2 = ".myvideo";
914 std::string blongsToType2 = "general.video";
915 std::string flexTypeId2;
916 status =
917 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension2, flexTypeId2, blongsToType2);
918 EXPECT_EQ(status, E_OK);
919 LOG_INFO(UDMF_TEST, "FlexibleType002, flexTypeId2 = %{public}s.", flexTypeId2.c_str());
920 std::shared_ptr<TypeDescriptor> descriptor2;
921 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId2, descriptor2);
922 EXPECT_EQ(status, E_OK);
923 EXPECT_EQ(descriptor2->GetTypeId(), flexTypeId2);
924 EXPECT_EQ(*(descriptor2->GetBelongingToTypes().begin()), "general.video");
925 EXPECT_EQ(descriptor2->GetDescription().empty(), true);
926 EXPECT_EQ(descriptor2->GetIconFile().empty(), true);
927 EXPECT_EQ(descriptor2->GetMimeTypes().empty(), true);
928 EXPECT_EQ(*(descriptor2->GetFilenameExtensions().begin()), ".myvideo");
929 bool checkRet = false;
930 ASSERT_NE(descriptor2, nullptr);
931 status = descriptor2->IsHigherLevelType(flexTypeId2, checkRet); // cmp with flexbile type.
932 EXPECT_EQ(status, E_OK);
933 EXPECT_EQ(checkRet, false);
934 LOG_INFO(UDMF_TEST, "FlexibleType002 end.");
935 }
936
937 /**
938 * @tc.name: FlexibleType001
939 * @tc.desc: Normal testcase of flexibleType, flexibleType cmp with preset UTD.
940 * @tc.type: FUNC
941 */
942 HWTEST_F(UtdClientTest, FlexibleType003, TestSize.Level1)
943 {
944 LOG_INFO(UDMF_TEST, "FlexibleType003 begin.");
945 std::string filenameExtension = ".mytext";
946 std::string blongsToType = "general.plain-text";
947 std::string flexTypeId;
948 auto status =
949 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, flexTypeId, blongsToType);
950 EXPECT_EQ(status, E_OK);
951 LOG_INFO(UDMF_TEST, "FlexibleType003, flexTypeId = %{public}s.", flexTypeId.c_str());
952 std::shared_ptr<TypeDescriptor> descriptor;
953 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId, descriptor);
954 EXPECT_EQ(status, E_OK);
955 EXPECT_EQ(descriptor->GetTypeId(), flexTypeId);
956 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.plain-text");
957 EXPECT_EQ(descriptor->GetDescription().empty(), true);
958 EXPECT_EQ(descriptor->GetIconFile().empty(), true);
959 EXPECT_EQ(descriptor->GetMimeTypes().empty(), true);
960 EXPECT_EQ(*(descriptor->GetFilenameExtensions().begin()), ".mytext");
961 bool checkRet = false;
962 ASSERT_NE(descriptor, nullptr);
963 status = descriptor->IsHigherLevelType("general.invildType", checkRet); // cmp with invildType type.
964 EXPECT_EQ(status, E_INVALID_PARAMETERS);
965 EXPECT_EQ(checkRet, false);
966 LOG_INFO(UDMF_TEST, "FlexibleType003 end.");
967 }
968
969
970 /**
971 * @tc.name: FlexibleType011
972 * @tc.desc: Normal testcase of flexibleType, flexibleType cmp with preset UTD.
973 * @tc.type: FUNC
974 */
975 HWTEST_F(UtdClientTest, FlexibleType011, TestSize.Level1)
976 {
977 LOG_INFO(UDMF_TEST, "FlexibleType011 begin.");
978 std::string filenameExtension = ".mytext";
979 std::string blongsToType = "general.plain-text";
980 std::string flexTypeId;
981 auto status =
982 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, flexTypeId, blongsToType);
983 EXPECT_EQ(status, E_OK);
984 LOG_INFO(UDMF_TEST, "FlexibleType011, flexTypeId = %{public}s.", flexTypeId.c_str());
985 std::shared_ptr<TypeDescriptor> descriptor;
986 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId, descriptor);
987 EXPECT_EQ(status, E_OK);
988 EXPECT_EQ(descriptor->GetTypeId(), flexTypeId);
989 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.plain-text");
990 EXPECT_EQ(descriptor->GetDescription().empty(), true);
991 EXPECT_EQ(descriptor->GetIconFile().empty(), true);
992 EXPECT_EQ(descriptor->GetMimeTypes().empty(), true);
993 EXPECT_EQ(*(descriptor->GetFilenameExtensions().begin()), ".mytext");
994 bool checkRet = false;
995 ASSERT_NE(descriptor, nullptr);
996 status = descriptor->IsLowerLevelType("general.object", checkRet);
997 EXPECT_EQ(status, E_OK);
998 EXPECT_EQ(checkRet, true);
999 LOG_INFO(UDMF_TEST, "FlexibleType011 end.");
1000 }
1001
1002 /**
1003 * @tc.name: FlexibleType012
1004 * @tc.desc: Normal testcase of flexibleType, flexibleType cmp with preset UTD.
1005 * @tc.type: FUNC
1006 */
1007 HWTEST_F(UtdClientTest, FlexibleType012, TestSize.Level1)
1008 {
1009 LOG_INFO(UDMF_TEST, "FlexibleType012 begin.");
1010 std::string filenameExtension = ".mytext";
1011 std::string blongsToType = "general.plain-text";
1012 std::string flexTypeId;
1013 auto status =
1014 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, flexTypeId, blongsToType);
1015 EXPECT_EQ(status, E_OK);
1016 LOG_INFO(UDMF_TEST, "FlexibleType012, flexTypeId = %{public}s.", flexTypeId.c_str());
1017 std::shared_ptr<TypeDescriptor> descriptor;
1018 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId, descriptor);
1019 EXPECT_EQ(status, E_OK);
1020 EXPECT_EQ(descriptor->GetTypeId(), flexTypeId);
1021 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.plain-text");
1022 EXPECT_EQ(descriptor->GetDescription().empty(), true);
1023 EXPECT_EQ(descriptor->GetIconFile().empty(), true);
1024 EXPECT_EQ(descriptor->GetMimeTypes().empty(), true);
1025 EXPECT_EQ(*(descriptor->GetFilenameExtensions().begin()), ".mytext");
1026 bool checkRet = false;
1027 ASSERT_NE(descriptor, nullptr);
1028 status = descriptor->IsLowerLevelType("general.video", checkRet);
1029 EXPECT_EQ(status, E_OK);
1030 EXPECT_EQ(checkRet, false);
1031 LOG_INFO(UDMF_TEST, "FlexibleType012 end.");
1032 }
1033
1034 /**
1035 * @tc.name: FlexibleType013
1036 * @tc.desc: Normal testcase of flexibleType, flexibleType cmp with preset UTD.
1037 * @tc.type: FUNC
1038 */
1039 HWTEST_F(UtdClientTest, FlexibleType013, TestSize.Level1)
1040 {
1041 LOG_INFO(UDMF_TEST, "FlexibleType013 begin.");
1042 std::string filenameExtension = ".mytext";
1043 std::string blongsToType = "general.plain-text";
1044 std::string flexTypeId1;
1045 auto status =
1046 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, flexTypeId1, blongsToType);
1047 EXPECT_EQ(status, E_OK);
1048 LOG_INFO(UDMF_TEST, "FlexibleType013, flexTypeId1 = %{public}s.", flexTypeId1.c_str());
1049 std::shared_ptr<TypeDescriptor> descriptor1;
1050 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId1, descriptor1);
1051 EXPECT_EQ(status, E_OK);
1052
1053 std::string filenameExtension2 = ".myvideo";
1054 std::string blongsToType2 = "general.video";
1055 std::string flexTypeId2;
1056 status =
1057 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension2, flexTypeId2, blongsToType2);
1058 EXPECT_EQ(status, E_OK);
1059 LOG_INFO(UDMF_TEST, "FlexibleType013, flexTypeId2 = %{public}s.", flexTypeId2.c_str());
1060 bool checkRet = false;
1061 ASSERT_NE(descriptor1, nullptr);
1062 status = descriptor1->IsLowerLevelType(flexTypeId2, checkRet); // cmp with flexbile type.
1063 EXPECT_EQ(status, E_OK);
1064 EXPECT_EQ(checkRet, false);
1065 LOG_INFO(UDMF_TEST, "FlexibleType013 end.");
1066 }
1067
1068 /**
1069 * @tc.name: FlexibleType014
1070 * @tc.desc: Normal testcase of flexibleType, flexibleType cmp with preset UTD.
1071 * @tc.type: FUNC
1072 */
1073 HWTEST_F(UtdClientTest, FlexibleType014, TestSize.Level1)
1074 {
1075 LOG_INFO(UDMF_TEST, "FlexibleType014 begin.");
1076 std::string filenameExtension = ".mytext";
1077 std::string blongsToType = "general.plain-text";
1078 std::string flexTypeId;
1079 auto status =
1080 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, flexTypeId, blongsToType);
1081 EXPECT_EQ(status, E_OK);
1082 LOG_INFO(UDMF_TEST, "FlexibleType014, flexTypeId = %{public}s.", flexTypeId.c_str());
1083 std::shared_ptr<TypeDescriptor> descriptor;
1084 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId, descriptor);
1085 EXPECT_EQ(status, E_OK);
1086 EXPECT_EQ(descriptor->GetTypeId(), flexTypeId);
1087 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.plain-text");
1088 EXPECT_EQ(descriptor->GetDescription().empty(), true);
1089 EXPECT_EQ(descriptor->GetIconFile().empty(), true);
1090 EXPECT_EQ(descriptor->GetMimeTypes().empty(), true);
1091 EXPECT_EQ(*(descriptor->GetFilenameExtensions().begin()), ".mytext");
1092 bool checkRet = false;
1093 ASSERT_NE(descriptor, nullptr);
1094 status = descriptor->IsLowerLevelType("general.invaildType", checkRet); // cmp with invaild type.
1095 EXPECT_EQ(status, E_INVALID_PARAMETERS);
1096 EXPECT_EQ(checkRet, false);
1097 LOG_INFO(UDMF_TEST, "FlexibleType014 end.");
1098 }
1099
1100 /**
1101 * @tc.name: FlexibleType021
1102 * @tc.desc: Normal testcase of flexibleType, flexibleType cmp with preset UTD.
1103 * @tc.type: FUNC
1104 */
1105 HWTEST_F(UtdClientTest, FlexibleType021, TestSize.Level1)
1106 {
1107 LOG_INFO(UDMF_TEST, "FlexibleType021 begin.");
1108 std::string filenameExtension = ".mytext";
1109 std::string blongsToType = "general.plain-text";
1110 std::string flexTypeId;
1111 auto status =
1112 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, flexTypeId, blongsToType);
1113 EXPECT_EQ(status, E_OK);
1114 LOG_INFO(UDMF_TEST, "FlexibleType021, flexTypeId = %{public}s.", flexTypeId.c_str());
1115 std::shared_ptr<TypeDescriptor> descriptor;
1116 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId, descriptor);
1117 EXPECT_EQ(status, E_OK);
1118 EXPECT_EQ(descriptor->GetTypeId(), flexTypeId);
1119 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.plain-text");
1120 EXPECT_EQ(descriptor->GetDescription().empty(), true);
1121 EXPECT_EQ(descriptor->GetIconFile().empty(), true);
1122 EXPECT_EQ(descriptor->GetMimeTypes().empty(), true);
1123 EXPECT_EQ(*(descriptor->GetFilenameExtensions().begin()), ".mytext");
1124 bool checkRet = false;
1125 ASSERT_NE(descriptor, nullptr);
1126 status = descriptor->BelongsTo("general.object", checkRet);
1127 EXPECT_EQ(status, E_OK);
1128 EXPECT_EQ(checkRet, true);
1129 LOG_INFO(UDMF_TEST, "FlexibleType021 end.");
1130 }
1131
1132 /**
1133 * @tc.name: FlexibleType022
1134 * @tc.desc: Normal testcase of flexibleType, flexibleType cmp with preset UTD.
1135 * @tc.type: FUNC
1136 */
1137 HWTEST_F(UtdClientTest, FlexibleType022, TestSize.Level1)
1138 {
1139 LOG_INFO(UDMF_TEST, "FlexibleType022 begin.");
1140 std::string filenameExtension = ".mytext";
1141 std::string blongsToType = "general.plain-text";
1142 std::string flexTypeId;
1143 auto status =
1144 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, flexTypeId, blongsToType);
1145 EXPECT_EQ(status, E_OK);
1146 LOG_INFO(UDMF_TEST, "FlexibleType022, flexTypeId = %{public}s.", flexTypeId.c_str());
1147 std::shared_ptr<TypeDescriptor> descriptor;
1148 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId, descriptor);
1149 EXPECT_EQ(status, E_OK);
1150 EXPECT_EQ(descriptor->GetTypeId(), flexTypeId);
1151 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.plain-text");
1152 EXPECT_EQ(descriptor->GetDescription().empty(), true);
1153 EXPECT_EQ(descriptor->GetIconFile().empty(), true);
1154 EXPECT_EQ(descriptor->GetMimeTypes().empty(), true);
1155 EXPECT_EQ(*(descriptor->GetFilenameExtensions().begin()), ".mytext");
1156 bool checkRet = false;
1157 ASSERT_NE(descriptor, nullptr);
1158 status = descriptor->BelongsTo(flexTypeId, checkRet); // cmp with self.
1159 EXPECT_EQ(status, E_OK);
1160 EXPECT_EQ(checkRet, true);
1161 LOG_INFO(UDMF_TEST, "FlexibleType022 end.");
1162 }
1163
1164 /**
1165 * @tc.name: FlexibleType023
1166 * @tc.desc: Normal testcase of flexibleType, flexibleType cmp with preset UTD.
1167 * @tc.type: FUNC
1168 */
1169 HWTEST_F(UtdClientTest, FlexibleType023, TestSize.Level1)
1170 {
1171 LOG_INFO(UDMF_TEST, "FlexibleType023 begin.");
1172 std::string filenameExtension = ".mytext";
1173 std::string blongsToType = "general.plain-text";
1174 std::string flexTypeId1;
1175 auto status =
1176 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, flexTypeId1, blongsToType);
1177 EXPECT_EQ(status, E_OK);
1178 LOG_INFO(UDMF_TEST, "FlexibleType023, flexTypeId1 = %{public}s.", flexTypeId1.c_str());
1179 std::shared_ptr<TypeDescriptor> descriptor1;
1180 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId1, descriptor1);
1181 EXPECT_EQ(status, E_OK);
1182
1183 std::string filenameExtension2 = ".myvideo";
1184 std::string blongsToType2 = "general.video";
1185 std::string flexTypeId2;
1186 status =
1187 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension2, flexTypeId2, blongsToType2);
1188 EXPECT_EQ(status, E_OK);
1189 LOG_INFO(UDMF_TEST, "FlexibleType023, flexTypeId2 = %{public}s.", flexTypeId2.c_str());
1190 bool checkRet = false;
1191 ASSERT_NE(descriptor1, nullptr);
1192 status = descriptor1->BelongsTo(flexTypeId2, checkRet); // cmp with flexbile type.
1193 EXPECT_EQ(status, E_OK);
1194 EXPECT_EQ(checkRet, false);
1195 LOG_INFO(UDMF_TEST, "FlexibleType023 end.");
1196 }
1197
1198
1199 /**
1200 * @tc.name: FlexibleType024
1201 * @tc.desc: Normal testcase of flexibleType, flexibleType cmp with preset UTD.
1202 * @tc.type: FUNC
1203 */
1204 HWTEST_F(UtdClientTest, FlexibleType024, TestSize.Level1)
1205 {
1206 LOG_INFO(UDMF_TEST, "FlexibleType024 begin.");
1207 std::string filenameExtension = ".mytext";
1208 std::string blongsToType = "general.plain-text";
1209 std::string flexTypeId;
1210 auto status =
1211 UtdClient::GetInstance().GetUniformDataTypeByFilenameExtension(filenameExtension, flexTypeId, blongsToType);
1212 EXPECT_EQ(status, E_OK);
1213 LOG_INFO(UDMF_TEST, "FlexibleType024, flexTypeId = %{public}s.", flexTypeId.c_str());
1214 std::shared_ptr<TypeDescriptor> descriptor;
1215 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId, descriptor);
1216 EXPECT_EQ(status, E_OK);
1217 EXPECT_EQ(descriptor->GetTypeId(), flexTypeId);
1218 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.plain-text");
1219 EXPECT_EQ(descriptor->GetDescription().empty(), true);
1220 EXPECT_EQ(descriptor->GetIconFile().empty(), true);
1221 EXPECT_EQ(descriptor->GetMimeTypes().empty(), true);
1222 EXPECT_EQ(*(descriptor->GetFilenameExtensions().begin()), ".mytext");
1223 bool checkRet = false;
1224 ASSERT_NE(descriptor, nullptr);
1225 status = descriptor->BelongsTo("general.invaildType", checkRet); // cmp with invaild type.
1226 EXPECT_EQ(status, E_INVALID_PARAMETERS);
1227 LOG_INFO(UDMF_TEST, "FlexibleType024 end.");
1228 }
1229
1230 /**
1231 * @tc.name: IsUtd001
1232 * @tc.desc: IsUtd
1233 * @tc.type: FUNC
1234 */
1235 HWTEST_F(UtdClientTest, IsUtd001, TestSize.Level1)
1236 {
1237 LOG_INFO(UDMF_TEST, "IsUtd001 begin.");
1238 bool result = false;
1239 auto status = UtdClient::GetInstance().IsUtd("general.mp3", result);
1240 EXPECT_EQ(status, E_OK);
1241 EXPECT_EQ(result, true);
1242 status = UtdClient::GetInstance().IsUtd("com.amazon.azw3", result);
1243 EXPECT_EQ(status, E_OK);
1244 EXPECT_EQ(result, true);
1245 status = UtdClient::GetInstance().IsUtd("general.cer-certificate", result);
1246 EXPECT_EQ(status, E_OK);
1247 EXPECT_EQ(result, true);
1248 status = UtdClient::GetInstance().IsUtd("general.system", result);
1249 EXPECT_EQ(status, E_OK);
1250 EXPECT_EQ(result, true);
1251 status = UtdClient::GetInstance().IsUtd("com.example.demo.mytype-azw3", result);
1252 EXPECT_EQ(status, E_OK);
1253 EXPECT_EQ(result, true);
1254 status = UtdClient::GetInstance().IsUtd("com.example.demo.mytype", result);
1255 EXPECT_EQ(status, E_OK);
1256 EXPECT_EQ(result, true);
1257 status = UtdClient::GetInstance().IsUtd("com.example.demo.mytype3", result);
1258 EXPECT_EQ(status, E_OK);
1259 EXPECT_EQ(result, true);
1260 status = UtdClient::GetInstance().IsUtd("com.example.demo2.mytype3", result);
1261 EXPECT_EQ(status, E_OK);
1262 EXPECT_EQ(result, true);
1263 status = UtdClient::GetInstance().IsUtd("system.haha", result);
1264 EXPECT_EQ(status, E_OK);
1265 EXPECT_EQ(result, false);
1266 status = UtdClient::GetInstance().IsUtd("hello.text", result);
1267 EXPECT_EQ(status, E_OK);
1268 EXPECT_EQ(result, false);
1269 std::vector<TypeDescriptorCfg> allUTD = PresetTypeDescriptors::GetInstance().GetPresetTypes();
1270 for (auto item : allUTD) {
1271 status = UtdClient::GetInstance().IsUtd(item.typeId, result);
1272 EXPECT_EQ(status, E_OK);
1273 if (!result) {
1274 LOG_ERROR(UDMF_TEST, "IsUtd001 item is %{public}s is check fail. ", item.typeId.c_str());
1275 }
1276 EXPECT_EQ(result, true);
1277 }
1278 LOG_INFO(UDMF_TEST, "IsUtd001 end.");
1279 }
1280
1281 /**
1282 * @tc.name: IsUtd002
1283 * @tc.desc: IsUtd
1284 * @tc.type: FUNC
1285 */
1286 HWTEST_F(UtdClientTest, IsUtd002, TestSize.Level1)
1287 {
1288 LOG_INFO(UDMF_TEST, "IsUtd002 begin.");
1289 bool result = false;
1290 auto status = UtdClient::GetInstance().IsUtd("BROWSER", result);
1291 EXPECT_EQ(status, E_OK);
1292 EXPECT_EQ(result, false);
1293 status = UtdClient::GetInstance().IsUtd("IMAGE", result);
1294 EXPECT_EQ(status, E_OK);
1295 EXPECT_EQ(result, false);
1296 status = UtdClient::GetInstance().IsUtd("AUDIO", result);
1297 EXPECT_EQ(status, E_OK);
1298 EXPECT_EQ(result, false);
1299 status = UtdClient::GetInstance().IsUtd("VIDEO", result);
1300 EXPECT_EQ(status, E_OK);
1301 EXPECT_EQ(result, false);
1302 status = UtdClient::GetInstance().IsUtd("PDF", result);
1303 EXPECT_EQ(status, E_OK);
1304 EXPECT_EQ(result, false);
1305 status = UtdClient::GetInstance().IsUtd("WORD", result);
1306 EXPECT_EQ(status, E_OK);
1307 EXPECT_EQ(result, false);
1308 status = UtdClient::GetInstance().IsUtd("EXCEL", result);
1309 EXPECT_EQ(status, E_OK);
1310 EXPECT_EQ(result, false);
1311 status = UtdClient::GetInstance().IsUtd("PPT", result);
1312 EXPECT_EQ(status, E_OK);
1313 EXPECT_EQ(result, false);
1314 status = UtdClient::GetInstance().IsUtd("EMAIL", result);
1315 EXPECT_EQ(status, E_OK);
1316 EXPECT_EQ(result, false);
1317 status = UtdClient::GetInstance().IsUtd("txt", result);
1318 EXPECT_EQ(status, E_OK);
1319 EXPECT_EQ(result, false);
1320 status = UtdClient::GetInstance().IsUtd("abcdef", result);
1321 EXPECT_EQ(status, E_OK);
1322 EXPECT_EQ(result, false);
1323 LOG_INFO(UDMF_TEST, "IsUtd002 end.");
1324 }
1325
1326 /**
1327 * @tc.name: IsUtd003
1328 * @tc.desc: IsUtd
1329 * @tc.type: FUNC
1330 */
1331 HWTEST_F(UtdClientTest, IsUtd003, TestSize.Level1)
1332 {
1333 LOG_INFO(UDMF_TEST, "IsUtd003 begin.");
1334 bool result = false;
1335 auto status = UtdClient::GetInstance().IsUtd("*/*", result);
1336 EXPECT_EQ(status, E_OK);
1337 EXPECT_EQ(result, false);
1338 status = UtdClient::GetInstance().IsUtd("text/*", result);
1339 EXPECT_EQ(status, E_OK);
1340 EXPECT_EQ(result, false);
1341 status = UtdClient::GetInstance().IsUtd("image/*", result);
1342 EXPECT_EQ(status, E_OK);
1343 EXPECT_EQ(result, false);
1344 status = UtdClient::GetInstance().IsUtd("video/*", result);
1345 EXPECT_EQ(status, E_OK);
1346 EXPECT_EQ(result, false);
1347 status = UtdClient::GetInstance().IsUtd("audio/*", result);
1348 EXPECT_EQ(status, E_OK);
1349 EXPECT_EQ(result, false);
1350 status = UtdClient::GetInstance().IsUtd("audio/aiff", result);
1351 EXPECT_EQ(status, E_OK);
1352 EXPECT_EQ(result, false);
1353 LOG_INFO(UDMF_TEST, "IsUtd001 end.");
1354 }
1355
1356 /**
1357 * @tc.name: IsUtd004
1358 * @tc.desc: IsUtd
1359 * @tc.type: FUNC
1360 */
1361 HWTEST_F(UtdClientTest, IsUtd004, TestSize.Level1)
1362 {
1363 LOG_INFO(UDMF_TEST, "IsUtd004 begin.");
1364 bool result = false;
1365 auto status = UtdClient::GetInstance().IsUtd(".TXT", result);
1366 EXPECT_EQ(status, E_OK);
1367 EXPECT_EQ(result, false);
1368 status = UtdClient::GetInstance().IsUtd(".MP3", result);
1369 EXPECT_EQ(status, E_OK);
1370 EXPECT_EQ(result, false);
1371 status = UtdClient::GetInstance().IsUtd(".3gp", result);
1372 EXPECT_EQ(status, E_OK);
1373 EXPECT_EQ(result, false);
1374 status = UtdClient::GetInstance().IsUtd(".txt", result);
1375 EXPECT_EQ(status, E_OK);
1376 EXPECT_EQ(result, false);
1377 status = UtdClient::GetInstance().IsUtd(".TXT", result);
1378 EXPECT_EQ(status, E_OK);
1379 EXPECT_EQ(result, false);
1380 status = UtdClient::GetInstance().IsUtd(".MP3", result);
1381 EXPECT_EQ(status, E_OK);
1382 EXPECT_EQ(result, false);
1383 status = UtdClient::GetInstance().IsUtd(".3gp", result);
1384 EXPECT_EQ(status, E_OK);
1385 EXPECT_EQ(result, false);
1386 status = UtdClient::GetInstance().IsUtd("abcdef", result);
1387 EXPECT_EQ(status, E_OK);
1388 EXPECT_EQ(result, false);
1389 LOG_INFO(UDMF_TEST, "IsUtd004 end.");
1390 }
1391
1392 /**
1393 * @tc.name: GetUniformDataTypeByMIMETypeByPrefix001
1394 * @tc.desc: normal testcase of GetUniformDataTypeByMIMEType by prefix.
1395 * @tc.type: FUNC
1396 */
1397 HWTEST_F(UtdClientTest, GetUniformDataTypeByMIMETypeByPrefix001, TestSize.Level1)
1398 {
1399 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMETypeByPrefix001 begin.");
1400 std::string mimeType = "application/vnd.openxmlformats-officedocument.*";
1401 std::string currType;
1402 auto status = UtdClient::GetInstance().GetUniformDataTypeByMIMEType(mimeType, currType);
1403 EXPECT_EQ(status, E_OK);
1404 std::shared_ptr<TypeDescriptor> descriptor;
1405 status = UtdClient::GetInstance().GetTypeDescriptor(currType, descriptor);
1406 EXPECT_EQ(status, E_OK);
1407 EXPECT_EQ(descriptor->GetTypeId(), "general.composite-object");
1408 EXPECT_EQ(descriptor->GetTypeId(), currType);
1409
1410 std::string mimeType2 = "application/vnd.openxmlformats-officedocument.wordprocessingml.*";
1411 std::string currType2;
1412 status = UtdClient::GetInstance().GetUniformDataTypeByMIMEType(mimeType2, currType2);
1413 EXPECT_EQ(status, E_OK);
1414 status = UtdClient::GetInstance().GetTypeDescriptor(currType2, descriptor);
1415 EXPECT_EQ(status, E_OK);
1416 EXPECT_EQ(descriptor->GetTypeId(), "general.composite-object");
1417 EXPECT_EQ(descriptor->GetTypeId(), currType2);
1418 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMETypeByPrefix001 end.");
1419 }
1420
1421 /**
1422 * @tc.name: GetUniformDataTypeByMIMETypeByPrefix002
1423 * @tc.desc: normal testcase of GetUniformDataTypeByMIMEType by prefix.
1424 * @tc.type: FUNC
1425 */
1426 HWTEST_F(UtdClientTest, GetUniformDataTypeByMIMETypeByPrefix002, TestSize.Level1)
1427 {
1428 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMETypeByPrefix002 begin.");
1429 std::string mimeType = "application/vnd.openxmlformats-OFFICEdocument.*";
1430 std::string currType;
1431 auto status = UtdClient::GetInstance().GetUniformDataTypeByMIMEType(mimeType, currType);
1432 EXPECT_EQ(status, E_OK);
1433 std::shared_ptr<TypeDescriptor> descriptor;
1434 status = UtdClient::GetInstance().GetTypeDescriptor(currType, descriptor);
1435 EXPECT_EQ(status, E_OK);
1436 EXPECT_EQ(descriptor->GetTypeId(), "general.composite-object");
1437 EXPECT_EQ(descriptor->GetTypeId(), currType);
1438
1439 std::string mimeType2 = "application/vnd.openxmlformats-OFFICEdocument.wordprocessingml.*";
1440 std::string currType2;
1441 status = UtdClient::GetInstance().GetUniformDataTypeByMIMEType(mimeType2, currType2);
1442 EXPECT_EQ(status, E_OK);
1443 status = UtdClient::GetInstance().GetTypeDescriptor(currType2, descriptor);
1444 EXPECT_EQ(status, E_OK);
1445 EXPECT_EQ(descriptor->GetTypeId(), "general.composite-object");
1446 EXPECT_EQ(descriptor->GetTypeId(), currType2);
1447 LOG_INFO(UDMF_TEST, "GetUniformDataTypeByMIMETypeByPrefix002 end.");
1448 }
1449
1450 /**
1451 * @tc.name: GetUniformDataTypesByFilenameExtension001
1452 * @tc.desc: Normal testcase of GetUniformDataTypesByFilenameExtension, if filtered by blongsToType
1453 * @tc.type: FUNC
1454 */
1455 HWTEST_F(UtdClientTest, GetUniformDataTypesByFilenameExtension001, TestSize.Level1)
1456 {
1457 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension001 begin.");
1458 std::string filenameExtension = ".azw3";
1459 std::string blongsToType = "general.ebook";
1460 std::vector<std::string> currTypes;
1461 auto status =
1462 UtdClient::GetInstance().GetUniformDataTypesByFilenameExtension(filenameExtension, currTypes);
1463 ASSERT_EQ(status, E_OK);
1464 ASSERT_EQ(currTypes.size(), 1);
1465 ASSERT_EQ(currTypes[0], "com.amazon.azw3");
1466
1467 status =
1468 UtdClient::GetInstance().GetUniformDataTypesByFilenameExtension(filenameExtension, currTypes, blongsToType);
1469 ASSERT_EQ(status, E_OK);
1470 ASSERT_EQ(currTypes.size(), 1);
1471 ASSERT_EQ(currTypes[0], "com.amazon.azw3");
1472 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension001 end.");
1473 }
1474
1475 /**
1476 * @tc.name: GetUniformDataTypesByFilenameExtension002
1477 * @tc.desc: Normal testcase of GetUniformDataTypesByFilenameExtension
1478 * @tc.type: FUNC
1479 */
1480 HWTEST_F(UtdClientTest, GetUniformDataTypesByFilenameExtension002, TestSize.Level1)
1481 {
1482 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension002 begin.");
1483 std::string filenameExtension = ".ts";
1484 std::vector<std::string> currTypes;
1485 auto status =
1486 UtdClient::GetInstance().GetUniformDataTypesByFilenameExtension(filenameExtension, currTypes);
1487 ASSERT_EQ(status, E_OK);
1488 ASSERT_EQ(currTypes.size(), 2);
1489 auto find1 = std::find(currTypes.begin(), currTypes.end(), "general.type-script") != currTypes.end();
1490 auto find2 = std::find(currTypes.begin(), currTypes.end(), "general.ts") != currTypes.end();
1491 ASSERT_EQ(find1, true);
1492 ASSERT_EQ(find2, true);
1493 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension002 end.");
1494 }
1495
1496 /**
1497 * @tc.name: GetUniformDataTypesByFilenameExtension003
1498 * @tc.desc: Normal testcase of GetUniformDataTypesByFilenameExtension, if filtered by blongsToType
1499 * @tc.type: FUNC
1500 */
1501 HWTEST_F(UtdClientTest, GetUniformDataTypesByFilenameExtension003, TestSize.Level1)
1502 {
1503 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension003 begin.");
1504 std::string filenameExtension = ".ts";
1505 std::vector<std::string> currTypes;
1506 std::string blongsToType = "general.text";
1507 auto status =
1508 UtdClient::GetInstance().GetUniformDataTypesByFilenameExtension(filenameExtension, currTypes, blongsToType);
1509 ASSERT_EQ(status, E_OK);
1510 ASSERT_EQ(currTypes.size(), 1);
1511 ASSERT_EQ(currTypes[0], "general.type-script");
1512
1513 blongsToType = "general.video";
1514 status =
1515 UtdClient::GetInstance().GetUniformDataTypesByFilenameExtension(filenameExtension, currTypes, blongsToType);
1516 ASSERT_EQ(status, E_OK);
1517 ASSERT_EQ(currTypes.size(), 1);
1518 ASSERT_EQ(currTypes[0], "general.ts");
1519
1520 blongsToType = "general.shell-script";
1521 status =
1522 UtdClient::GetInstance().GetUniformDataTypesByFilenameExtension(filenameExtension, currTypes, blongsToType);
1523 ASSERT_EQ(status, E_OK);
1524 ASSERT_EQ(currTypes.size(), 1);
1525 ASSERT_EQ(currTypes[0].rfind("flex.z", 0), 0);
1526 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension003 end.");
1527 }
1528
1529 /**
1530 * @tc.name: GetUniformDataTypesByFilenameExtension004
1531 * @tc.desc: Normal testcase of GetUniformDataTypesByFilenameExtension with flexibleType
1532 * @tc.type: FUNC
1533 */
1534 HWTEST_F(UtdClientTest, GetUniformDataTypesByFilenameExtension004, TestSize.Level1)
1535 {
1536 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension004 begin.");
1537 std::string filenameExtension = ".mytext";
1538 std::string blongsToType = "general.plain-text";
1539 std::vector<std::string> flexTypeIds;
1540 auto status =
1541 UtdClient::GetInstance().GetUniformDataTypesByFilenameExtension(filenameExtension, flexTypeIds, blongsToType);
1542 EXPECT_EQ(status, E_OK);
1543 ASSERT_EQ(flexTypeIds.size(), 1);
1544 std::string flexTypeId = flexTypeIds[0];
1545 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension004, flexTypeId = %{public}s.", flexTypeId.c_str());
1546 std::shared_ptr<TypeDescriptor> descriptor;
1547 status = UtdClient::GetInstance().GetTypeDescriptor(flexTypeId, descriptor);
1548 EXPECT_EQ(status, E_OK);
1549 EXPECT_EQ(descriptor->GetTypeId(), flexTypeId);
1550 EXPECT_EQ(*(descriptor->GetBelongingToTypes().begin()), "general.plain-text");
1551 EXPECT_EQ(descriptor->GetDescription().empty(), true);
1552 EXPECT_EQ(descriptor->GetIconFile().empty(), true);
1553 EXPECT_EQ(descriptor->GetMimeTypes().empty(), true);
1554 EXPECT_EQ(*(descriptor->GetFilenameExtensions().begin()), ".mytext");
1555 bool checkRet = false;
1556 ASSERT_NE(descriptor, nullptr);
1557 status = descriptor->IsHigherLevelType("general.object", checkRet); // cmp with gengral type.
1558 EXPECT_EQ(status, E_OK);
1559 EXPECT_EQ(checkRet, false);
1560 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension004 end.");
1561 }
1562
1563 /**
1564 * @tc.name: GetUniformDataTypesByMIMEType001
1565 * @tc.desc: Normal testcase of GetUniformDataTypesByMIMEType, if filtered by blongsToType
1566 * @tc.type: FUNC
1567 */
1568 HWTEST_F(UtdClientTest, GetUniformDataTypesByMIMEType001, TestSize.Level1)
1569 {
1570 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByMIMEType001 begin.");
1571 std::string mimeType = "application/x-mobi8-ebook";
1572 std::string blongsToType = "general.ebook";
1573 std::vector<std::string> currTypes;
1574 auto status = UtdClient::GetInstance().GetUniformDataTypesByMIMEType(mimeType, currTypes);
1575 ASSERT_EQ(status, E_OK);
1576 ASSERT_EQ(currTypes.size(), 1);
1577 ASSERT_EQ(currTypes[0], "com.amazon.azw3");
1578
1579 status = UtdClient::GetInstance().GetUniformDataTypesByMIMEType(mimeType, currTypes, blongsToType);
1580 ASSERT_EQ(status, E_OK);
1581 ASSERT_EQ(currTypes.size(), 1);
1582 ASSERT_EQ(currTypes[0], "com.amazon.azw3");
1583 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByMIMEType001 end.");
1584 }
1585
1586 /**
1587 * @tc.name: GetUniformDataTypesByMIMEType002
1588 * @tc.desc: Normal testcase of GetUniformDataTypesByMIMEType, if filtered by blongsToType
1589 * @tc.type: FUNC
1590 */
1591 HWTEST_F(UtdClientTest, GetUniformDataTypesByMIMEType002, TestSize.Level1)
1592 {
1593 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByMIMEType002 begin.");
1594 std::string mimeType = "application/msword";
1595 std::vector<std::string> currTypes;
1596 std::string blongsToType = "general.composite-object";
1597 auto status = UtdClient::GetInstance().GetUniformDataTypesByMIMEType(mimeType, currTypes);
1598 ASSERT_EQ(status, E_OK);
1599 ASSERT_EQ(currTypes.size(), 2);
1600 auto find1 = std::find(currTypes.begin(), currTypes.end(), "com.microsoft.word.doc") != currTypes.end();
1601 auto find2 = std::find(currTypes.begin(), currTypes.end(), "com.microsoft.word.dot") != currTypes.end();
1602 ASSERT_EQ(find1, true);
1603 ASSERT_EQ(find2, true);
1604
1605 status = UtdClient::GetInstance().GetUniformDataTypesByMIMEType(mimeType, currTypes, blongsToType);
1606 ASSERT_EQ(status, E_OK);
1607 ASSERT_EQ(currTypes.size(), 2);
1608 find1 = std::find(currTypes.begin(), currTypes.end(), "com.microsoft.word.doc") != currTypes.end();
1609 find2 = std::find(currTypes.begin(), currTypes.end(), "com.microsoft.word.dot") != currTypes.end();
1610 ASSERT_EQ(find1, true);
1611 ASSERT_EQ(find2, true);
1612 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByMIMEType002 end.");
1613 }
1614
1615 /**
1616 * @tc.name: GetUniformDataTypesByMIMEType003
1617 * @tc.desc: Normal testcase of GetUniformDataTypesByMIMEType, if filtered by blongsToType
1618 * @tc.type: FUNC
1619 */
1620 HWTEST_F(UtdClientTest, GetUniformDataTypesByMIMEType003, TestSize.Level1)
1621 {
1622 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByMIMEType003 begin.");
1623 std::string mimeType = "video/x-ms-asf";
1624 std::vector<std::string> currTypes;
1625 std::string blongsToType = "general.media";
1626 auto status = UtdClient::GetInstance().GetUniformDataTypesByMIMEType(mimeType, currTypes, blongsToType);
1627 ASSERT_EQ(status, E_OK);
1628 ASSERT_EQ(currTypes.size(), 2);
1629 auto find1 = std::find(currTypes.begin(), currTypes.end(),
1630 "com.microsoft.advanced-systems-format") != currTypes.end();
1631 auto find2 = std::find(currTypes.begin(), currTypes.end(),
1632 "com.microsoft.advanced-stream-redirector") != currTypes.end();
1633 ASSERT_EQ(find1, true);
1634 ASSERT_EQ(find2, true);
1635
1636 blongsToType = "general.video";
1637 status = UtdClient::GetInstance().GetUniformDataTypesByMIMEType(mimeType, currTypes, blongsToType);
1638 ASSERT_EQ(status, E_OK);
1639 ASSERT_EQ(currTypes.size(), 1);
1640 ASSERT_EQ(currTypes[0], "com.microsoft.advanced-stream-redirector");
1641
1642 blongsToType = "general.text";
1643 status = UtdClient::GetInstance().GetUniformDataTypesByMIMEType(mimeType, currTypes, blongsToType);
1644 ASSERT_EQ(status, E_OK);
1645 ASSERT_EQ(currTypes.size(), 1);
1646 ASSERT_EQ(currTypes[0].rfind("flex.z", 0), 0);
1647 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByMIMEType003 end.");
1648 }
1649
1650 /**
1651 * @tc.name: GetUniformDataTypesByMIMETypeByPrefix001
1652 * @tc.desc: normal testcase of GetUniformDatasTypeByMIMEType by prefix.
1653 * @tc.type: FUNC
1654 */
1655 HWTEST_F(UtdClientTest, GetUniformDataTypesByMIMETypeByPrefix001, TestSize.Level1)
1656 {
1657 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByMIMETypeByPrefix001 begin.");
1658 std::string mimeType = "model/*";
1659 std::vector<std::string> currTypes;
1660 auto status = UtdClient::GetInstance().GetUniformDataTypesByMIMEType(mimeType, currTypes);
1661 ASSERT_EQ(status, E_OK);
1662 ASSERT_EQ(currTypes.size(), 3);
1663 auto find1 = std::find(currTypes.begin(), currTypes.end(), "general.iges") != currTypes.end();
1664 auto find2 = std::find(currTypes.begin(), currTypes.end(), "general.mesh-model") != currTypes.end();
1665 auto find3 = std::find(currTypes.begin(), currTypes.end(), "com.autodesk.dwf") != currTypes.end();
1666 ASSERT_EQ(find1, true);
1667 ASSERT_EQ(find2, true);
1668 ASSERT_EQ(find3, true);
1669 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByMIMETypeByPrefix001 end.");
1670 }
1671
1672 /**
1673 * @tc.name: IsValidMimeType001,
1674 * @tc.desc: Abnormal testcase of IsValidMimeType, mimeType contains "?"
1675 * @tc.type: FUNC
1676 */
1677 HWTEST_F(UtdClientTest, IsValidMimeType001, TestSize.Level1)
1678 {
1679 LOG_INFO(UDMF_TEST, "IsValidMimeType001 begin.");
1680 const std::string mimeType = "mimeType?";
1681 UtdClient utdClient;
1682 bool ret = utdClient.IsValidMimeType(mimeType);
1683 EXPECT_EQ(ret, false);
1684 LOG_INFO(UDMF_TEST, "IsValidMimeType001 end.");
1685 }
1686
1687 /**
1688 * @tc.name: IsValidMimeType002
1689 * @tc.desc: Abnormal testcase of IsValidMimeType, mimeType contains ":"
1690 * @tc.type: FUNC
1691 */
1692 HWTEST_F(UtdClientTest, IsValidMimeType002, TestSize.Level1)
1693 {
1694 LOG_INFO(UDMF_TEST, "IsValidMimeType002 begin.");
1695 const std::string mimeType = "mimeType:";
1696 UtdClient utdClient;
1697 bool ret = utdClient.IsValidMimeType(mimeType);
1698 EXPECT_EQ(ret, false);
1699 LOG_INFO(UDMF_TEST, "IsValidMimeType002 end.");
1700 }
1701
1702 /**
1703 * @tc.name: IsValidMimeType003
1704 * @tc.desc: Abnormal testcase of IsValidMimeType, mimeType contains "="
1705 * @tc.type: FUNC
1706 */
1707 HWTEST_F(UtdClientTest, IsValidMimeType003, TestSize.Level1)
1708 {
1709 LOG_INFO(UDMF_TEST, "IsValidMimeType003 begin.");
1710 const std::string mimeType = "mimeType=";
1711 UtdClient utdClient;
1712 bool ret = utdClient.IsValidMimeType(mimeType);
1713 EXPECT_EQ(ret, false);
1714 LOG_INFO(UDMF_TEST, "IsValidMimeType003 end.");
1715 }
1716
1717 /**
1718 * @tc.name: IsValidMimeType004
1719 * @tc.desc: Abnormal testcase of IsValidMimeType, mimeType contains "\\"
1720 * @tc.type: FUNC
1721 */
1722 HWTEST_F(UtdClientTest, IsValidMimeType004, TestSize.Level1)
1723 {
1724 LOG_INFO(UDMF_TEST, "IsValidMimeType004 begin.");
1725 const std::string mimeType = "mimeType\\";
1726 UtdClient utdClient;
1727 bool ret = utdClient.IsValidMimeType(mimeType);
1728 EXPECT_EQ(ret, false);
1729 LOG_INFO(UDMF_TEST, "IsValidMimeType004 end.");
1730 }
1731
1732 /**
1733 * @tc.name: GetFlexibleTypeDescriptor001
1734 * @tc.desc: Abnormal testcase of GetFlexibleTypeDescriptor, typeId is ""
1735 * @tc.type: FUNC
1736 */
1737 HWTEST_F(UtdClientTest, GetFlexibleTypeDescriptor001, TestSize.Level1)
1738 {
1739 LOG_INFO(UDMF_TEST, "GetFlexibleTypeDescriptor001 begin.");
1740 const std::string typeId = "";
1741 std::shared_ptr<TypeDescriptor> descriptor = nullptr;
1742 UtdClient utdClient;
1743 Status ret = utdClient.GetFlexibleTypeDescriptor(typeId, descriptor);
1744 EXPECT_EQ(ret, Status::E_ERROR);
1745 LOG_INFO(UDMF_TEST, "GetFlexibleTypeDescriptor001 end.");
1746 }
1747
1748 /**
1749 * @tc.name: GetUniformDataTypesByFilenameExtension005
1750 * @tc.desc: Abnormal testcase of GetUniformDataTypeByFilenameExtension, typeId is not empty,
1751 * belongsTo is not DEFAULT_TYPE_ID and typeId, belongsTo is not a lower level type
1752 * @tc.type: FUNC
1753 */
1754 HWTEST_F(UtdClientTest, GetUniformDataTypesByFilenameExtension005, TestSize.Level1)
1755 {
1756 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension005 begin.");
1757 const std::string fileExtension = "fileExtension";
1758 std::vector<std::string> typeIds = std::vector<std::string>();
1759 const std::string belongsTo = "";
1760 UtdClient utdClient;
1761 Status ret = utdClient.GetUniformDataTypesByFilenameExtension(fileExtension, typeIds, belongsTo);
1762 EXPECT_EQ(ret, Status::E_INVALID_PARAMETERS);
1763 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension005 end.");
1764 }
1765
1766 /**
1767 * @tc.name: GetUniformDataTypesByFilenameExtension006
1768 * @tc.desc: Normal testcase of GetUniformDataTypesByFilenameExtension, fileExtension is invaild
1769 * @tc.type: FUNC
1770 */
1771 HWTEST_F(UtdClientTest, GetUniformDataTypesByFilenameExtension006, TestSize.Level1)
1772 {
1773 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension006 begin.");
1774 std::string filenameExtension = "?application/x-mobi8-ebook";
1775 std::vector<std::string> currTypes;
1776 std::string blongsToType = "general.plain-text";
1777 Status status =
1778 UtdClient::GetInstance().GetUniformDataTypesByFilenameExtension(filenameExtension, currTypes, blongsToType);
1779 ASSERT_EQ(status, Status::E_INVALID_PARAMETERS);
1780 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByFilenameExtension006 end.");
1781 }
1782
1783 /**
1784 * @tc.name: GetTypeIdFromCfg001
1785 * @tc.desc: Abnormal testcase of GetTypeIdFromCfg, mimeType is not empty, mimeType.back() is not '*'
1786 * @tc.type: FUNC
1787 */
1788 HWTEST_F(UtdClientTest, GetTypeIdFromCfg001, TestSize.Level1)
1789 {
1790 LOG_INFO(UDMF_TEST, "GetTypeIdFromCfg001 begin.");
1791 const std::string mimeType = "mimeType";
1792 UtdClient utdClient;
1793 utdClient.descriptorCfgs_ = std::vector<TypeDescriptorCfg>();
1794 std::string ret = utdClient.GetTypeIdFromCfg(mimeType);
1795 EXPECT_EQ(ret, "");
1796 LOG_INFO(UDMF_TEST, "GetTypeIdFromCfg001 end.");
1797 }
1798
1799 /**
1800 * @tc.name: GetUniformDataTypesByMIMEType004
1801 * @tc.desc: Abnormal testcase of GetUniformDataTypesByMIMEType, mimeType is not empty, mimeType.back() is not '*'
1802 * @tc.type: FUNC
1803 */
1804 HWTEST_F(UtdClientTest, GetUniformDataTypesByMIMEType004, TestSize.Level1)
1805 {
1806 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByMIMEType004 begin.");
1807 const std::string mimeType = "mimeType";
1808 std::vector<std::string> typeIds = std::vector<std::string>();
1809 const std::string belongsTo = "";
1810 UtdClient utdClient;
1811 Status ret = utdClient.GetUniformDataTypesByMIMEType(mimeType, typeIds, belongsTo);
1812 EXPECT_EQ(ret, Status::E_INVALID_PARAMETERS);
1813 LOG_INFO(UDMF_TEST, "GetUniformDataTypesByMIMEType004 end.");
1814 }
1815
1816 /**
1817 * @tc.name: IsUtd005
1818 * @tc.desc: Abnormal testcase of IsUtd, typeId is empty
1819 * @tc.type: FUNC
1820 */
1821 HWTEST_F(UtdClientTest, IsUtd005, TestSize.Level1)
1822 {
1823 LOG_INFO(UDMF_TEST, "IsUtd005 begin.");
1824 std::string typeId = "";
1825 bool result = true;
1826 UtdClient utdClient;
1827 Status ret = utdClient.IsUtd(typeId, result);
1828 EXPECT_EQ(result, false);
1829 EXPECT_EQ(ret, Status::E_INVALID_PARAMETERS);
1830 LOG_INFO(UDMF_TEST, "IsUtd005 end.");
1831 }
1832
1833 /**
1834 * @tc.name: IsHapTokenType001
1835 * @tc.desc: Normal testcase of IsHapTokenType
1836 * @tc.type: FUNC
1837 */
1838 HWTEST_F(UtdClientTest, IsHapTokenType001, TestSize.Level1)
1839 {
1840 LOG_INFO(UDMF_TEST, "IsHapTokenType001 begin.");
1841 HapInfoParams info = {
1842 .userID = 100,
1843 .bundleName = "ohos.test.demo",
1844 .instIndex = 0,
1845 .appIDDesc = "ohos.test.demo"
1846 };
1847
1848 HapPolicyParams policy = {
1849 .apl = APL_NORMAL,
1850 .domain = "test.domain",
1851 .permList = {
1852 {
1853 .permissionName = "ohos.permission.test",
1854 .bundleName = "ohos.test.demo",
1855 .grantMode = 1,
1856 .availableLevel = APL_NORMAL,
1857 .label = "label",
1858 .labelId = 1,
1859 .description = "test",
1860 .descriptionId = 1
1861 }
1862 },
1863 .permStateList = {
1864 {
1865 .permissionName = "ohos.permission.test",
1866 .isGeneral = true,
1867 .resDeviceID = {"local"},
1868 .grantStatus = {PermissionState::PERMISSION_GRANTED},
1869 .grantFlags = {1}
1870 }
1871 }
1872 };
1873 auto tokenID = AccessTokenKit::AllocHapToken(info, policy);
1874 SetSelfTokenID(tokenID.tokenIDEx);
1875 UtdClient utdClient;
1876 bool ret = utdClient.IsHapTokenType();
1877 EXPECT_TRUE(ret);
1878 LOG_INFO(UDMF_TEST, "IsHapTokenType001 end.");
1879 }
1880 } // OHOS::Test