30#include "CUnit/Basic.h"
32#include "../db_configuration.h"
33#include "../db_connection.h"
34#include "../hsm_key.h"
47static int db_sqlite = 0;
48static int db_mysql = 0;
50#if defined(ENFORCER_DATABASE_SQLITE3)
51int test_hsm_key_init_suite_sqlite(
void) {
52 if (configuration_list) {
76 configuration_list = NULL;
88 configuration_list = NULL;
102 configuration_list = NULL;
105 configuration_list = NULL;
122#if defined(ENFORCER_DATABASE_MYSQL)
123int test_hsm_key_init_suite_mysql(
void) {
124 if (configuration_list) {
146 configuration = NULL;
148 configuration_list = NULL;
151 configuration = NULL;
158 configuration = NULL;
160 configuration_list = NULL;
163 configuration = NULL;
170 configuration = NULL;
172 configuration_list = NULL;
175 configuration = NULL;
182 configuration = NULL;
184 configuration_list = NULL;
187 configuration = NULL;
194 configuration = NULL;
196 configuration_list = NULL;
199 configuration = NULL;
206 configuration = NULL;
208 configuration_list = NULL;
211 configuration = NULL;
222 configuration_list = NULL;
225 configuration_list = NULL;
242static int test_hsm_key_clean_suite(
void) {
246 configuration = NULL;
248 configuration_list = NULL;
255static void test_hsm_key_new(
void) {
256 CU_ASSERT_PTR_NOT_NULL_FATAL((
object =
hsm_key_new(connection)));
260static void test_hsm_key_set(
void) {
289static void test_hsm_key_get(
void) {
313static void test_hsm_key_create(
void) {
317static void test_hsm_key_clauses(
void) {
427static void test_hsm_key_count(
void) {
431 CU_ASSERT(count == 1);
436 CU_ASSERT(count == 1);
442 CU_ASSERT(count == 1);
449 CU_ASSERT(count == 1);
456 CU_ASSERT(count == 1);
463 CU_ASSERT(count == 1);
470 CU_ASSERT(count == 1);
476 CU_ASSERT(count == 1);
482 CU_ASSERT(count == 1);
488 CU_ASSERT(count == 1);
495 CU_ASSERT(count == 1);
502 CU_ASSERT(count == 1);
507static void test_hsm_key_verify(
void) {
531static void test_hsm_key_read_by_locator(
void) {
535static void test_hsm_key_verify_locator(
void) {
559static void test_hsm_key_change(
void) {
580static void test_hsm_key_update(
void) {
584static void test_hsm_key_verify2(
void) {
608static void test_hsm_key_cmp(
void) {
611 CU_ASSERT_PTR_NOT_NULL_FATAL((local_object =
hsm_key_new(connection)));
614static void test_hsm_key_read_by_locator2(
void) {
618static void test_hsm_key_verify_locator2(
void) {
642static void test_hsm_key_delete(
void) {
645static void test_hsm_key_list2(
void) {
649static void test_hsm_key_end(
void) {
652 CU_PASS(
"hsm_key_free");
656 CU_PASS(
"hsm_key_list_free");
660static int test_hsm_key_add_tests(CU_pSuite pSuite) {
661 if (!CU_add_test(pSuite,
"new object", test_hsm_key_new)
662 || !CU_add_test(pSuite,
"set fields", test_hsm_key_set)
663 || !CU_add_test(pSuite,
"get fields", test_hsm_key_get)
664 || !CU_add_test(pSuite,
"create object", test_hsm_key_create)
665 || !CU_add_test(pSuite,
"object clauses", test_hsm_key_clauses)
666 || !CU_add_test(pSuite,
"object count", test_hsm_key_count)
667 || !CU_add_test(pSuite,
"verify fields", test_hsm_key_verify)
668 || !CU_add_test(pSuite,
"read object by locator", test_hsm_key_read_by_locator)
669 || !CU_add_test(pSuite,
"verify fields (locator)", test_hsm_key_verify_locator)
670 || !CU_add_test(pSuite,
"change object", test_hsm_key_change)
671 || !CU_add_test(pSuite,
"update object", test_hsm_key_update)
672 || !CU_add_test(pSuite,
"verify fields after update", test_hsm_key_verify2)
673 || !CU_add_test(pSuite,
"compare objects", test_hsm_key_cmp)
674 || !CU_add_test(pSuite,
"reread object by locator", test_hsm_key_read_by_locator2)
675 || !CU_add_test(pSuite,
"verify fields after update (locator)", test_hsm_key_verify_locator2)
676 || !CU_add_test(pSuite,
"delete object", test_hsm_key_delete)
677 || !CU_add_test(pSuite,
"list objects to verify delete", test_hsm_key_list2)
678 || !CU_add_test(pSuite,
"end test", test_hsm_key_end))
680 return CU_get_error();
686 CU_pSuite pSuite = NULL;
689#if defined(ENFORCER_DATABASE_SQLITE3)
690 pSuite = CU_add_suite(
"Test of hsm key (SQLite)", test_hsm_key_init_suite_sqlite, test_hsm_key_clean_suite);
692 return CU_get_error();
694 ret = test_hsm_key_add_tests(pSuite);
699#if defined(ENFORCER_DATABASE_MYSQL)
700 pSuite = CU_add_suite(
"Test of hsm key (MySQL)", test_hsm_key_init_suite_mysql, test_hsm_key_clean_suite);
702 return CU_get_error();
704 ret = test_hsm_key_add_tests(pSuite);
db_clause_list_t * db_clause_list_new(void)
void db_clause_list_free(db_clause_list_t *clause_list)
db_configuration_t * db_configuration_new(void)
db_configuration_list_t * db_configuration_list_new(void)
void db_configuration_free(db_configuration_t *configuration)
int db_configuration_set_name(db_configuration_t *configuration, const char *name)
int db_configuration_list_add(db_configuration_list_t *configuration_list, db_configuration_t *configuration)
int db_configuration_set_value(db_configuration_t *configuration, const char *value)
void db_configuration_list_free(db_configuration_list_t *configuration_list)
int db_connection_connect(const db_connection_t *connection)
db_connection_t * db_connection_new(void)
int db_connection_setup(db_connection_t *connection)
void db_connection_free(db_connection_t *connection)
int db_connection_set_configuration_list(db_connection_t *connection, const db_configuration_list_t *configuration_list)
int db_value_from_int32(db_value_t *value, db_type_int32_t from_int32)
int db_value_cmp(const db_value_t *value_a, const db_value_t *value_b, int *result)
void db_value_reset(db_value_t *value)
int db_value_from_uint64(db_value_t *value, db_type_uint64_t from_uint64)
void hsm_key_free(hsm_key_t *hsm_key)
int hsm_key_set_role(hsm_key_t *hsm_key, hsm_key_role_t role)
int hsm_key_count(hsm_key_t *hsm_key, db_clause_list_t *clause_list, size_t *count)
int hsm_key_set_state(hsm_key_t *hsm_key, hsm_key_state_t state)
const char * hsm_key_repository(const hsm_key_t *hsm_key)
const char * hsm_key_locator(const hsm_key_t *hsm_key)
int hsm_key_set_inception(hsm_key_t *hsm_key, unsigned int inception)
hsm_key_t * hsm_key_new(const db_connection_t *connection)
int hsm_key_set_bits(hsm_key_t *hsm_key, unsigned int bits)
const hsm_key_t * hsm_key_list_next(hsm_key_list_t *hsm_key_list)
int hsm_key_update(hsm_key_t *hsm_key)
int hsm_key_create(hsm_key_t *hsm_key)
int hsm_key_set_key_type(hsm_key_t *hsm_key, hsm_key_key_type_t key_type)
void hsm_key_list_free(hsm_key_list_t *hsm_key_list)
db_clause_t * hsm_key_policy_id_clause(db_clause_list_t *clause_list, const db_value_t *policy_id)
unsigned int hsm_key_algorithm(const hsm_key_t *hsm_key)
int hsm_key_set_repository(hsm_key_t *hsm_key, const char *repository_text)
hsm_key_list_t * hsm_key_list_new(const db_connection_t *connection)
db_clause_t * hsm_key_backup_clause(db_clause_list_t *clause_list, hsm_key_backup_t backup)
int hsm_key_set_backup(hsm_key_t *hsm_key, hsm_key_backup_t backup)
unsigned int hsm_key_bits(const hsm_key_t *hsm_key)
int hsm_key_get_by_locator(hsm_key_t *hsm_key, const char *locator)
db_clause_t * hsm_key_algorithm_clause(db_clause_list_t *clause_list, unsigned int algorithm)
db_clause_t * hsm_key_repository_clause(db_clause_list_t *clause_list, const char *repository_text)
db_clause_t * hsm_key_state_clause(db_clause_list_t *clause_list, hsm_key_state_t state)
int hsm_key_set_policy_id(hsm_key_t *hsm_key, const db_value_t *policy_id)
const db_value_t * hsm_key_policy_id(const hsm_key_t *hsm_key)
unsigned int hsm_key_inception(const hsm_key_t *hsm_key)
db_clause_t * hsm_key_bits_clause(db_clause_list_t *clause_list, unsigned int bits)
hsm_key_list_t * hsm_key_list_new_get_by_clauses(const db_connection_t *connection, const db_clause_list_t *clause_list)
db_clause_t * hsm_key_role_clause(db_clause_list_t *clause_list, hsm_key_role_t role)
int hsm_key_list_get_by_clauses(hsm_key_list_t *hsm_key_list, const db_clause_list_t *clause_list)
int hsm_key_set_locator(hsm_key_t *hsm_key, const char *locator_text)
int hsm_key_set_algorithm(hsm_key_t *hsm_key, unsigned int algorithm)
@ HSM_KEY_BACKUP_BACKUP_REQUESTED
@ HSM_KEY_BACKUP_NO_BACKUP
@ HSM_KEY_BACKUP_BACKUP_DONE
@ HSM_KEY_BACKUP_BACKUP_REQUIRED
const db_value_t * policy_id(const policy_t *policy)
int test_hsm_key_add_suite(void)