#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