Line data Source code
1 : /* t-keydb-get-keyblock.c - Tests for keydb.c.
2 : * Copyright (C) 2015 g10 Code GmbH
3 : *
4 : * This file is part of GnuPG.
5 : *
6 : * GnuPG is free software; you can redistribute it and/or modify
7 : * it under the terms of the GNU General Public License as published by
8 : * the Free Software Foundation; either version 3 of the License, or
9 : * (at your option) any later version.
10 : *
11 : * GnuPG is distributed in the hope that it will be useful,
12 : * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 : * GNU General Public License for more details.
15 : *
16 : * You should have received a copy of the GNU General Public License
17 : * along with this program; if not, see <https://www.gnu.org/licenses/>.
18 : */
19 :
20 : #include "test.c"
21 :
22 : #include "keydb.h"
23 :
24 : static void
25 1 : do_test (int argc, char *argv[])
26 : {
27 : char *fname;
28 : int rc;
29 : KEYDB_HANDLE hd1;
30 : KEYDB_SEARCH_DESC desc1;
31 : KBNODE kb1;
32 :
33 : (void) argc;
34 : (void) argv;
35 :
36 : /* t-keydb-get-keyblock.gpg contains two keys: a modern key followed
37 : by a legacy key. If we get the keyblock for the modern key, we
38 : shouldn't get
39 :
40 : - */
41 1 : fname = prepend_srcdir ("t-keydb-get-keyblock.gpg");
42 1 : rc = keydb_add_resource (fname, 0);
43 1 : test_free (fname);
44 1 : if (rc)
45 0 : ABORT ("Failed to open keyring.");
46 :
47 1 : hd1 = keydb_new ();
48 1 : if (!hd1)
49 0 : ABORT ("");
50 :
51 1 : rc = classify_user_id ("8061 5870 F5BA D690 3336 86D0 F2AD 85AC 1E42 B367",
52 : &desc1, 0);
53 1 : if (rc)
54 0 : ABORT ("Failed to convert fingerprint for 1E42B367");
55 :
56 1 : rc = keydb_search (hd1, &desc1, 1, NULL);
57 1 : if (rc)
58 0 : ABORT ("Failed to lookup key associated with 1E42B367");
59 :
60 1 : rc = keydb_get_keyblock (hd1, &kb1);
61 1 : TEST_P ("", ! rc);
62 :
63 1 : keydb_release (hd1);
64 1 : }
|