Greenbone Vulnerability Management Libraries 22.32.0
credentials_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 "credentials.c"
7#include "strings.h"
8
9#include <cgreen/cgreen.h>
10#include <cgreen/mocks.h>
11
12Describe (credentials);
13BeforeEach (credentials)
14{
15}
16AfterEach (credentials)
17{
18}
19
20/* free_credentials */
21
22Ensure (credentials, free_credentials_frees_all_fields)
23{
24 credentials_t credentials;
25
26 credentials.username = g_strdup ("testuser");
27 credentials.password = g_strdup ("testpass");
28 credentials.uuid = g_strdup ("12345");
29 credentials.timezone = g_strdup ("UTC");
30 credentials.default_severity = 5.0;
31 credentials.severity_class = g_strdup ("nist");
32 credentials.dynamic_severity = 1;
33 credentials.role = g_strdup ("admin");
34 credentials.excerpt_size = 100;
35
36 free_credentials (&credentials);
37
38 assert_that (credentials.username, is_null);
39 assert_that (credentials.password, is_null);
40 assert_that (credentials.uuid, is_null);
41 assert_that (credentials.timezone, is_null);
42 assert_that (credentials.role, is_null);
43 assert_that (credentials.severity_class, is_null);
44}
45
46/* append_to_credentials_username */
47
48Ensure (credentials, append_to_credentials_username_appends_text)
49{
50 credentials_t credentials;
51
52 credentials.username = NULL;
53
54 append_to_credentials_username (&credentials, "test", 4);
55
56 assert_that (credentials.username, is_equal_to_string ("test"));
57
58 append_to_credentials_username (&credentials, "user", 4);
59
60 assert_that (credentials.username, is_equal_to_string ("testuser"));
61
62 g_free (credentials.username);
63}
64
65/* append_to_credentials_password */
66
67Ensure (credentials, append_to_credentials_password_appends_text)
68{
69 credentials_t credentials;
70
71 credentials.password = NULL;
72
73 append_to_credentials_password (&credentials, "secret", 6);
74
75 assert_that (credentials.password, is_equal_to_string ("secret"));
76
77 append_to_credentials_password (&credentials, "123", 3);
78
79 assert_that (credentials.password, is_equal_to_string ("secret123"));
80
81 g_free (credentials.password);
82}
83
84/* Test suite. */
85
86int
87main (int argc, char **argv)
88{
89 int ret;
90 TestSuite *suite;
91
92 suite = create_test_suite ();
93
94 add_test_with_context (suite, credentials, free_credentials_frees_all_fields);
95 add_test_with_context (suite, credentials,
96 append_to_credentials_username_appends_text);
97 add_test_with_context (suite, credentials,
98 append_to_credentials_password_appends_text);
99
100 if (argc > 1)
101 ret = run_single_test (suite, argv[1], create_text_reporter ());
102 else
103 ret = run_test_suite (suite, create_text_reporter ());
104
105 destroy_test_suite (suite);
106
107 return ret;
108}
Credential pairs and triples.
void append_to_credentials_username(credentials_t *credentials, const char *text, gsize length)
Append text to the username of a credential pair.
Definition credentials.c:50
void append_to_credentials_password(credentials_t *credentials, const char *text, gsize length)
Append text to the password of a credential pair.
Definition credentials.c:64
void free_credentials(credentials_t *credentials)
Free credentials.
Definition credentials.c:31
int main(int argc, char **argv)
BeforeEach(credentials)
Describe(credentials)
AfterEach(credentials)
Ensure(credentials, free_credentials_frees_all_fields)
String utilities.
A username password pair.
Definition credentials.h:20
int dynamic_severity
Dynamic Severity setting of user.
Definition credentials.h:33
double default_severity
Default Severity setting of user.
Definition credentials.h:29
gchar * role
Role of user.
Definition credentials.h:35
gchar * password
Password of user.
Definition credentials.h:23
gchar * timezone
Timezone of user.
Definition credentials.h:27
gchar * username
Login name of user.
Definition credentials.h:21
gchar * uuid
UUID of user.
Definition credentials.h:25
gchar * severity_class
Severity Class setting of user.
Definition credentials.h:31
int excerpt_size
Note/Override Excerpt Size setting of user.
Definition credentials.h:37