Greenbone Vulnerability Management Libraries 22.32.0
pwpolicy_tests.c
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2019-2023 Greenbone AG
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later
4 */
5
6#include "pwpolicy.c"
7
8#include <cgreen/assertions.h>
9#include <cgreen/cgreen.h>
10#include <cgreen/constraint_syntax_helpers.h>
11#include <cgreen/internal/c_assertions.h>
12#include <cgreen/mocks.h>
13
14Describe (pwpolicy);
15BeforeEach (pwpolicy)
16{
17}
18
19AfterEach (pwpolicy)
20{
21}
22
23/* parse_pattern_line */
24
25Ensure (pwpolicy, parse_pattern_line_allows)
26{
27 char *desc, *error, *line;
28
29 desc = NULL;
30 line = g_strdup ("password");
31 error = parse_pattern_line (line, "test", 111, &desc, "passw0rd", "name");
32 assert_that (error, is_null);
33 g_free (desc);
34 g_free (line);
35}
36
37Ensure (pwpolicy, parse_pattern_line_refuses)
38{
39 char *desc, *error, *line;
40
41 desc = NULL;
42 line = g_strdup ("password");
43 error = parse_pattern_line (line, "test", 111, &desc, "password", "name");
44 assert_that (error, is_not_null);
45 g_free (desc);
46 g_free (error);
47 g_free (line);
48}
49
50Ensure (pwpolicy, parse_pattern_line_comment)
51{
52 char *desc, *error, *line;
53
54 desc = NULL;
55 line = g_strdup ("# password");
56 error = parse_pattern_line (line, "test", 111, &desc, "password", "name");
57 assert_that (error, is_null);
58 g_free (desc);
59 g_free (error);
60 g_free (line);
61}
62
63/* Test suite. */
64int
65main (int argc, char **argv)
66{
67 int ret;
68 TestSuite *suite;
69
70 suite = create_test_suite ();
71
72 add_test_with_context (suite, pwpolicy, parse_pattern_line_allows);
73 add_test_with_context (suite, pwpolicy, parse_pattern_line_refuses);
74 add_test_with_context (suite, pwpolicy, parse_pattern_line_comment);
75
76 if (argc > 1)
77 ret = run_single_test (suite, argv[1], create_text_reporter ());
78 else
79 ret = run_test_suite (suite, create_text_reporter ());
80
81 destroy_test_suite (suite);
82
83 return ret;
84}
Check passwords against a list of pattern.
static char * parse_pattern_line(char *line, const char *fname, int lineno, char **descp, const char *password, const char *username)
Parse one line of a pettern file.
Definition pwpolicy.c:226
Ensure(pwpolicy, parse_pattern_line_allows)
int main(int argc, char **argv)
BeforeEach(pwpolicy)
Describe(pwpolicy)
AfterEach(pwpolicy)