Greenbone Vulnerability Management Libraries 22.32.0
fileutils_tests.c File Reference
#include "fileutils.c"
#include <cgreen/cgreen.h>
#include <cgreen/mocks.h>
#include <fcntl.h>
#include <glib.h>
#include <sys/stat.h>
#include <unistd.h>
Include dependency graph for fileutils_tests.c:

Go to the source code of this file.

Functions

 Describe (fileutils)
 BeforeEach (fileutils)
 AfterEach (fileutils)
 Ensure (fileutils, gvm_file_exists_returns_zero_for_nonexistent_file)
 Ensure (fileutils, gvm_file_exists_returns_one_for_existing_file)
 Ensure (fileutils, gvm_file_is_executable_returns_zero_for_nonexistent_file)
 Ensure (fileutils, gvm_file_is_executable_returns_zero_for_non_executable_file)
 Ensure (fileutils, gvm_file_is_readable_returns_zero_for_nonexistent_file)
 Ensure (fileutils, gvm_file_is_readable_returns_one_for_existing_file)
 Ensure (fileutils, gvm_file_check_is_dir_returns_minus_one_for_nonexistent_path)
 Ensure (fileutils, gvm_file_check_is_dir_returns_zero_for_file)
 Ensure (fileutils, gvm_file_check_is_dir_returns_one_for_directory)
 Ensure (fileutils, gvm_file_copy_returns_true_and_copies_file)
 Ensure (fileutils, gvm_file_move_returns_true_and_moves_file)
 Ensure (fileutils, gvm_file_as_base64_returns_correct_base64_for_file)
 Ensure (fileutils, gvm_export_file_name_returns_formatted_string)
int main (int argc, char **argv)

Function Documentation

◆ AfterEach()

AfterEach ( fileutils )

Definition at line 20 of file fileutils_tests.c.

21{
22}

◆ BeforeEach()

BeforeEach ( fileutils )

Definition at line 16 of file fileutils_tests.c.

17{
18}

◆ Describe()

Describe ( fileutils )

◆ Ensure() [1/13]

Ensure ( fileutils ,
gvm_export_file_name_returns_formatted_string  )

Definition at line 191 of file fileutils_tests.c.

192{
193 gchar *file_name = gvm_export_file_name (
194 "%N.%F", "user", "task", "12345678-1234-1234-1234-123456789012",
195 "2023-01-01T12:00:00Z", "2023-01-02T12:00:00Z", "Test Task", "XML");
196
197 assert_that (file_name, is_not_null);
198 assert_that (file_name, contains_string ("Test_Task"));
199 assert_that (file_name, contains_string ("XML"));
200
201 g_free (file_name);
202
203 file_name =
204 gvm_export_file_name ("%N.%F", NULL, NULL, NULL, NULL, NULL, NULL, NULL);
205 assert_that (file_name, is_not_null);
206
207 g_free (file_name);
208}
gchar * gvm_export_file_name(const char *fname_format, const char *username, const char *type, const char *uuid, const char *creation_iso_time, const char *modification_iso_time, const char *name, const char *format_name)
Generates a file name for exporting.
Definition fileutils.c:269

References gvm_export_file_name().

Here is the call graph for this function:

◆ Ensure() [2/13]

Ensure ( fileutils ,
gvm_file_as_base64_returns_correct_base64_for_file  )

Definition at line 167 of file fileutils_tests.c.

168{
169 gchar *test_file = "test_base64.tmp";
170
171 FILE *file = fopen (test_file, "w");
172 assert_that (file, is_not_null);
173 fputs ("Hello, World!", file);
174 fclose (file);
175
176 char *base64_content = gvm_file_as_base64 (test_file);
177
178 assert_that (base64_content, is_not_null);
179 assert_that (base64_content, is_equal_to_string ("SGVsbG8sIFdvcmxkIQ=="));
180
181 g_free (base64_content);
182
183 char *nonexistent_base64 = gvm_file_as_base64 ("nonexistent_file");
184 assert_that (nonexistent_base64, is_null);
185
186 g_remove (test_file);
187}
char * gvm_file_as_base64(const char *path)
Get the content of a file in base64 format.
Definition fileutils.c:238

References gvm_file_as_base64().

Here is the call graph for this function:

◆ Ensure() [3/13]

Ensure ( fileutils ,
gvm_file_check_is_dir_returns_minus_one_for_nonexistent_path  )

Definition at line 85 of file fileutils_tests.c.

86{
87 assert_that (gvm_file_check_is_dir ("nonexistent_dir"), is_equal_to (-1));
88}
int gvm_file_check_is_dir(const char *name)
Checks whether a file is a directory or not.
Definition fileutils.c:45

References gvm_file_check_is_dir().

Here is the call graph for this function:

◆ Ensure() [4/13]

Ensure ( fileutils ,
gvm_file_check_is_dir_returns_one_for_directory  )

Definition at line 102 of file fileutils_tests.c.

103{
104 gchar *test_dir = "test_directory";
105 assert_that (g_mkdir (test_dir, 0755), is_equal_to (0));
106
107 assert_that (gvm_file_check_is_dir (test_dir), is_equal_to (1));
108
109 g_rmdir (test_dir);
110}

References gvm_file_check_is_dir().

Here is the call graph for this function:

◆ Ensure() [5/13]

Ensure ( fileutils ,
gvm_file_check_is_dir_returns_zero_for_file  )

Definition at line 90 of file fileutils_tests.c.

91{
92 gchar *test_file = "test_file_not_dir.tmp";
93 FILE *file = fopen (test_file, "w");
94 assert_that (file, is_not_null);
95 fclose (file);
96
97 assert_that (gvm_file_check_is_dir (test_file), is_equal_to (0));
98
99 g_remove (test_file);
100}

References gvm_file_check_is_dir().

Here is the call graph for this function:

◆ Ensure() [6/13]

Ensure ( fileutils ,
gvm_file_copy_returns_true_and_copies_file  )

Definition at line 114 of file fileutils_tests.c.

115{
116 gchar *source_file = "test_source_copy.tmp";
117 gchar *dest_file = "test_dest_copy.tmp";
118
119 FILE *file = fopen (source_file, "w");
120 assert_that (file, is_not_null);
121 fputs ("test content for copy", file);
122 fclose (file);
123
124 gboolean result = gvm_file_copy (source_file, dest_file);
125 assert_that (result, is_equal_to (TRUE));
126
127 assert_that (gvm_file_exists (dest_file), is_equal_to (1));
128
129 gchar *content;
130 g_file_get_contents (dest_file, &content, NULL, NULL);
131 assert_that (content, is_equal_to_string ("test content for copy"));
132 g_free (content);
133
134 g_remove (source_file);
135 g_remove (dest_file);
136}
int gvm_file_exists(const char *name)
Checks whether a file or directory exists.
Definition fileutils.c:71
gboolean gvm_file_copy(const gchar *source_file, const gchar *dest_file)
Copies a source file into a destination file.
Definition fileutils.c:171

References gvm_file_copy(), and gvm_file_exists().

Here is the call graph for this function:

◆ Ensure() [7/13]

Ensure ( fileutils ,
gvm_file_exists_returns_one_for_existing_file  )

Definition at line 31 of file fileutils_tests.c.

32{
33 gchar *test_file = "test_file_exists.tmp";
34 FILE *file = fopen (test_file, "w");
35 assert_that (file, is_not_null);
36 fclose (file);
37
38 assert_that (gvm_file_exists (test_file), is_equal_to (1));
39
40 g_remove (test_file);
41}

References gvm_file_exists().

Here is the call graph for this function:

◆ Ensure() [8/13]

Ensure ( fileutils ,
gvm_file_exists_returns_zero_for_nonexistent_file  )

Definition at line 26 of file fileutils_tests.c.

27{
28 assert_that (gvm_file_exists ("nonexistent_file"), is_equal_to (0));
29}

References gvm_file_exists().

Here is the call graph for this function:

◆ Ensure() [9/13]

Ensure ( fileutils ,
gvm_file_is_executable_returns_zero_for_non_executable_file  )

Definition at line 50 of file fileutils_tests.c.

51{
52 gchar *test_file = "test_file_not_executable.tmp";
53 FILE *file = fopen (test_file, "w");
54 assert_that (file, is_not_null);
55 fputs ("test content", file);
56 fclose (file);
57
58 assert_that (gvm_file_is_executable (test_file), is_equal_to (0));
59
60 g_remove (test_file);
61}
int gvm_file_is_executable(const char *name)
Checks whether a file or directory exists and is executable.
Definition fileutils.c:89

References gvm_file_is_executable().

Here is the call graph for this function:

◆ Ensure() [10/13]

Ensure ( fileutils ,
gvm_file_is_executable_returns_zero_for_nonexistent_file  )

Definition at line 45 of file fileutils_tests.c.

46{
47 assert_that (gvm_file_is_executable ("nonexistent_file"), is_equal_to (0));
48}

References gvm_file_is_executable().

Here is the call graph for this function:

◆ Ensure() [11/13]

Ensure ( fileutils ,
gvm_file_is_readable_returns_one_for_existing_file  )

Definition at line 70 of file fileutils_tests.c.

71{
72 gchar *test_file = "test_file_readable.tmp";
73 FILE *file = fopen (test_file, "w");
74 assert_that (file, is_not_null);
75 fputs ("test content", file);
76 fclose (file);
77
78 assert_that (gvm_file_is_readable (test_file), is_equal_to (1));
79
80 g_remove (test_file);
81}
int gvm_file_is_readable(const char *name)
Checks whether a file or directory exists and is readable.
Definition fileutils.c:107

References gvm_file_is_readable().

Here is the call graph for this function:

◆ Ensure() [12/13]

Ensure ( fileutils ,
gvm_file_is_readable_returns_zero_for_nonexistent_file  )

Definition at line 65 of file fileutils_tests.c.

66{
67 assert_that (gvm_file_is_readable ("nonexistent_file"), is_equal_to (0));
68}

References gvm_file_is_readable().

Here is the call graph for this function:

◆ Ensure() [13/13]

Ensure ( fileutils ,
gvm_file_move_returns_true_and_moves_file  )

Definition at line 140 of file fileutils_tests.c.

141{
142 gchar *source_file = "test_source_move.tmp";
143 gchar *dest_file = "test_dest_move.tmp";
144
145 FILE *file = fopen (source_file, "w");
146 assert_that (file, is_not_null);
147 fputs ("test content for move", file);
148 fclose (file);
149
150 gboolean result = gvm_file_move (source_file, dest_file);
151 assert_that (result, is_equal_to (TRUE));
152
153 assert_that (gvm_file_exists (source_file), is_equal_to (0));
154
155 assert_that (gvm_file_exists (dest_file), is_equal_to (1));
156
157 gchar *content;
158 g_file_get_contents (dest_file, &content, NULL, NULL);
159 assert_that (content, is_equal_to_string ("test content for move"));
160 g_free (content);
161
162 g_remove (dest_file);
163}
gboolean gvm_file_move(const gchar *source_file, const gchar *dest_file)
Moves a source file into a destination file.
Definition fileutils.c:206

References gvm_file_exists(), and gvm_file_move().

Here is the call graph for this function:

◆ main()

int main ( int argc,
char ** argv )

Definition at line 213 of file fileutils_tests.c.

214{
215 int ret;
216 TestSuite *suite;
217
218 suite = create_test_suite ();
219
220 add_test_with_context (suite, fileutils,
221 gvm_file_exists_returns_zero_for_nonexistent_file);
222 add_test_with_context (suite, fileutils,
223 gvm_file_exists_returns_one_for_existing_file);
224 add_test_with_context (
225 suite, fileutils, gvm_file_is_executable_returns_zero_for_nonexistent_file);
226 add_test_with_context (
227 suite, fileutils,
228 gvm_file_is_executable_returns_zero_for_non_executable_file);
229 add_test_with_context (
230 suite, fileutils, gvm_file_is_readable_returns_zero_for_nonexistent_file);
231 add_test_with_context (suite, fileutils,
232 gvm_file_is_readable_returns_one_for_existing_file);
233 add_test_with_context (
234 suite, fileutils,
235 gvm_file_check_is_dir_returns_minus_one_for_nonexistent_path);
236 add_test_with_context (suite, fileutils,
237 gvm_file_check_is_dir_returns_zero_for_file);
238 add_test_with_context (suite, fileutils,
239 gvm_file_check_is_dir_returns_one_for_directory);
240 add_test_with_context (suite, fileutils,
241 gvm_file_copy_returns_true_and_copies_file);
242 add_test_with_context (suite, fileutils,
243 gvm_file_move_returns_true_and_moves_file);
244 add_test_with_context (suite, fileutils,
245 gvm_file_as_base64_returns_correct_base64_for_file);
246 add_test_with_context (suite, fileutils,
247 gvm_export_file_name_returns_formatted_string);
248
249 if (argc > 1)
250 ret = run_single_test (suite, argv[1], create_text_reporter ());
251 else
252 ret = run_test_suite (suite, create_text_reporter ());
253
254 destroy_test_suite (suite);
255
256 return ret;
257}