diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2018-02-03 16:38:11 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2018-06-04 11:20:28 +0200 |
commit | a465ea2d49539af1d2575498a5ce45e51980d982 (patch) | |
tree | caadcd85b183e93572804b94a56997c1826c215a /tests | |
parent | 702e9e8ad56491e3dda7fc215c8e2f4f139e2d2e (diff) | |
download | libssh-a465ea2d49539af1d2575498a5ce45e51980d982.tar.gz libssh-a465ea2d49539af1d2575498a5ce45e51980d982.tar.xz libssh-a465ea2d49539af1d2575498a5ce45e51980d982.zip |
knownhosts: Add ssh_known_hosts_read_entries()
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unittests/torture_knownhosts_parsing.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/unittests/torture_knownhosts_parsing.c b/tests/unittests/torture_knownhosts_parsing.c index 8955c7e8..51d816f2 100644 --- a/tests/unittests/torture_knownhosts_parsing.c +++ b/tests/unittests/torture_knownhosts_parsing.c @@ -199,6 +199,33 @@ static void torture_knownhosts_parse_line_hashed_ed25519(void **state) { SSH_KNOWNHOSTS_ENTRY_FREE(entry); } +static void torture_knownhosts_read_file(void **state) +{ + const char *knownhosts_file = *state; + struct ssh_list *entry_list = NULL; + struct ssh_iterator *it = NULL; + int rc; + + rc = ssh_known_hosts_read_entries("localhost", + knownhosts_file, + &entry_list); + assert_int_equal(rc, SSH_OK); + assert_non_null(entry_list); + it = ssh_list_get_iterator(entry_list); + assert_non_null(it); + for (;it != NULL; it = it->next) { + struct ssh_knownhosts_entry *entry = NULL; + enum ssh_keytypes_e type; + + entry = ssh_iterator_value(struct ssh_knownhosts_entry *, it); + assert_non_null(entry); + + assert_string_equal(entry->hostname, "localhost"); + type = ssh_key_type(entry->publickey); + assert_int_equal(type, SSH_KEYTYPE_ED25519); + } +} + int torture_run_tests(void) { int rc; struct CMUnitTest tests[] = { @@ -208,6 +235,9 @@ int torture_run_tests(void) { cmocka_unit_test(torture_knownhosts_parse_line_port_ed25519), cmocka_unit_test(torture_knownhosts_parse_line_pattern_ed25519), cmocka_unit_test(torture_knownhosts_parse_line_hashed_ed25519), + cmocka_unit_test_setup_teardown(torture_knownhosts_read_file, + setup_knownhosts_file, + teardown_knownhosts_file), }; ssh_init(); |