aboutsummaryrefslogtreecommitdiff
path: root/src/namestore/test_namestore_api_remove_not_existing_record.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/namestore/test_namestore_api_remove_not_existing_record.c')
-rw-r--r--src/namestore/test_namestore_api_remove_not_existing_record.c180
1 files changed, 0 insertions, 180 deletions
diff --git a/src/namestore/test_namestore_api_remove_not_existing_record.c b/src/namestore/test_namestore_api_remove_not_existing_record.c
deleted file mode 100644
index 958ea4bf2..000000000
--- a/src/namestore/test_namestore_api_remove_not_existing_record.c
+++ /dev/null
@@ -1,180 +0,0 @@
1/*
2 This file is part of GNUnet.
3 Copyright (C) 2013 GNUnet e.V.
4
5 GNUnet is free software: you can redistribute it and/or modify it
6 under the terms of the GNU Affero General Public License as published
7 by the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Affero General Public License for more details.
14
15 You should have received a copy of the GNU Affero General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18 SPDX-License-Identifier: AGPL3.0-or-later
19 */
20/**
21 * @file namestore/test_namestore_api_remove_not_existing_record.c
22 * @brief testcase for namestore_api.c
23 */
24#include "platform.h"
25#include "gnunet_namestore_service.h"
26#include "gnunet_testing_lib.h"
27
28#define TEST_RECORD_TYPE 1234
29
30#define TEST_RECORD_DATALEN 123
31
32#define TEST_RECORD_DATA 'a'
33
34#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 100)
35
36
37static struct GNUNET_NAMESTORE_Handle *nsh;
38
39static struct GNUNET_SCHEDULER_Task *endbadly_task;
40
41static struct GNUNET_IDENTITY_PrivateKey privkey;
42
43static struct GNUNET_IDENTITY_PublicKey pubkey;
44
45static int res;
46
47static struct GNUNET_NAMESTORE_QueueEntry *nsqe;
48
49
50static void
51cleanup (void)
52{
53 if (NULL != nsh)
54 {
55 GNUNET_NAMESTORE_disconnect (nsh);
56 nsh = NULL;
57 }
58 GNUNET_SCHEDULER_shutdown ();
59}
60
61
62/**
63 * Re-establish the connection to the service.
64 *
65 * @param cls handle to use to re-connect.
66 */
67static void
68endbadly (void *cls)
69{
70 if (NULL != nsqe)
71 {
72 GNUNET_NAMESTORE_cancel (nsqe);
73 nsqe = NULL;
74 }
75 cleanup ();
76 res = 1;
77}
78
79
80static void
81end (void *cls)
82{
83 cleanup ();
84 res = 0;
85}
86
87
88static void
89put_cont (void *cls,
90 int32_t success,
91 const char *emsg)
92{
93 GNUNET_assert (NULL != cls);
94 nsqe = NULL;
95 if (endbadly_task != NULL)
96 {
97 GNUNET_SCHEDULER_cancel (endbadly_task);
98 endbadly_task = NULL;
99 }
100 switch (success)
101 {
102 case GNUNET_NO:
103 /* We expected GNUNET_NO, since record was not found */
104 GNUNET_SCHEDULER_add_now (&end, NULL);
105 break;
106
107 case GNUNET_OK:
108 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
109 "Namestore could remove non-existing record: `%s'\n",
110 (NULL != emsg) ? emsg : "");
111 GNUNET_SCHEDULER_add_now (&endbadly, NULL);
112 break;
113
114 case GNUNET_SYSERR:
115 default:
116 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
117 "Namestore failed: `%s'\n",
118 (NULL != emsg) ? emsg : "");
119 GNUNET_SCHEDULER_add_now (&endbadly, NULL);
120 break;
121 }
122}
123
124
125static void
126run (void *cls,
127 const struct GNUNET_CONFIGURATION_Handle *cfg,
128 struct GNUNET_TESTING_Peer *peer)
129{
130 const char *name = "dummy";
131
132 endbadly_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT,
133 &endbadly,
134 NULL);
135 privkey.type = htonl (GNUNET_GNSRECORD_TYPE_PKEY);
136 GNUNET_CRYPTO_ecdsa_key_create (&privkey.ecdsa_key);
137 GNUNET_IDENTITY_key_get_public (&privkey, &pubkey);
138
139 nsh = GNUNET_NAMESTORE_connect (cfg);
140 GNUNET_break (NULL != nsh);
141 nsqe = GNUNET_NAMESTORE_records_store (nsh,
142 &privkey,
143 name,
144 0, NULL,
145 &put_cont, (void *) name);
146 if (NULL == nsqe)
147 {
148 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
149 _ ("Namestore cannot store no block\n"));
150 }
151}
152
153
154#include "test_common.c"
155
156
157int
158main (int argc, char *argv[])
159{
160 const char *plugin_name;
161 char *cfg_name;
162
163 SETUP_CFG (plugin_name, cfg_name);
164 res = 1;
165 if (0 !=
166 GNUNET_TESTING_peer_run ("test-namestore-api-remove-non-existing-record",
167 cfg_name,
168 &run,
169 NULL))
170 {
171 res = 1;
172 }
173 GNUNET_DISK_purge_cfg_dir (cfg_name,
174 "GNUNET_TEST_HOME");
175 GNUNET_free (cfg_name);
176 return res;
177}
178
179
180/* end of test_namestore_api_remove_not_existing_record.c */