Add some positive & negative test cases for vcore/api 59/311459/7
authorPhan Xuan Tan <xuan.tan@samsung.com>
Tue, 21 May 2024 10:33:52 +0000 (17:33 +0700)
committerDariusz Michaluk <d.michaluk@samsung.com>
Wed, 5 Jun 2024 07:47:28 +0000 (07:47 +0000)
Functions: certsvc_string_to_cstring, certsvc_instance_new, certsvc_string_not_managed

Change-Id: I4e7d970ad296525dd05a77a76ad3923c4082d8b1

unit-tests/test_vcore_api.cpp

index 5b3c1fb..4d6db7a 100644 (file)
 #include "dpl/log/log.h"
 #include <cstring>
 
-static CertSvcInstance instance;
+CertSvcInstance instance;
+static const char *cStrTest = "Test";
 
 BOOST_AUTO_TEST_SUITE(VCORE_API_TEST)
 
-POSITIVE_TEST_CASE(T_certsvc_instance_new){
+POSITIVE_TEST_CASE(T_certsvc_instance_new)
+{
        int result;
        result = certsvc_instance_new(&instance);
        BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
        certsvc_instance_free(instance);
 }
 
+POSITIVE_TEST_CASE(T_certsvc_instance_reset)
+{
+       int result;
+       result = certsvc_instance_new(&instance);
+       BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+       certsvc_instance_reset(instance);
+}
+
+POSITIVE_TEST_CASE(T_certsvc_string_to_cstring)
+{
+       int result;
+       const char *buffer = nullptr;
+       size_t bufferLength;
+       CertSvcString csvString;
+
+       BOOST_REQUIRE_EQUAL(certsvc_instance_new(&instance), CERTSVC_SUCCESS);
+
+       result = certsvc_string_new(instance, cStrTest, strlen(cStrTest), &csvString);
+       BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+       certsvc_string_to_cstring(csvString, &buffer, &bufferLength);
+       BOOST_CHECK_EQUAL(bufferLength, strlen(cStrTest));
+       BOOST_CHECK_EQUAL(buffer, cStrTest);
+
+       certsvc_string_free(csvString);
+       certsvc_instance_free(instance);
+}
+
+NEGATIVE_TEST_CASE(T_certsvc_string_nullptr_to_cstring)
+{
+       int result;
+       const char *buffer = nullptr;
+       size_t bufferLength;
+       CertSvcString csvString;
+
+       BOOST_REQUIRE_EQUAL(certsvc_instance_new(&instance), CERTSVC_SUCCESS);
+
+       result = certsvc_string_new(instance, NULL, 0, &csvString);
+       BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+       certsvc_string_to_cstring(csvString, &buffer, &bufferLength);
+       BOOST_CHECK_EQUAL(bufferLength, 0);
+       BOOST_CHECK_EQUAL(buffer, nullptr);
+
+       certsvc_instance_free(instance);
+}
+
+POSITIVE_TEST_CASE(T_certsvc_string_not_managed)
+{
+       int result;
+       CertSvcString output;
+
+       BOOST_REQUIRE_EQUAL(certsvc_instance_new(&instance), CERTSVC_SUCCESS);
+
+       result = certsvc_string_not_managed(instance, cStrTest, strlen(cStrTest), &output);
+       BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+       BOOST_CHECK_EQUAL(output.privateLength, strlen(cStrTest));
+       BOOST_CHECK_EQUAL(output.privateHandler, cStrTest);
+
+       certsvc_instance_free(instance);
+}
+
+NEGATIVE_TEST_CASE(T_certsvc_string_not_managed_wrong_argument)
+{
+       int result;
+
+       BOOST_REQUIRE_EQUAL(certsvc_instance_new(&instance), CERTSVC_SUCCESS);
+
+       result = certsvc_string_not_managed(instance, cStrTest, strlen(cStrTest), NULL);
+       BOOST_CHECK_EQUAL(result, CERTSVC_WRONG_ARGUMENT);
+
+       certsvc_instance_free(instance);
+}
+
+
 BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file