From 0c15cd1d937abdd57b0a40796b3cd8c0ced8d336 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 24 Feb 2026 20:12:53 +0100 Subject: [PATCH] tests: Add test for valid_tls_policy_option() See last commit with comment regarding cons_show(). In this test here we can see that if we pass NULL cons_show() isn't called. Making it a bit different that other invalid test cases. --- tests/unittests/test_common.c | 24 ++++++++++++++++++++++++ tests/unittests/test_common.h | 1 + tests/unittests/unittests.c | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/tests/unittests/test_common.c b/tests/unittests/test_common.c index 2e3c8155..ed409d9d 100644 --- a/tests/unittests/test_common.c +++ b/tests/unittests/test_common.c @@ -328,6 +328,30 @@ strip_quotes_strips_both(void** state) free(result); } +void test_valid_tls_policy_option(void** state) { + // Valid inputs + assert_true(valid_tls_policy_option("force")); + assert_true(valid_tls_policy_option("allow")); + assert_true(valid_tls_policy_option("trust")); + assert_true(valid_tls_policy_option("disable")); + assert_true(valid_tls_policy_option("legacy")); + assert_true(valid_tls_policy_option("direct")); + + // Invalid inputs + // Not an option + expect_any_cons_show(); // For "Invalid TLS policy: 'profanity'" + expect_any_cons_show(); // For "TLS policy must be one of: 'force', 'allow', 'trust', 'disable', 'legacy', or 'direct'." + assert_false(valid_tls_policy_option("profanity")); + + // Empty + expect_any_cons_show(); // For "Invalid TLS policy: ''" + expect_any_cons_show(); // For "TLS policy must be one of: 'force', 'allow', 'trust', 'disable', 'legacy', or 'direct'." + assert_false(valid_tls_policy_option("")); + + // NULL + assert_true(valid_tls_policy_option(NULL)); +} + void test_get_expanded_path(void** state) { gchar* expanded_path; diff --git a/tests/unittests/test_common.h b/tests/unittests/test_common.h index b828ee20..e66f1121 100644 --- a/tests/unittests/test_common.h +++ b/tests/unittests/test_common.h @@ -42,3 +42,4 @@ void test_strtoi_range_invalid_input(void** state); void test_strtoi_range_null_empty_input(void** state); void test_strtoi_range_null_err_msg(void** state); void test_string_matches_one_of_edge_cases(void** state); +void test_valid_tls_policy_option(void** state); diff --git a/tests/unittests/unittests.c b/tests/unittests/unittests.c index a3bc6801..35253e3a 100644 --- a/tests/unittests/unittests.c +++ b/tests/unittests/unittests.c @@ -102,7 +102,7 @@ main(int argc, char* argv[]) cmocka_unit_test(test_strtoi_range_null_empty_input), cmocka_unit_test(test_strtoi_range_null_err_msg), cmocka_unit_test(test_string_matches_one_of_edge_cases), - + cmocka_unit_test(test_valid_tls_policy_option), cmocka_unit_test(clear_empty), cmocka_unit_test(reset_after_create), cmocka_unit_test(find_after_create),