Greenbone Vulnerability Management Libraries 22.40.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 credentials.jwt_requested = 1;
36 credentials.jwt = g_strdup ("test.token.value");
37
38 free_credentials (&credentials);
39
40 assert_that (credentials.username, is_null);
41 assert_that (credentials.password, is_null);
42 assert_that (credentials.uuid, is_null);
43 assert_that (credentials.timezone, is_null);
44 assert_that (credentials.role, is_null);
45 assert_that (credentials.severity_class, is_null);
46 assert_that (credentials.jwt, is_null);
47}
48
49/* append_to_credentials_username */
50
51Ensure (credentials, append_to_credentials_username_appends_text)
52{
53 credentials_t credentials;
54
55 credentials.username = NULL;
56
57 append_to_credentials_username (&credentials, "test", 4);
58
59 assert_that (credentials.username, is_equal_to_string ("test"));
60
61 append_to_credentials_username (&credentials, "user", 4);
62
63 assert_that (credentials.username, is_equal_to_string ("testuser"));
64
65 g_free (credentials.username);
66}
67
68/* append_to_credentials_password */
69
70Ensure (credentials, append_to_credentials_password_appends_text)
71{
72 credentials_t credentials;
73
74 credentials.password = NULL;
75
76 append_to_credentials_password (&credentials, "secret", 6);
77
78 assert_that (credentials.password, is_equal_to_string ("secret"));
79
80 append_to_credentials_password (&credentials, "123", 3);
81
82 assert_that (credentials.password, is_equal_to_string ("secret123"));
83
84 g_free (credentials.password);
85}
86
87/* Test suite. */
88
89int
90main (int argc, char **argv)
91{
92 int ret;
93 TestSuite *suite;
94
95 suite = create_test_suite ();
96
97 add_test_with_context (suite, credentials, free_credentials_frees_all_fields);
98 add_test_with_context (suite, credentials,
99 append_to_credentials_username_appends_text);
100 add_test_with_context (suite, credentials,
101 append_to_credentials_password_appends_text);
102
103 if (argc > 1)
104 ret = run_single_test (suite, argv[1], create_text_reporter ());
105 else
106 ret = run_test_suite (suite, create_text_reporter ());
107
108 destroy_test_suite (suite);
109
110 return ret;
111}
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:51
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:65
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
int jwt_requested
Whether a JSON web token is requested.
Definition credentials.h:39
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 * jwt
Current JSON web token of user.
Definition credentials.h:41
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