Add test case for set_certificate_status_to_store function in cert-server-logic.c 30/315730/7
authortranthanhtung2001 <tran.tung@samsung.com>
Wed, 7 Aug 2024 06:19:44 +0000 (13:19 +0700)
committertung tran <tran.tung@samsung.com>
Tue, 20 Aug 2024 09:33:17 +0000 (09:33 +0000)
Change-Id: I88ec1284f71230412096dc467a6d092a71dcd9ec
Signed-off-by: tranthanhtung2001 <tran.tung@samsung.com>
unit-tests/test_cert_server_logic.cpp

index 1a772faa79a113f2d4ec0f0df516de63f0ff429c..e669d1972453ca5302b96a3132bb40a69ac5dc93 100644 (file)
@@ -133,8 +133,74 @@ void uninstallCertFromStore()
        }
 }
 
+void setCertStatusToStore(CertStatus certStatus)
+{
+       int result;
+       for (auto storeType : storeTypeMap)
+       {
+               installCertToStore(std::string(), std::string(), PemCertInfo::CertPEM.c_str(), PEM_CRT);
+
+               result = setCertificateStatusToStore(storeType.second, certStatus, gNamePrefix.c_str(), DISABLED);
+               BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+               result = setCertificateStatusToStore(storeType.second, certStatus, gNamePrefix.c_str(), ENABLED);
+               BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+               uninstallCertFromStore();
+       }
+}
+
 BOOST_AUTO_TEST_SUITE(CERT_SERVER_LOGIC_TEST)
 
+POSITIVE_TEST_CASE(T_set_certificate_status_to_store)
+{
+       int result = initialize_db();
+       BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+       setCertStatusToStore(ENABLED);
+
+       setCertStatusToStore(DISABLED);
+
+       deinitialize_db();
+}
+
+NEGATIVE_TEST_CASE(T_set_certificate_status_to_store_with_database_no_records)
+{
+       int result = initialize_db();
+       BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+       for (auto storeType : storeTypeMap)
+       {
+               result = setCertificateStatusToStore(storeType.second, DISABLED, systemGname.c_str(), ENABLED);
+               BOOST_CHECK_EQUAL(result, CERTSVC_FAIL);
+       }
+
+       deinitialize_db();
+}
+
+NEGATIVE_TEST_CASE(T_set_certificate_status_to_store_with_database_no_init_and_gname_parameter_is_null)
+{
+       int result = setCertificateStatusToStore(SYSTEM_STORE, DISABLED, systemGname.c_str(), ENABLED);
+       BOOST_CHECK_EQUAL(result, CERTSVC_FAIL);
+
+       for (auto storeType : storeTypeMap)
+       {
+               result = setCertificateStatusToStore(storeType.second, ENABLED, NULL, ENABLED);
+               BOOST_CHECK_EQUAL(result, CERTSVC_WRONG_ARGUMENT);
+       }
+}
+
+NEGATIVE_TEST_CASE(T_set_certificate_status_to_store_with_status_parameter_invalid)
+{
+       CertStatus outOfCertStatus = static_cast<CertStatus>(1 << 2);
+       int result;
+       for (auto storeType : storeTypeMap)
+       {
+               result = setCertificateStatusToStore(storeType.second, ENABLED, systemGname.c_str(), outOfCertStatus);
+               BOOST_CHECK_EQUAL(result, CERTSVC_INVALID_STATUS);
+       }
+}
+
 POSITIVE_TEST_CASE(T_install_certificate_to_store)
 {
        int result;