OpenDNSSEC-enforcer
2.1.13
src
db
test
test_initialization.c
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014 Jerry Lundström <lundstrom.jerry@gmail.com>
3
* Copyright (c) 2014 .SE (The Internet Infrastructure Foundation).
4
* Copyright (c) 2014 OpenDNSSEC AB (svb)
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
* 1. Redistributions of source code must retain the above copyright
11
* notice, this list of conditions and the following disclaimer.
12
* 2. Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
20
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
22
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
24
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
*
28
*/
29
30
#include "config.h"
31
32
#include "../db_configuration.h"
33
#include "../db_connection.h"
34
35
#include "CUnit/Basic.h"
36
37
static
db_configuration_list_t
* configuration_list = NULL;
38
static
db_configuration_t
* configuration = NULL;
39
static
db_connection_t
* connection = NULL;
40
41
int
init_suite_initialization
(
void
) {
42
if
(configuration_list) {
43
return
1;
44
}
45
if
(configuration) {
46
return
1;
47
}
48
if
(connection) {
49
return
1;
50
}
51
return
0;
52
}
53
54
int
clean_suite_initialization
(
void
) {
55
db_connection_free
(connection);
56
connection = NULL;
57
db_configuration_free
(configuration);
58
configuration = NULL;
59
db_configuration_list_free
(configuration_list);
60
configuration_list = NULL;
61
return
0;
62
}
63
64
void
test_initialization_configuration
(
void
) {
65
CU_ASSERT_PTR_NOT_NULL_FATAL((configuration_list =
db_configuration_list_new
()));
66
67
#if defined(ENFORCER_DATABASE_SQLITE3)
68
CU_ASSERT_PTR_NOT_NULL_FATAL((configuration =
db_configuration_new
()));
69
CU_ASSERT_FATAL(!
db_configuration_set_name
(configuration,
"backend"
));
70
CU_ASSERT_FATAL(!
db_configuration_set_value
(configuration,
"sqlite"
));
71
CU_ASSERT_FATAL(!
db_configuration_list_add
(configuration_list, configuration));
72
configuration = NULL;
73
74
CU_ASSERT_PTR_NOT_NULL_FATAL((configuration =
db_configuration_new
()));
75
CU_ASSERT_FATAL(!
db_configuration_set_name
(configuration,
"file"
));
76
CU_ASSERT_FATAL(!
db_configuration_set_value
(configuration,
"test.db"
));
77
CU_ASSERT_FATAL(!
db_configuration_list_add
(configuration_list, configuration));
78
configuration = NULL;
79
#endif
80
81
#if defined(ENFORCER_DATABASE_MYSQL)
82
CU_ASSERT_PTR_NOT_NULL_FATAL((configuration =
db_configuration_new
()));
83
CU_ASSERT_FATAL(!
db_configuration_set_name
(configuration,
"backend"
));
84
CU_ASSERT_FATAL(!
db_configuration_set_value
(configuration,
"mysql"
));
85
CU_ASSERT_FATAL(!
db_configuration_list_add
(configuration_list, configuration));
86
configuration = NULL;
87
88
CU_ASSERT_PTR_NOT_NULL_FATAL((configuration =
db_configuration_new
()));
89
CU_ASSERT_FATAL(!
db_configuration_set_name
(configuration,
"host"
));
90
CU_ASSERT_FATAL(!
db_configuration_set_value
(configuration, ENFORCER_DB_HOST));
91
CU_ASSERT_FATAL(!
db_configuration_list_add
(configuration_list, configuration));
92
configuration = NULL;
93
94
CU_ASSERT_PTR_NOT_NULL_FATAL((configuration =
db_configuration_new
()));
95
CU_ASSERT_FATAL(!
db_configuration_set_name
(configuration,
"port"
));
96
CU_ASSERT_FATAL(!
db_configuration_set_value
(configuration, ENFORCER_DB_PORT_TEXT));
97
CU_ASSERT_FATAL(!
db_configuration_list_add
(configuration_list, configuration));
98
configuration = NULL;
99
100
CU_ASSERT_PTR_NOT_NULL_FATAL((configuration =
db_configuration_new
()));
101
CU_ASSERT_FATAL(!
db_configuration_set_name
(configuration,
"user"
));
102
CU_ASSERT_FATAL(!
db_configuration_set_value
(configuration, ENFORCER_DB_USERNAME));
103
CU_ASSERT_FATAL(!
db_configuration_list_add
(configuration_list, configuration));
104
configuration = NULL;
105
106
CU_ASSERT_PTR_NOT_NULL_FATAL((configuration =
db_configuration_new
()));
107
CU_ASSERT_FATAL(!
db_configuration_set_name
(configuration,
"pass"
));
108
CU_ASSERT_FATAL(!
db_configuration_set_value
(configuration, ENFORCER_DB_PASSWORD));
109
CU_ASSERT_FATAL(!
db_configuration_list_add
(configuration_list, configuration));
110
configuration = NULL;
111
112
CU_ASSERT_PTR_NOT_NULL_FATAL((configuration =
db_configuration_new
()));
113
CU_ASSERT_FATAL(!
db_configuration_set_name
(configuration,
"db"
));
114
CU_ASSERT_FATAL(!
db_configuration_set_value
(configuration, ENFORCER_DB_DATABASE));
115
CU_ASSERT_FATAL(!
db_configuration_list_add
(configuration_list, configuration));
116
configuration = NULL;
117
#endif
118
}
119
120
void
test_initialization_connection
(
void
) {
121
CU_ASSERT_PTR_NOT_NULL_FATAL((connection =
db_connection_new
()));
122
CU_ASSERT_FATAL(!
db_connection_set_configuration_list
(connection, configuration_list));
123
CU_ASSERT_FATAL(!
db_connection_setup
(connection));
124
CU_ASSERT_FATAL(!
db_connection_connect
(connection));
125
}
db_configuration_new
db_configuration_t * db_configuration_new(void)
Definition
db_configuration.c:41
db_configuration_list_new
db_configuration_list_t * db_configuration_list_new(void)
Definition
db_configuration.c:127
db_configuration_free
void db_configuration_free(db_configuration_t *configuration)
Definition
db_configuration.c:48
db_configuration_set_name
int db_configuration_set_name(db_configuration_t *configuration, const char *name)
Definition
db_configuration.c:68
db_configuration_list_add
int db_configuration_list_add(db_configuration_list_t *configuration_list, db_configuration_t *configuration)
Definition
db_configuration.c:150
db_configuration_set_value
int db_configuration_set_value(db_configuration_t *configuration, const char *value)
Definition
db_configuration.c:89
db_configuration_list_free
void db_configuration_list_free(db_configuration_list_t *configuration_list)
Definition
db_configuration.c:134
db_connection_connect
int db_connection_connect(const db_connection_t *connection)
Definition
db_connection.c:88
db_connection_new
db_connection_t * db_connection_new(void)
Definition
db_connection.c:38
db_connection_setup
int db_connection_setup(db_connection_t *connection)
Definition
db_connection.c:66
db_connection_free
void db_connection_free(db_connection_t *connection)
Definition
db_connection.c:45
db_connection_set_configuration_list
int db_connection_set_configuration_list(db_connection_t *connection, const db_configuration_list_t *configuration_list)
Definition
db_connection.c:54
db_configuration_list
Definition
db_configuration.h:93
db_configuration
Definition
db_configuration.h:41
db_connection
Definition
db_connection.h:46
clean_suite_initialization
int clean_suite_initialization(void)
Definition
test_initialization.c:54
test_initialization_configuration
void test_initialization_configuration(void)
Definition
test_initialization.c:64
test_initialization_connection
void test_initialization_connection(void)
Definition
test_initialization.c:120
init_suite_initialization
int init_suite_initialization(void)
Definition
test_initialization.c:41
Generated by
1.9.8