Add test get_cert_alias_from_store function in cert-server-logic.c 91/315891/12
authortranthanhtung2001 <tran.tung@samsung.com>
Fri, 9 Aug 2024 02:59:33 +0000 (09:59 +0700)
committertung tran <tran.tung@samsung.com>
Tue, 20 Aug 2024 11:19:47 +0000 (11:19 +0000)
Change-Id: I5e6be606e8bec8ee09b3925c8b547eeef1a06503
Signed-off-by: tranthanhtung2001 <tran.tung@samsung.com>
unit-tests/test_cert_server_logic.cpp

index 583d5939a67e05848e2fa627a94d18b14ada78d9..bb961cdb0fea24562abf5ac2095cf18c80678a94 100644 (file)
@@ -187,6 +187,29 @@ void checkAliasExistsAtStore(int expectedResult, int expectedUnique, std::string
                uninstallCertFromStore();
 }
 
+void getCertAliasFromStore(int expectedResult, std::string expectedAlias, int aliasSize, bool isInstallCert)
+{
+       if (isInstallCert)
+               installCertToStore(std::string(), std::string(), PemCertInfo::CertPEM.c_str(), PEM_CRT);
+
+       char alias[1 << 10];
+       int result;
+       for (auto storeType : storeTypeMap)
+       {
+               result = getCertificateAliasFromStore(storeType.second, gNamePrefix.c_str(), alias, aliasSize);
+
+               BOOST_CHECK_EQUAL(result, expectedResult);
+
+               if (expectedResult != CERTSVC_FAIL)
+                       BOOST_CHECK_EQUAL(alias, expectedAlias);
+
+               alias[0] = 0;
+       }
+
+       if (isInstallCert)
+               uninstallCertFromStore();
+}
+
 BOOST_AUTO_TEST_SUITE(CERT_SERVER_LOGIC_TEST)
 
 POSITIVE_TEST_CASE(T_get_certificate_status_from_store)
@@ -442,6 +465,30 @@ NEGATIVE_TEST_CASE(T_install_certificate_to_store)
        deinitialize_db();
 }
 
+POSITIVE_TEST_CASE(T_get_cert_alias_from_store)
+{
+       int result = initialize_db();
+       BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+       getCertAliasFromStore(CERTSVC_SUCCESS, commonNamePrefix, commonNamePrefix.length() + 1, true);
+
+       deinitialize_db();
+}
+
+NEGATIVE_TEST_CASE(T_get_cert_alias_from_store_with_db_no_init_no_records_found_and_common_name_so_long)
+{
+       getCertAliasFromStore(CERTSVC_FAIL, std::string(), commonNamePrefix.length() + 1, false);
+
+       int result = initialize_db();
+       BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+       getCertAliasFromStore(CERTSVC_FAIL, std::string(), commonNamePrefix.length() + 1, false);
+
+       getCertAliasFromStore(CERTSVC_FAIL, std::string(), commonNamePrefix.length() - 5, true);
+
+       deinitialize_db();
+}
+
 POSITIVE_TEST_CASE(T_get_certificate_list_from_stores)
 {
        int result;