Skip to content

Commit 594d294

Browse files
anyj0527jaeyun-jung
authored andcommitted
[test] Add unit tests for plugin-parser
- Add more tests covering more functions for plugin other than "INSTALL" function. Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
1 parent d82ed26 commit 594d294

2 files changed

Lines changed: 96 additions & 26 deletions

File tree

plugin-parser/mlops-plugin-parser.cc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -569,10 +569,9 @@ extern "C" int
569569
PKGMGR_MDPARSER_PLUGIN_UPGRADE (const char *pkgid, const char *appid, GList *metadata)
570570
{
571571
_I ("PKGMGR_MDPARSER_PLUGIN_UPGRADE called");
572-
PKGMGR_MDPARSER_PLUGIN_UNINSTALL (pkgid, appid, metadata);
573-
PKGMGR_MDPARSER_PLUGIN_INSTALL (pkgid, appid, metadata);
574572

575-
return 0;
573+
PKGMGR_MDPARSER_PLUGIN_UNINSTALL (pkgid, appid, metadata);
574+
return PKGMGR_MDPARSER_PLUGIN_INSTALL (pkgid, appid, metadata);
576575
}
577576

578577
/**

tests/plugin-parser/unittest_mlops_plugin_parser.cc

Lines changed: 94 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ GModule *PkgMgrInfoMockTestFixture::module = nullptr;
178178
/**
179179
* @brief Negative test case of pkgmgrinfo_pkginfo_get_pkginfo() failed.
180180
*/
181-
TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n1)
181+
TEST_F (PkgMgrInfoMockTestFixture, rpk_install1_n)
182182
{
183183
std::string pkgid = "pkgid";
184184
std::string appid = "appid";
@@ -192,7 +192,7 @@ TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n1)
192192
/**
193193
* @brief Negative test case of pkgmgrinfo_pkginfo_get_type() failed.
194194
*/
195-
TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n2)
195+
TEST_F (PkgMgrInfoMockTestFixture, rpk_install2_n)
196196
{
197197
std::string pkgid = "pkgid";
198198
std::string appid = "appid";
@@ -212,7 +212,7 @@ TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n2)
212212
/**
213213
* @brief Negative test case of pkgmgrinfo_pkginfo_get_root_path() failed.
214214
*/
215-
TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n3)
215+
TEST_F (PkgMgrInfoMockTestFixture, rpk_install3_n)
216216
{
217217
std::string pkgid = "pkgid";
218218
std::string appid = "appid";
@@ -237,7 +237,7 @@ TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n3)
237237
/**
238238
* @brief Negative test case of pkgmgrinfo_pkginfo_get_res_type() failed.
239239
*/
240-
TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n4)
240+
TEST_F (PkgMgrInfoMockTestFixture, rpk_install4_n)
241241
{
242242
std::string pkgid = "pkgid";
243243
std::string appid = "appid";
@@ -265,7 +265,7 @@ TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n4)
265265
/**
266266
* @brief Negative test case of pkgmgrinfo_pkginfo_get_res_version() failed.
267267
*/
268-
TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n5)
268+
TEST_F (PkgMgrInfoMockTestFixture, rpk_install5_n)
269269
{
270270
std::string pkgid = "pkgid";
271271
std::string appid = "appid";
@@ -296,7 +296,7 @@ TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n5)
296296
/**
297297
* @brief Negative test case of invalid config file.
298298
*/
299-
TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n6)
299+
TEST_F (PkgMgrInfoMockTestFixture, rpk_install6_n)
300300
{
301301
std::string pkgid = "pkgid";
302302
std::string appid = "appid";
@@ -333,7 +333,7 @@ TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n6)
333333
/**
334334
* @brief Negative test case of invalid config file.
335335
*/
336-
TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n7)
336+
TEST_F (PkgMgrInfoMockTestFixture, rpk_install7_n)
337337
{
338338
std::string pkgid = "pkgid";
339339
std::string appid = "appid";
@@ -368,9 +368,9 @@ TEST_F (PkgMgrInfoMockTestFixture, rpk_install_n7)
368368
}
369369

370370
/**
371-
* @brief Positive test case of sample rpk package install.
371+
* @brief Positive test case of tpk package.
372372
*/
373-
TEST_F (PkgMgrInfoMockTestFixture, rpk_install_p1)
373+
TEST_F (PkgMgrInfoMockTestFixture, tpk_install_p1)
374374
{
375375
std::string pkgid = "pkgid";
376376
std::string appid = "appid";
@@ -381,49 +381,120 @@ TEST_F (PkgMgrInfoMockTestFixture, rpk_install_p1)
381381
EXPECT_CALL(*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_get_pkginfo (_, _))
382382
.WillOnce (Return (PMINFO_R_OK));
383383

384+
char pkg_type_tpk[] = "tpk";
385+
EXPECT_CALL(*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_get_type (_, _))
386+
.WillOnce (DoAll (SetArgPointee<1> (pkg_type_tpk),
387+
Return (PMINFO_R_OK)));
388+
389+
EXPECT_EQ (exec_plugin_parser_func ("PKGMGR_MDPARSER_PLUGIN_INSTALL", pkgid, appid, NULL), 0);
390+
}
391+
392+
/**
393+
* @brief Positive test case of sample rpk package install/upgrade/uninstall.
394+
*/
395+
TEST_F (PkgMgrInfoMockTestFixture, rpk_scenario_p1)
396+
{
397+
std::string pkgid = "pkgid";
398+
std::string appid = "appid";
399+
400+
EXPECT_CALL (*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_destroy_pkginfo (_))
401+
.WillRepeatedly (Return (PMINFO_R_OK));
402+
403+
EXPECT_CALL(*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_get_pkginfo (_, _))
404+
.WillRepeatedly (Return (PMINFO_R_OK));
405+
384406
char pkg_type_rpk[] = "rpk";
385407
EXPECT_CALL(*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_get_type (_, _))
386-
.WillOnce (DoAll (SetArgPointee<1> (pkg_type_rpk),
408+
.WillRepeatedly (DoAll (SetArgPointee<1> (pkg_type_rpk),
387409
Return (PMINFO_R_OK)));
388410

389411
char root_path[] = "../tests/plugin-parser/test_rpk_samples/working_rpk";
390412
EXPECT_CALL(*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_get_root_path (_, _))
391-
.WillOnce (DoAll (SetArgPointee<1> (root_path),
413+
.WillRepeatedly (DoAll (SetArgPointee<1> (root_path),
392414
Return (PMINFO_R_OK)));
393415

394416
char res_type[] = "sample-res-type";
395417
EXPECT_CALL(*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_get_res_type (_, _))
396-
.WillOnce (DoAll (SetArgPointee<1> (res_type),
418+
.WillRepeatedly (DoAll (SetArgPointee<1> (res_type),
397419
Return (PMINFO_R_OK)));
398420

399421
char res_version[] = "1.5.0";
400422
EXPECT_CALL(*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_get_res_version (_, _))
401-
.WillOnce (DoAll (SetArgPointee<1> (res_version),
423+
.WillRepeatedly (DoAll (SetArgPointee<1> (res_version),
402424
Return (PMINFO_R_OK)));
403425

426+
// install rpk
404427
EXPECT_EQ (exec_plugin_parser_func ("PKGMGR_MDPARSER_PLUGIN_INSTALL", pkgid, appid, NULL), 0);
428+
429+
// upgrade rpk
430+
EXPECT_EQ (exec_plugin_parser_func ("PKGMGR_MDPARSER_PLUGIN_UPGRADE", pkgid, appid, NULL), 0);
431+
432+
// uninstall the rpk
433+
EXPECT_EQ (exec_plugin_parser_func ("PKGMGR_MDPARSER_PLUGIN_UNINSTALL", pkgid, appid, NULL), 0);
405434
}
406435

407436
/**
408-
* @brief Positive test case of tpk package.
437+
* @brief Negative test case of RECOVERINSTALL.
409438
*/
410-
TEST_F (PkgMgrInfoMockTestFixture, tpk_install_p1)
439+
TEST_F (PkgMgrInfoMockTestFixture, RECOVERINSTALL_n)
411440
{
412441
std::string pkgid = "pkgid";
413442
std::string appid = "appid";
414443

415-
EXPECT_CALL (*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_destroy_pkginfo (_))
416-
.WillRepeatedly (Return (PMINFO_R_OK));
444+
EXPECT_CALL(*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_get_pkginfo (_, _))
445+
.WillOnce (Return (PMINFO_R_ERROR));
446+
447+
EXPECT_NE (exec_plugin_parser_func ("PKGMGR_MDPARSER_PLUGIN_RECOVERINSTALL", pkgid, appid, NULL), 0);
448+
}
449+
450+
/**
451+
* @brief Negative test case of RECOVERUPGRADE.
452+
*/
453+
TEST_F (PkgMgrInfoMockTestFixture, RECOVERUPGRADE_n)
454+
{
455+
std::string pkgid = "pkgid";
456+
std::string appid = "appid";
417457

418458
EXPECT_CALL(*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_get_pkginfo (_, _))
419-
.WillOnce (Return (PMINFO_R_OK));
459+
.WillRepeatedly (Return (PMINFO_R_ERROR));
420460

421-
char pkg_type_tpk[] = "tpk";
422-
EXPECT_CALL(*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_get_type (_, _))
423-
.WillOnce (DoAll (SetArgPointee<1> (pkg_type_tpk),
424-
Return (PMINFO_R_OK)));
461+
EXPECT_NE (exec_plugin_parser_func ("PKGMGR_MDPARSER_PLUGIN_RECOVERUPGRADE", pkgid, appid, NULL), 0);
462+
}
425463

426-
EXPECT_EQ (exec_plugin_parser_func ("PKGMGR_MDPARSER_PLUGIN_INSTALL", pkgid, appid, NULL), 0);
464+
/**
465+
* @brief Negative test case of RECOVERUNINSTALL.
466+
*/
467+
TEST_F (PkgMgrInfoMockTestFixture, RECOVERUNINSTALL_n)
468+
{
469+
std::string pkgid = "pkgid";
470+
std::string appid = "appid";
471+
472+
EXPECT_CALL(*pkgMgrInfoMockInstance, pkgmgrinfo_pkginfo_get_pkginfo (_, _))
473+
.WillOnce (Return (PMINFO_R_ERROR));
474+
475+
EXPECT_NE (exec_plugin_parser_func ("PKGMGR_MDPARSER_PLUGIN_RECOVERUNINSTALL", pkgid, appid, NULL), 0);
476+
}
477+
478+
/**
479+
* @brief Positive test case of CLEAN.
480+
*/
481+
TEST_F (PkgMgrInfoMockTestFixture, clean_p1)
482+
{
483+
std::string pkgid = "pkgid";
484+
std::string appid = "appid";
485+
486+
EXPECT_EQ (exec_plugin_parser_func ("PKGMGR_MDPARSER_PLUGIN_CLEAN", pkgid, appid, NULL), 0);
487+
}
488+
489+
/**
490+
* @brief Positive test case of UNDO.
491+
*/
492+
TEST_F (PkgMgrInfoMockTestFixture, undo_p1)
493+
{
494+
std::string pkgid = "pkgid";
495+
std::string appid = "appid";
496+
497+
EXPECT_EQ (exec_plugin_parser_func ("PKGMGR_MDPARSER_PLUGIN_UNDO", pkgid, appid, NULL), 0);
427498
}
428499

429500
/**

0 commit comments

Comments
 (0)