1 #include <boost/test/unit_test.hpp>
2 #include <test_common.h>
4 #include <ckmc/ckmc-type.h>
5 #include <ckmc-type-converter.h>
13 BOOST_AUTO_TEST_SUITE(CKMC_TYPE_CONVERTER_TEST)
16 BOOST_AUTO_TEST_CASE(CKMC_TYPE_CONVERTER_to_ckm_error) {
19 ckm_error = to_ckm_error(CKMC_ERROR_NONE);
20 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_SUCCESS, "invalid ckm error returned");
22 ckm_error = to_ckm_error(CKMC_ERROR_SOCKET);
23 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_SOCKET, "invalid ckm error returned");
25 ckm_error = to_ckm_error(CKMC_ERROR_BAD_REQUEST);
26 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_BAD_REQUEST, "invalid ckm error returned");
28 ckm_error = to_ckm_error(CKMC_ERROR_BAD_RESPONSE);
29 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_BAD_RESPONSE, "invalid ckm error returned");
31 ckm_error = to_ckm_error(CKMC_ERROR_SEND_FAILED);
32 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_SEND_FAILED, "invalid ckm error returned");
34 ckm_error = to_ckm_error(CKMC_ERROR_RECV_FAILED);
35 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_RECV_FAILED, "invalid ckm error returned");
37 ckm_error = to_ckm_error(CKMC_ERROR_AUTHENTICATION_FAILED);
38 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_AUTHENTICATION_FAILED, "invalid ckm error returned");
40 ckm_error = to_ckm_error(CKMC_ERROR_INVALID_PARAMETER);
41 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_INPUT_PARAM, "invalid ckm error returned");
43 ckm_error = to_ckm_error(CKMC_ERROR_BUFFER_TOO_SMALL);
44 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_BUFFER_TOO_SMALL, "invalid ckm error returned");
46 ckm_error = to_ckm_error(CKMC_ERROR_OUT_OF_MEMORY);
47 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_OUT_OF_MEMORY, "invalid ckm error returned");
49 ckm_error = to_ckm_error(CKMC_ERROR_PERMISSION_DENIED);
50 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_ACCESS_DENIED, "invalid ckm error returned");
52 ckm_error = to_ckm_error(CKMC_ERROR_SERVER_ERROR);
53 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_SERVER_ERROR, "invalid ckm error returned");
55 ckm_error = to_ckm_error(CKMC_ERROR_DB_LOCKED);
56 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_DB_LOCKED, "invalid ckm error returned");
58 ckm_error = to_ckm_error(CKMC_ERROR_DB_ERROR);
59 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_DB_ERROR, "invalid ckm error returned");
61 ckm_error = to_ckm_error(CKMC_ERROR_DB_ALIAS_EXISTS);
62 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_DB_ALIAS_EXISTS, "invalid ckm error returned");
64 ckm_error = to_ckm_error(CKMC_ERROR_DB_ALIAS_UNKNOWN);
65 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_DB_ALIAS_UNKNOWN, "invalid ckm error returned");
67 ckm_error = to_ckm_error(CKMC_ERROR_VERIFICATION_FAILED);
68 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_VERIFICATION_FAILED, "invalid ckm error returned");
70 ckm_error = to_ckm_error(CKMC_ERROR_INVALID_FORMAT);
71 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_INVALID_FORMAT, "invalid ckm error returned");
73 ckm_error = to_ckm_error(CKMC_ERROR_FILE_ACCESS_DENIED);
74 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_FILE_ACCESS_DENIED, "invalid ckm error returned");
76 ckm_error = to_ckm_error(CKMC_ERROR_NOT_EXPORTABLE);
77 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_NOT_EXPORTABLE, "invalid ckm error returned");
79 ckm_error = to_ckm_error(CKMC_ERROR_FILE_SYSTEM);
80 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_FILE_SYSTEM, "invalid ckm error returned");
82 ckm_error = to_ckm_error(CKMC_ERROR_NOT_SUPPORTED);
83 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_NOT_SUPPORTED, "invalid ckm error returned");
85 ckm_error = to_ckm_error(CKMC_ERROR_UNKNOWN);
86 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_UNKNOWN, "invalid ckm error returned");
88 ckm_error = to_ckm_error(-99999);
89 BOOST_REQUIRE_MESSAGE( ckm_error == CKM_API_ERROR_UNKNOWN, "invalid ckm error returned");
93 BOOST_AUTO_TEST_CASE(CKMC_TYPE_CONVERTER_to_ckmc_error) {
96 ckmc_error = to_ckmc_error(CKM_API_SUCCESS);
97 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_NONE, "invalid ckmc error returned");
99 ckmc_error = to_ckmc_error(CKM_API_ERROR_SOCKET);
100 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_SOCKET, "invalid ckmc error returned");
102 ckmc_error = to_ckmc_error(CKM_API_ERROR_BAD_REQUEST);
103 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_BAD_REQUEST, "invalid ckmc error returned");
105 ckmc_error = to_ckmc_error(CKM_API_ERROR_BAD_RESPONSE);
106 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_BAD_RESPONSE, "invalid ckmc error returned");
108 ckmc_error = to_ckmc_error(CKM_API_ERROR_SEND_FAILED);
109 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_SEND_FAILED, "invalid ckmc error returned");
111 ckmc_error = to_ckmc_error(CKM_API_ERROR_RECV_FAILED);
112 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_RECV_FAILED, "invalid ckmc error returned");
114 ckmc_error = to_ckmc_error(CKM_API_ERROR_AUTHENTICATION_FAILED);
115 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_AUTHENTICATION_FAILED, "invalid ckmc error returned");
117 ckmc_error = to_ckmc_error(CKM_API_ERROR_INPUT_PARAM);
118 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_INVALID_PARAMETER, "invalid ckmc error returned");
120 ckmc_error = to_ckmc_error(CKM_API_ERROR_BUFFER_TOO_SMALL);
121 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_BUFFER_TOO_SMALL, "invalid ckmc error returned");
123 ckmc_error = to_ckmc_error(CKM_API_ERROR_OUT_OF_MEMORY);
124 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_OUT_OF_MEMORY, "invalid ckmc error returned");
126 ckmc_error = to_ckmc_error(CKM_API_ERROR_ACCESS_DENIED);
127 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_PERMISSION_DENIED, "invalid ckmc error returned");
129 ckmc_error = to_ckmc_error(CKM_API_ERROR_SERVER_ERROR);
130 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_SERVER_ERROR, "invalid ckmc error returned");
132 ckmc_error = to_ckmc_error(CKM_API_ERROR_DB_LOCKED);
133 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_DB_LOCKED, "invalid ckmc error returned");
135 ckmc_error = to_ckmc_error(CKM_API_ERROR_DB_ERROR);
136 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_DB_ERROR, "invalid ckmc error returned");
138 ckmc_error = to_ckmc_error(CKM_API_ERROR_DB_ALIAS_EXISTS);
139 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_DB_ALIAS_EXISTS, "invalid ckmc error returned");
141 ckmc_error = to_ckmc_error(CKM_API_ERROR_DB_ALIAS_UNKNOWN);
142 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_DB_ALIAS_UNKNOWN, "invalid ckmc error returned");
144 ckmc_error = to_ckmc_error(CKM_API_ERROR_VERIFICATION_FAILED);
145 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_VERIFICATION_FAILED, "invalid ckmc error returned");
147 ckmc_error = to_ckmc_error(CKM_API_ERROR_INVALID_FORMAT);
148 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_INVALID_FORMAT, "invalid ckmc error returned");
150 ckmc_error = to_ckmc_error(CKM_API_ERROR_FILE_ACCESS_DENIED);
151 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_FILE_ACCESS_DENIED, "invalid ckmc error returned");
153 ckmc_error = to_ckmc_error(CKM_API_ERROR_NOT_EXPORTABLE);
154 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_NOT_EXPORTABLE, "invalid ckmc error returned");
156 ckmc_error = to_ckmc_error(CKM_API_ERROR_FILE_SYSTEM);
157 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_FILE_SYSTEM, "invalid ckmc error returned");
159 ckmc_error = to_ckmc_error(CKM_API_ERROR_NOT_SUPPORTED);
160 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_NOT_SUPPORTED, "invalid ckmc error returned");
162 ckmc_error = to_ckmc_error(CKM_API_ERROR_UNKNOWN);
163 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_UNKNOWN, "invalid ckmc error returned");
165 ckmc_error = to_ckmc_error(-9999);
166 BOOST_REQUIRE_MESSAGE( ckmc_error == CKMC_ERROR_UNKNOWN, "invalid ckmc error returned");
169 BOOST_AUTO_TEST_CASE(CKMC_TYPE_CONVERTER_to_ckmc_ocsp_status) {
172 ckmc_ocsp = to_ckmc_ocsp_status(CKM_API_OCSP_STATUS_GOOD);
173 BOOST_REQUIRE_MESSAGE( ckmc_ocsp == CKMC_OCSP_STATUS_GOOD, "invalid ckmc ocsp status returned");
175 ckmc_ocsp = to_ckmc_ocsp_status(CKM_API_OCSP_STATUS_UNSUPPORTED);
176 BOOST_REQUIRE_MESSAGE( ckmc_ocsp == CKMC_OCSP_ERROR_UNSUPPORTED, "invalid ckmc ocsp status returned");
178 ckmc_ocsp = to_ckmc_ocsp_status(CKM_API_OCSP_STATUS_REVOKED);
179 BOOST_REQUIRE_MESSAGE( ckmc_ocsp == CKMC_OCSP_STATUS_REVOKED, "invalid ckmc ocsp status returned");
181 ckmc_ocsp = to_ckmc_ocsp_status(CKM_API_OCSP_STATUS_NET_ERROR);
182 BOOST_REQUIRE_MESSAGE( ckmc_ocsp == CKMC_OCSP_ERROR_NET, "invalid ckmc ocsp status returned");
184 ckmc_ocsp = to_ckmc_ocsp_status(CKM_API_OCSP_STATUS_INVALID_URL);
185 BOOST_REQUIRE_MESSAGE( ckmc_ocsp == CKMC_OCSP_ERROR_INVALID_URL, "invalid ckmc ocsp status returned");
187 ckmc_ocsp = to_ckmc_ocsp_status(CKM_API_OCSP_STATUS_INVALID_RESPONSE);
188 BOOST_REQUIRE_MESSAGE( ckmc_ocsp == CKMC_OCSP_ERROR_INVALID_RESPONSE, "invalid ckmc ocsp status returned");
190 ckmc_ocsp = to_ckmc_ocsp_status(CKM_API_OCSP_STATUS_REMOTE_ERROR);
191 BOOST_REQUIRE_MESSAGE( ckmc_ocsp == CKMC_OCSP_ERROR_REMOTE, "invalid ckmc ocsp status returned");
193 ckmc_ocsp = to_ckmc_ocsp_status(CKM_API_OCSP_STATUS_INTERNAL_ERROR);
194 BOOST_REQUIRE_MESSAGE( ckmc_ocsp == CKMC_OCSP_ERROR_INTERNAL, "invalid ckmc ocsp status returned");
196 ckmc_ocsp = to_ckmc_ocsp_status(-9999);
197 BOOST_REQUIRE_MESSAGE( ckmc_ocsp == CKMC_OCSP_STATUS_UNKNOWN, "invalid ckmc ocsp status returned");
201 BOOST_AUTO_TEST_CASE(CKMC_TYPE_CONVERTER_to_permission_mask) {
203 int permissionMask = -1;
205 ret = access_to_permission_mask(CKMC_AR_READ, permissionMask);
206 BOOST_REQUIRE_MESSAGE( ret == CKMC_ERROR_NONE , "error returned");
207 BOOST_REQUIRE_MESSAGE( permissionMask == CKMC_PERMISSION_READ, "invalid permission mask returned");
209 ret = access_to_permission_mask(CKMC_AR_READ_REMOVE, permissionMask);
210 BOOST_REQUIRE_MESSAGE( ret == CKMC_ERROR_NONE , "error returned");
211 BOOST_REQUIRE_MESSAGE( permissionMask == (CKMC_PERMISSION_READ | CKMC_PERMISSION_REMOVE),
212 "invalid permission mask returned");
215 BOOST_AUTO_TEST_SUITE_END()