Greenbone Vulnerability Management Libraries 22.32.0
logging_domain_tests.c
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2025 Greenbone AG
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later
4 */
5
6#include "logging_domain.c"
7
8#include <cgreen/cgreen.h>
9#include <cgreen/mocks.h>
10#include <fcntl.h>
11#include <glib/gstdio.h>
12
13Describe (logging_domain);
14
15BeforeEach (logging_domain)
16{
17}
18
19AfterEach (logging_domain)
20{
21}
22
23Ensure (logging_domain, should_initalize_logging_domain)
24{
25 gvm_logging_domain_t *log_domain_entry =
26 gvm_logging_domain_new (g_strdup ("test"));
27
28 assert_that (log_domain_entry, is_not_null);
29 assert_that (gvm_logging_domain_get_log_domain (log_domain_entry),
30 is_equal_to_string ("test"));
31 assert_that (gvm_logging_domain_get_log_file (log_domain_entry), is_null);
32 assert_that (gvm_logging_domain_get_prepend_string (log_domain_entry),
33 is_null);
34 assert_that (gvm_logging_domain_get_prepend_time_format (log_domain_entry),
35 is_null);
36 assert_that (gvm_logging_domain_get_default_level (log_domain_entry),
37 is_null);
38 assert_that (gvm_logging_domain_get_log_channel (log_domain_entry), is_null);
39 assert_that (gvm_logging_domain_get_syslog_facility (log_domain_entry),
40 is_null);
41 assert_that (gvm_logging_domain_get_syslog_ident (log_domain_entry), is_null);
42 assert_that (gvm_logging_domain_get_prepend_separator (log_domain_entry),
43 is_null);
44
45 gvm_logging_domain_free (log_domain_entry);
46}
47
48Ensure (logging_domain, should_allow_setting_properties)
49{
50 gvm_logging_domain_t *log_domain_entry =
51 gvm_logging_domain_new (g_strdup ("test"));
52
53 assert_that (log_domain_entry, is_not_null);
54 assert_that (gvm_logging_domain_get_log_domain (log_domain_entry),
55 is_equal_to_string ("test"));
56
57 gvm_logging_domain_set_log_file (log_domain_entry, g_strdup ("logfile.log"));
58 assert_that (gvm_logging_domain_get_log_file (log_domain_entry),
59 is_equal_to_string ("logfile.log"));
60
62 g_strdup ("prepend"));
63 assert_that (gvm_logging_domain_get_prepend_string (log_domain_entry),
64 is_equal_to_string ("prepend"));
65
67 g_strdup ("%Y-%m-%d"));
68 assert_that (gvm_logging_domain_get_prepend_time_format (log_domain_entry),
69 is_equal_to_string ("%Y-%m-%d"));
70
71 gvm_logging_domain_set_default_level (log_domain_entry, G_LOG_LEVEL_DEBUG);
72 assert_that (*gvm_logging_domain_get_default_level (log_domain_entry),
73 is_equal_to (G_LOG_LEVEL_DEBUG));
74
75 GIOChannel *log_channel =
76 g_io_channel_new_file ("log_channel.log", "w", NULL);
77 gvm_logging_domain_set_log_channel (log_domain_entry, log_channel);
78 assert_that (gvm_logging_domain_get_log_channel (log_domain_entry),
79 is_equal_to (log_channel));
80
81 gvm_logging_domain_set_syslog_facility (log_domain_entry, g_strdup ("user"));
82 assert_that (gvm_logging_domain_get_syslog_facility (log_domain_entry),
83 is_equal_to_string ("user"));
84
85 gvm_logging_domain_set_syslog_ident (log_domain_entry, g_strdup ("ident"));
86 assert_that (gvm_logging_domain_get_syslog_ident (log_domain_entry),
87 is_equal_to_string ("ident"));
88
89 gvm_logging_domain_set_prepend_separator (log_domain_entry, g_strdup ("|"));
90 assert_that (gvm_logging_domain_get_prepend_separator (log_domain_entry),
91 is_equal_to_string ("|"));
92
93 gvm_logging_domain_free (log_domain_entry);
94 g_io_channel_unref (log_channel);
95 g_remove ("log_channel.log");
96}
97
98static TestSuite *
100{
101 TestSuite *suite = create_test_suite ();
102 add_test_with_context (suite, logging_domain,
103 should_initalize_logging_domain);
104 add_test_with_context (suite, logging_domain,
105 should_allow_setting_properties);
106 return suite;
107}
108
109int
110main (int argc, char **argv)
111{
112 int ret;
113 TestSuite *suite;
114
115 suite = create_test_suite ();
116 add_suite (suite, logging_test_suite ());
117
118 if (argc > 1)
119 ret = run_single_test (suite, argv[1], create_text_reporter ());
120 else
121 ret = run_test_suite (suite, create_text_reporter ());
122
123 destroy_test_suite (suite);
124
125 return ret;
126}
void gvm_logging_domain_set_prepend_separator(gvm_logging_domain_t *log_domain, gchar *prepend_separator)
Sets the prepend separator for the logging domain.
GIOChannel * gvm_logging_domain_get_log_channel(gvm_logging_domain_t *log_domain)
void gvm_logging_domain_set_log_file(gvm_logging_domain_t *log_domain, gchar *log_file)
Sets the log file for the logging domain.
void gvm_logging_domain_set_syslog_ident(gvm_logging_domain_t *log_domain, gchar *syslog_ident)
Sets the syslog ident for the logging domain.
void gvm_logging_domain_set_prepend_time_format(gvm_logging_domain_t *log_domain, gchar *prepend_time_format)
Sets the prepend time format for the logging domain.
void gvm_logging_domain_set_syslog_facility(gvm_logging_domain_t *log_domain, gchar *syslog_facility)
Sets the syslog facility for the logging domain.
GLogLevelFlags * gvm_logging_domain_get_default_level(gvm_logging_domain_t *log_domain)
gvm_logging_domain_t * gvm_logging_domain_new(gchar *log_domain)
Function to initialize logging instance.
gchar * gvm_logging_domain_get_prepend_time_format(gvm_logging_domain_t *log_domain)
gchar * gvm_logging_domain_get_syslog_ident(gvm_logging_domain_t *log_domain)
void gvm_logging_domain_set_log_channel(gvm_logging_domain_t *log_domain, GIOChannel *log_channel)
Sets the log channel for the logging domain.
void gvm_logging_domain_free(gvm_logging_domain_t *log_domain)
Frees the resources associated with the given logging domain.
gchar * gvm_logging_domain_get_log_file(gvm_logging_domain_t *log_domain)
void gvm_logging_domain_set_prepend_string(gvm_logging_domain_t *log_domain, gchar *prepend_string)
Sets the preprend string for the logging domain.
gchar * gvm_logging_domain_get_log_domain(gvm_logging_domain_t *log_domain)
void gvm_logging_domain_set_default_level(gvm_logging_domain_t *log_domain, GLogLevelFlags default_level)
Sets the default log level for the logging domain.
gchar * gvm_logging_domain_get_prepend_separator(gvm_logging_domain_t *log_domain)
gchar * gvm_logging_domain_get_prepend_string(gvm_logging_domain_t *log_domain)
gchar * gvm_logging_domain_get_syslog_facility(gvm_logging_domain_t *log_domain)
struct gvm_logging_domain gvm_logging_domain_t
Ensure(logging_domain, should_initalize_logging_domain)
int main(int argc, char **argv)
AfterEach(logging_domain)
Describe(logging_domain)
BeforeEach(logging_domain)
static TestSuite * logging_test_suite()