diff options
Diffstat (limited to 'src/lib/test_exchange_api.c')
-rw-r--r-- | src/lib/test_exchange_api.c | 341 |
1 files changed, 172 insertions, 169 deletions
diff --git a/src/lib/test_exchange_api.c b/src/lib/test_exchange_api.c index 33a2df9dd..eeccd3bc2 100644 --- a/src/lib/test_exchange_api.c +++ b/src/lib/test_exchange_api.c | |||
@@ -42,7 +42,8 @@ | |||
42 | */ | 42 | */ |
43 | #define CONFIG_FILE "test_exchange_api.conf" | 43 | #define CONFIG_FILE "test_exchange_api.conf" |
44 | 44 | ||
45 | #define CONFIG_FILE_EXPIRE_RESERVE_NOW "test_exchange_api_expire_reserve_now.conf" | 45 | #define CONFIG_FILE_EXPIRE_RESERVE_NOW \ |
46 | "test_exchange_api_expire_reserve_now.conf" | ||
46 | 47 | ||
47 | /** | 48 | /** |
48 | * Is the configuration file is set to include wire format 'ebics'? | 49 | * Is the configuration file is set to include wire format 'ebics'? |
@@ -99,7 +100,7 @@ static char *auditor_url; | |||
99 | * @param label label to use for the command. | 100 | * @param label label to use for the command. |
100 | */ | 101 | */ |
101 | #define CMD_EXEC_WIREWATCH(label) \ | 102 | #define CMD_EXEC_WIREWATCH(label) \ |
102 | TALER_TESTING_cmd_exec_wirewatch (label, CONFIG_FILE) | 103 | TALER_TESTING_cmd_exec_wirewatch (label, CONFIG_FILE) |
103 | 104 | ||
104 | /** | 105 | /** |
105 | * Execute the taler-exchange-aggregator command with | 106 | * Execute the taler-exchange-aggregator command with |
@@ -108,7 +109,7 @@ static char *auditor_url; | |||
108 | * @param label label to use for the command. | 109 | * @param label label to use for the command. |
109 | */ | 110 | */ |
110 | #define CMD_EXEC_AGGREGATOR(label) \ | 111 | #define CMD_EXEC_AGGREGATOR(label) \ |
111 | TALER_TESTING_cmd_exec_aggregator (label, CONFIG_FILE) | 112 | TALER_TESTING_cmd_exec_aggregator (label, CONFIG_FILE) |
112 | 113 | ||
113 | /** | 114 | /** |
114 | * Run wire transfer of funds from some user's account to the | 115 | * Run wire transfer of funds from some user's account to the |
@@ -118,9 +119,11 @@ static char *auditor_url; | |||
118 | * @param amount amount to transfer, i.e. "EUR:1" | 119 | * @param amount amount to transfer, i.e. "EUR:1" |
119 | */ | 120 | */ |
120 | #define CMD_TRANSFER_TO_EXCHANGE(label,amount) \ | 121 | #define CMD_TRANSFER_TO_EXCHANGE(label,amount) \ |
121 | TALER_TESTING_cmd_fakebank_transfer (label, amount, \ | 122 | TALER_TESTING_cmd_fakebank_transfer (label, amount, \ |
122 | fakebank_url, USER_ACCOUNT_NO, EXCHANGE_ACCOUNT_NO, \ | 123 | fakebank_url, USER_ACCOUNT_NO, \ |
123 | USER_LOGIN_NAME, USER_LOGIN_PASS, exchange_url) | 124 | EXCHANGE_ACCOUNT_NO, \ |
125 | USER_LOGIN_NAME, USER_LOGIN_PASS, \ | ||
126 | exchange_url) | ||
124 | 127 | ||
125 | /** | 128 | /** |
126 | * Run wire transfer of funds from some user's account to the | 129 | * Run wire transfer of funds from some user's account to the |
@@ -130,10 +133,10 @@ static char *auditor_url; | |||
130 | * @param amount amount to transfer, i.e. "EUR:1" | 133 | * @param amount amount to transfer, i.e. "EUR:1" |
131 | */ | 134 | */ |
132 | #define CMD_TRANSFER_TO_EXCHANGE_SUBJECT(label,amount,subject) \ | 135 | #define CMD_TRANSFER_TO_EXCHANGE_SUBJECT(label,amount,subject) \ |
133 | TALER_TESTING_cmd_fakebank_transfer_with_subject \ | 136 | TALER_TESTING_cmd_fakebank_transfer_with_subject \ |
134 | (label, amount, fakebank_url, USER_ACCOUNT_NO, \ | 137 | (label, amount, fakebank_url, USER_ACCOUNT_NO, \ |
135 | EXCHANGE_ACCOUNT_NO, USER_LOGIN_NAME, USER_LOGIN_PASS, \ | 138 | EXCHANGE_ACCOUNT_NO, USER_LOGIN_NAME, USER_LOGIN_PASS, \ |
136 | subject, exchange_url) | 139 | subject, exchange_url) |
137 | 140 | ||
138 | /** | 141 | /** |
139 | * Main function that will tell the interpreter what commands to | 142 | * Main function that will tell the interpreter what commands to |
@@ -214,10 +217,10 @@ run (void *cls, | |||
214 | */ | 217 | */ |
215 | TALER_TESTING_cmd_deposit | 218 | TALER_TESTING_cmd_deposit |
216 | ("deposit-simple", "withdraw-coin-1", 0, | 219 | ("deposit-simple", "withdraw-coin-1", 0, |
217 | TALER_TESTING_make_wire_details (42, | 220 | TALER_TESTING_make_wire_details (42, |
218 | fakebank_url), | 221 | fakebank_url), |
219 | "{\"items\":[{\"name\":\"ice cream\",\"value\":1}]}", | 222 | "{\"items\":[{\"name\":\"ice cream\",\"value\":1}]}", |
220 | GNUNET_TIME_UNIT_ZERO, "EUR:5", MHD_HTTP_OK), | 223 | GNUNET_TIME_UNIT_ZERO, "EUR:5", MHD_HTTP_OK), |
221 | 224 | ||
222 | /** | 225 | /** |
223 | * Try to overdraw. | 226 | * Try to overdraw. |
@@ -232,10 +235,10 @@ run (void *cls, | |||
232 | */ | 235 | */ |
233 | TALER_TESTING_cmd_deposit | 236 | TALER_TESTING_cmd_deposit |
234 | ("deposit-double-1", "withdraw-coin-1", 0, | 237 | ("deposit-double-1", "withdraw-coin-1", 0, |
235 | TALER_TESTING_make_wire_details (43, | 238 | TALER_TESTING_make_wire_details (43, |
236 | fakebank_url), | 239 | fakebank_url), |
237 | "{\"items\":[{\"name\":\"ice cream\",\"value\":1}]}", | 240 | "{\"items\":[{\"name\":\"ice cream\",\"value\":1}]}", |
238 | GNUNET_TIME_UNIT_ZERO, "EUR:5", MHD_HTTP_FORBIDDEN), | 241 | GNUNET_TIME_UNIT_ZERO, "EUR:5", MHD_HTTP_FORBIDDEN), |
239 | 242 | ||
240 | /** | 243 | /** |
241 | * Try to double spend using a different transaction id. | 244 | * Try to double spend using a different transaction id. |
@@ -248,20 +251,20 @@ run (void *cls, | |||
248 | */ | 251 | */ |
249 | TALER_TESTING_cmd_deposit | 252 | TALER_TESTING_cmd_deposit |
250 | ("deposit-double-1", "withdraw-coin-1", 0, | 253 | ("deposit-double-1", "withdraw-coin-1", 0, |
251 | TALER_TESTING_make_wire_details (43, | 254 | TALER_TESTING_make_wire_details (43, |
252 | fakebank_url), | 255 | fakebank_url), |
253 | "{\"items\":[{\"name\":\"ice cream\",\"value\":1}]}", | 256 | "{\"items\":[{\"name\":\"ice cream\",\"value\":1}]}", |
254 | GNUNET_TIME_UNIT_ZERO, "EUR:5", MHD_HTTP_FORBIDDEN), | 257 | GNUNET_TIME_UNIT_ZERO, "EUR:5", MHD_HTTP_FORBIDDEN), |
255 | 258 | ||
256 | /** | 259 | /** |
257 | * Try to double spend with different proposal. | 260 | * Try to double spend with different proposal. |
258 | */ | 261 | */ |
259 | TALER_TESTING_cmd_deposit | 262 | TALER_TESTING_cmd_deposit |
260 | ("deposit-double-2", "withdraw-coin-1", 0, | 263 | ("deposit-double-2", "withdraw-coin-1", 0, |
261 | TALER_TESTING_make_wire_details (43, | 264 | TALER_TESTING_make_wire_details (43, |
262 | fakebank_url), | 265 | fakebank_url), |
263 | "{\"items\":[{\"name\":\"ice cream\",\"value\":2}]}", | 266 | "{\"items\":[{\"name\":\"ice cream\",\"value\":2}]}", |
264 | GNUNET_TIME_UNIT_ZERO, "EUR:5", MHD_HTTP_FORBIDDEN), | 267 | GNUNET_TIME_UNIT_ZERO, "EUR:5", MHD_HTTP_FORBIDDEN), |
265 | 268 | ||
266 | TALER_TESTING_cmd_end () | 269 | TALER_TESTING_cmd_end () |
267 | }; | 270 | }; |
@@ -288,9 +291,9 @@ run (void *cls, | |||
288 | */ | 291 | */ |
289 | TALER_TESTING_cmd_withdraw_amount | 292 | TALER_TESTING_cmd_withdraw_amount |
290 | ("refresh-withdraw-coin-1", | 293 | ("refresh-withdraw-coin-1", |
291 | "refresh-create-reserve-1", | 294 | "refresh-create-reserve-1", |
292 | "EUR:5", | 295 | "EUR:5", |
293 | MHD_HTTP_OK), | 296 | MHD_HTTP_OK), |
294 | /** | 297 | /** |
295 | * Try to partially spend (deposit) 1 EUR of the 5 EUR coin | 298 | * Try to partially spend (deposit) 1 EUR of the 5 EUR coin |
296 | * (in full) (merchant would receive EUR:0.99 due to 1 ct | 299 | * (in full) (merchant would receive EUR:0.99 due to 1 ct |
@@ -298,74 +301,74 @@ run (void *cls, | |||
298 | */ | 301 | */ |
299 | TALER_TESTING_cmd_deposit | 302 | TALER_TESTING_cmd_deposit |
300 | ("refresh-deposit-partial", | 303 | ("refresh-deposit-partial", |
301 | "refresh-withdraw-coin-1", 0, | 304 | "refresh-withdraw-coin-1", 0, |
302 | TALER_TESTING_make_wire_details (42, | 305 | TALER_TESTING_make_wire_details (42, |
303 | fakebank_url), | 306 | fakebank_url), |
304 | "{\"items\":[{\"name\":\"ice cream\",\ | 307 | "{\"items\":[{\"name\":\"ice cream\",\ |
305 | \"value\":\"EUR:1\"}]}", | 308 | \"value\":\"EUR:1\"}]}", |
306 | GNUNET_TIME_UNIT_ZERO, "EUR:1", MHD_HTTP_OK), | 309 | GNUNET_TIME_UNIT_ZERO, "EUR:1", MHD_HTTP_OK), |
307 | 310 | ||
308 | /** | 311 | /** |
309 | * Melt the rest of the coin's value | 312 | * Melt the rest of the coin's value |
310 | * (EUR:4.00 = 3x EUR:1.03 + 7x EUR:0.13) */ | 313 | * (EUR:4.00 = 3x EUR:1.03 + 7x EUR:0.13) */ |
311 | TALER_TESTING_cmd_refresh_melt_double | 314 | TALER_TESTING_cmd_refresh_melt_double |
312 | ("refresh-melt-1", | 315 | ("refresh-melt-1", |
313 | "refresh-withdraw-coin-1", | 316 | "refresh-withdraw-coin-1", |
314 | MHD_HTTP_OK, | 317 | MHD_HTTP_OK, |
315 | NULL), | 318 | NULL), |
316 | /** | 319 | /** |
317 | * Complete (successful) melt operation, and | 320 | * Complete (successful) melt operation, and |
318 | * withdraw the coins | 321 | * withdraw the coins |
319 | */ | 322 | */ |
320 | TALER_TESTING_cmd_refresh_reveal | 323 | TALER_TESTING_cmd_refresh_reveal |
321 | ("refresh-reveal-1", | 324 | ("refresh-reveal-1", |
322 | "refresh-melt-1", MHD_HTTP_OK), | 325 | "refresh-melt-1", MHD_HTTP_OK), |
323 | 326 | ||
324 | /** | 327 | /** |
325 | * Do it again to check idempotency | 328 | * Do it again to check idempotency |
326 | */ | 329 | */ |
327 | TALER_TESTING_cmd_refresh_reveal | 330 | TALER_TESTING_cmd_refresh_reveal |
328 | ("refresh-reveal-1-idempotency", | 331 | ("refresh-reveal-1-idempotency", |
329 | "refresh-melt-1", MHD_HTTP_OK), | 332 | "refresh-melt-1", MHD_HTTP_OK), |
330 | 333 | ||
331 | /** | 334 | /** |
332 | * Test that /refresh/link works | 335 | * Test that /refresh/link works |
333 | */ | 336 | */ |
334 | TALER_TESTING_cmd_refresh_link | 337 | TALER_TESTING_cmd_refresh_link |
335 | ("refresh-link-1", | 338 | ("refresh-link-1", |
336 | "refresh-reveal-1", MHD_HTTP_OK), | 339 | "refresh-reveal-1", MHD_HTTP_OK), |
337 | 340 | ||
338 | /** | 341 | /** |
339 | * Try to spend a refreshed EUR:1 coin | 342 | * Try to spend a refreshed EUR:1 coin |
340 | */ | 343 | */ |
341 | TALER_TESTING_cmd_deposit | 344 | TALER_TESTING_cmd_deposit |
342 | ("refresh-deposit-refreshed-1a", | 345 | ("refresh-deposit-refreshed-1a", |
343 | "refresh-reveal-1-idempotency", 0, | 346 | "refresh-reveal-1-idempotency", 0, |
344 | TALER_TESTING_make_wire_details (42, | 347 | TALER_TESTING_make_wire_details (42, |
345 | fakebank_url), | 348 | fakebank_url), |
346 | "{\"items\":[{\"name\":\"ice cream\",\ | 349 | "{\"items\":[{\"name\":\"ice cream\",\ |
347 | \"value\":3}]}", | 350 | \"value\":3}]}", |
348 | GNUNET_TIME_UNIT_ZERO, "EUR:1", MHD_HTTP_OK), | 351 | GNUNET_TIME_UNIT_ZERO, "EUR:1", MHD_HTTP_OK), |
349 | 352 | ||
350 | /** | 353 | /** |
351 | * Try to spend a refreshed EUR:0.1 coin | 354 | * Try to spend a refreshed EUR:0.1 coin |
352 | */ | 355 | */ |
353 | TALER_TESTING_cmd_deposit | 356 | TALER_TESTING_cmd_deposit |
354 | ("refresh-deposit-refreshed-1b", | 357 | ("refresh-deposit-refreshed-1b", |
355 | "refresh-reveal-1", 3, | 358 | "refresh-reveal-1", 3, |
356 | TALER_TESTING_make_wire_details (43, | 359 | TALER_TESTING_make_wire_details (43, |
357 | fakebank_url), | 360 | fakebank_url), |
358 | "{\"items\":[{\"name\":\"ice cream\",\ | 361 | "{\"items\":[{\"name\":\"ice cream\",\ |
359 | \"value\":3}]}", | 362 | \"value\":3}]}", |
360 | GNUNET_TIME_UNIT_ZERO, "EUR:0.1", MHD_HTTP_OK), | 363 | GNUNET_TIME_UNIT_ZERO, "EUR:0.1", MHD_HTTP_OK), |
361 | 364 | ||
362 | /* Test running a failing melt operation (same operation | 365 | /* Test running a failing melt operation (same operation |
363 | * again must fail) */ | 366 | * again must fail) */ |
364 | TALER_TESTING_cmd_refresh_melt | 367 | TALER_TESTING_cmd_refresh_melt |
365 | ("refresh-melt-failing", | 368 | ("refresh-melt-failing", |
366 | "refresh-withdraw-coin-1", | 369 | "refresh-withdraw-coin-1", |
367 | MHD_HTTP_FORBIDDEN, | 370 | MHD_HTTP_FORBIDDEN, |
368 | NULL), | 371 | NULL), |
369 | 372 | ||
370 | /* FIXME: also test with coin that was already melted | 373 | /* FIXME: also test with coin that was already melted |
371 | * (signature differs from coin that was deposited...) */ | 374 | * (signature differs from coin that was deposited...) */ |
@@ -380,8 +383,8 @@ run (void *cls, | |||
380 | * the exchange knows about the deposit, but has no WTID yet. | 383 | * the exchange knows about the deposit, but has no WTID yet. |
381 | */ | 384 | */ |
382 | TALER_TESTING_cmd_track_transaction | 385 | TALER_TESTING_cmd_track_transaction |
383 | ("deposit-wtid-found", | 386 | ("deposit-wtid-found", |
384 | "deposit-simple", 0, MHD_HTTP_ACCEPTED, NULL), | 387 | "deposit-simple", 0, MHD_HTTP_ACCEPTED, NULL), |
385 | 388 | ||
386 | /** | 389 | /** |
387 | * Try resolving a deposit's WTID for a failed deposit. | 390 | * Try resolving a deposit's WTID for a failed deposit. |
@@ -389,8 +392,8 @@ run (void *cls, | |||
389 | * exchange does NOT know about the deposit. | 392 | * exchange does NOT know about the deposit. |
390 | */ | 393 | */ |
391 | TALER_TESTING_cmd_track_transaction | 394 | TALER_TESTING_cmd_track_transaction |
392 | ("deposit-wtid-failing", | 395 | ("deposit-wtid-failing", |
393 | "deposit-double-2", 0, MHD_HTTP_NOT_FOUND, NULL), | 396 | "deposit-double-2", 0, MHD_HTTP_NOT_FOUND, NULL), |
394 | 397 | ||
395 | /** | 398 | /** |
396 | * Try resolving an undefined (all zeros) WTID; this | 399 | * Try resolving an undefined (all zeros) WTID; this |
@@ -399,7 +402,7 @@ run (void *cls, | |||
399 | */ | 402 | */ |
400 | TALER_TESTING_cmd_track_transfer_empty | 403 | TALER_TESTING_cmd_track_transfer_empty |
401 | ("wire-deposit-failing", | 404 | ("wire-deposit-failing", |
402 | NULL, 0, MHD_HTTP_NOT_FOUND), | 405 | NULL, 0, MHD_HTTP_NOT_FOUND), |
403 | 406 | ||
404 | /** | 407 | /** |
405 | * Run transfers. Note that _actual_ aggregation will NOT | 408 | * Run transfers. Note that _actual_ aggregation will NOT |
@@ -415,23 +418,23 @@ run (void *cls, | |||
415 | */ | 418 | */ |
416 | TALER_TESTING_cmd_check_bank_transfer | 419 | TALER_TESTING_cmd_check_bank_transfer |
417 | ("check_bank_transfer-499c", exchange_url, | 420 | ("check_bank_transfer-499c", exchange_url, |
418 | "EUR:4.98", 2, 42), | 421 | "EUR:4.98", 2, 42), |
419 | 422 | ||
420 | TALER_TESTING_cmd_check_bank_transfer | 423 | TALER_TESTING_cmd_check_bank_transfer |
421 | ("check_bank_transfer-99c1", exchange_url, | 424 | ("check_bank_transfer-99c1", exchange_url, |
422 | "EUR:0.98", 2, 42), | 425 | "EUR:0.98", 2, 42), |
423 | 426 | ||
424 | TALER_TESTING_cmd_check_bank_transfer | 427 | TALER_TESTING_cmd_check_bank_transfer |
425 | ("check_bank_transfer-99c2", exchange_url, | 428 | ("check_bank_transfer-99c2", exchange_url, |
426 | "EUR:0.98", 2, 42), | 429 | "EUR:0.98", 2, 42), |
427 | 430 | ||
428 | TALER_TESTING_cmd_check_bank_transfer | 431 | TALER_TESTING_cmd_check_bank_transfer |
429 | ("check_bank_transfer-99c", exchange_url, | 432 | ("check_bank_transfer-99c", exchange_url, |
430 | "EUR:0.08", 2, 43), | 433 | "EUR:0.08", 2, 43), |
431 | 434 | ||
432 | TALER_TESTING_cmd_check_bank_transfer | 435 | TALER_TESTING_cmd_check_bank_transfer |
433 | ("check_bank_transfer-aai-1", exchange_url, | 436 | ("check_bank_transfer-aai-1", exchange_url, |
434 | "EUR:5.01", 42, 2), | 437 | "EUR:5.01", 42, 2), |
435 | 438 | ||
436 | /** | 439 | /** |
437 | * NOTE: the old test-suite had this "check bank transfer" | 440 | * NOTE: the old test-suite had this "check bank transfer" |
@@ -439,23 +442,23 @@ run (void *cls, | |||
439 | */ | 442 | */ |
440 | TALER_TESTING_cmd_check_bank_transfer | 443 | TALER_TESTING_cmd_check_bank_transfer |
441 | ("check_bank_transfer-aai-2", exchange_url, | 444 | ("check_bank_transfer-aai-2", exchange_url, |
442 | "EUR:5.01", 42, 2), | 445 | "EUR:5.01", 42, 2), |
443 | 446 | ||
444 | TALER_TESTING_cmd_check_bank_empty ("check_bank_empty"), | 447 | TALER_TESTING_cmd_check_bank_empty ("check_bank_empty"), |
445 | 448 | ||
446 | TALER_TESTING_cmd_track_transaction | 449 | TALER_TESTING_cmd_track_transaction |
447 | ("deposit-wtid-ok", | 450 | ("deposit-wtid-ok", |
448 | "deposit-simple", 0, MHD_HTTP_OK, "check_bank_transfer-499c"), | 451 | "deposit-simple", 0, MHD_HTTP_OK, "check_bank_transfer-499c"), |
449 | 452 | ||
450 | TALER_TESTING_cmd_track_transfer | 453 | TALER_TESTING_cmd_track_transfer |
451 | ("wire-deposit-success-bank", | 454 | ("wire-deposit-success-bank", |
452 | "check_bank_transfer-99c1", 0, MHD_HTTP_OK, "EUR:0.98", | 455 | "check_bank_transfer-99c1", 0, MHD_HTTP_OK, "EUR:0.98", |
453 | "EUR:0.01"), | 456 | "EUR:0.01"), |
454 | 457 | ||
455 | TALER_TESTING_cmd_track_transfer | 458 | TALER_TESTING_cmd_track_transfer |
456 | ("wire-deposits-success-wtid", | 459 | ("wire-deposits-success-wtid", |
457 | "deposit-wtid-ok", 0, MHD_HTTP_OK, "EUR:4.98", | 460 | "deposit-wtid-ok", 0, MHD_HTTP_OK, "EUR:4.98", |
458 | "EUR:0.01"), | 461 | "EUR:0.01"), |
459 | 462 | ||
460 | TALER_TESTING_cmd_end () | 463 | TALER_TESTING_cmd_end () |
461 | }; | 464 | }; |
@@ -478,30 +481,30 @@ run (void *cls, | |||
478 | /* "consume" reserve creation transfer. */ | 481 | /* "consume" reserve creation transfer. */ |
479 | TALER_TESTING_cmd_check_bank_transfer | 482 | TALER_TESTING_cmd_check_bank_transfer |
480 | ("check_bank_transfer-unaggregated", | 483 | ("check_bank_transfer-unaggregated", |
481 | exchange_url, | 484 | exchange_url, |
482 | "EUR:5.01", | 485 | "EUR:5.01", |
483 | 42, | 486 | 42, |
484 | 2), | 487 | 2), |
485 | 488 | ||
486 | TALER_TESTING_cmd_withdraw_amount | 489 | TALER_TESTING_cmd_withdraw_amount |
487 | ("withdraw-coin-unaggregated", | 490 | ("withdraw-coin-unaggregated", |
488 | "create-reserve-unaggregated", | 491 | "create-reserve-unaggregated", |
489 | "EUR:5", | 492 | "EUR:5", |
490 | MHD_HTTP_OK), | 493 | MHD_HTTP_OK), |
491 | 494 | ||
492 | TALER_TESTING_cmd_deposit | 495 | TALER_TESTING_cmd_deposit |
493 | ("deposit-unaggregated", | 496 | ("deposit-unaggregated", |
494 | "withdraw-coin-unaggregated", | 497 | "withdraw-coin-unaggregated", |
495 | 0, | 498 | 0, |
496 | TALER_TESTING_make_wire_details | 499 | TALER_TESTING_make_wire_details |
497 | (43, | 500 | (43, |
498 | fakebank_url), | 501 | fakebank_url), |
499 | "{\"items\":[{\"name\":\"ice cream\",\"value\":1}]}", | 502 | "{\"items\":[{\"name\":\"ice cream\",\"value\":1}]}", |
500 | GNUNET_TIME_relative_multiply | 503 | GNUNET_TIME_relative_multiply |
501 | (GNUNET_TIME_UNIT_YEARS, | 504 | (GNUNET_TIME_UNIT_YEARS, |
502 | 3000), | 505 | 3000), |
503 | "EUR:5", | 506 | "EUR:5", |
504 | MHD_HTTP_OK), | 507 | MHD_HTTP_OK), |
505 | 508 | ||
506 | CMD_EXEC_AGGREGATOR ("aggregation-attempt"), | 509 | CMD_EXEC_AGGREGATOR ("aggregation-attempt"), |
507 | 510 | ||
@@ -538,11 +541,11 @@ run (void *cls, | |||
538 | */ | 541 | */ |
539 | TALER_TESTING_cmd_deposit | 542 | TALER_TESTING_cmd_deposit |
540 | ("deposit-refund-1", "withdraw-coin-r1", 0, | 543 | ("deposit-refund-1", "withdraw-coin-r1", 0, |
541 | TALER_TESTING_make_wire_details (42, | 544 | TALER_TESTING_make_wire_details (42, |
542 | fakebank_url), | 545 | fakebank_url), |
543 | "{\"items\":[{\"name\":\"ice cream\"," | 546 | "{\"items\":[{\"name\":\"ice cream\"," |
544 | "\"value\":\"EUR:5\"}]}", | 547 | "\"value\":\"EUR:5\"}]}", |
545 | GNUNET_TIME_UNIT_MINUTES, "EUR:5", MHD_HTTP_OK), | 548 | GNUNET_TIME_UNIT_MINUTES, "EUR:5", MHD_HTTP_OK), |
546 | 549 | ||
547 | 550 | ||
548 | /** | 551 | /** |
@@ -561,23 +564,23 @@ run (void *cls, | |||
561 | 564 | ||
562 | TALER_TESTING_cmd_check_bank_transfer | 565 | TALER_TESTING_cmd_check_bank_transfer |
563 | ("check_bank_transfer-pre-refund", exchange_url, | 566 | ("check_bank_transfer-pre-refund", exchange_url, |
564 | "EUR:5.01", 42, 2), | 567 | "EUR:5.01", 42, 2), |
565 | 568 | ||
566 | TALER_TESTING_cmd_check_bank_empty | 569 | TALER_TESTING_cmd_check_bank_empty |
567 | ("check_bank_transfer-pre-refund"), | 570 | ("check_bank_transfer-pre-refund"), |
568 | 571 | ||
569 | TALER_TESTING_cmd_refund | 572 | TALER_TESTING_cmd_refund |
570 | ("refund-ok", MHD_HTTP_OK, | 573 | ("refund-ok", MHD_HTTP_OK, |
571 | "EUR:5", "EUR:0.01", "deposit-refund-1"), | 574 | "EUR:5", "EUR:0.01", "deposit-refund-1"), |
572 | 575 | ||
573 | TALER_TESTING_cmd_refund | 576 | TALER_TESTING_cmd_refund |
574 | ("refund-ok-double", MHD_HTTP_OK, | 577 | ("refund-ok-double", MHD_HTTP_OK, |
575 | "EUR:5", "EUR:0.01", "deposit-refund-1"), | 578 | "EUR:5", "EUR:0.01", "deposit-refund-1"), |
576 | 579 | ||
577 | /* Previous /refund(s) had id == 0. */ | 580 | /* Previous /refund(s) had id == 0. */ |
578 | TALER_TESTING_cmd_refund_with_id | 581 | TALER_TESTING_cmd_refund_with_id |
579 | ("refund-conflicting", MHD_HTTP_CONFLICT, | 582 | ("refund-conflicting", MHD_HTTP_CONFLICT, |
580 | "EUR:5", "EUR:0.01", "deposit-refund-1", 1), | 583 | "EUR:5", "EUR:0.01", "deposit-refund-1", 1), |
581 | 584 | ||
582 | /** | 585 | /** |
583 | * Spend 4.99 EUR of the refunded 4.99 EUR coin (1ct gone | 586 | * Spend 4.99 EUR of the refunded 4.99 EUR coin (1ct gone |
@@ -585,11 +588,11 @@ run (void *cls, | |||
585 | * 1 ct deposit fee) */ | 588 | * 1 ct deposit fee) */ |
586 | TALER_TESTING_cmd_deposit | 589 | TALER_TESTING_cmd_deposit |
587 | ("deposit-refund-2", "withdraw-coin-r1", 0, | 590 | ("deposit-refund-2", "withdraw-coin-r1", 0, |
588 | TALER_TESTING_make_wire_details (42, | 591 | TALER_TESTING_make_wire_details (42, |
589 | fakebank_url), | 592 | fakebank_url), |
590 | "{\"items\":[{\"name\":\"more ice cream\"," | 593 | "{\"items\":[{\"name\":\"more ice cream\"," |
591 | "\"value\":\"EUR:5\"}]}", | 594 | "\"value\":\"EUR:5\"}]}", |
592 | GNUNET_TIME_UNIT_ZERO, "EUR:4.99", MHD_HTTP_OK), | 595 | GNUNET_TIME_UNIT_ZERO, "EUR:4.99", MHD_HTTP_OK), |
593 | 596 | ||
594 | 597 | ||
595 | /** | 598 | /** |
@@ -603,14 +606,14 @@ run (void *cls, | |||
603 | */ | 606 | */ |
604 | TALER_TESTING_cmd_check_bank_transfer | 607 | TALER_TESTING_cmd_check_bank_transfer |
605 | ("check_bank_transfer-pre-refund", exchange_url, | 608 | ("check_bank_transfer-pre-refund", exchange_url, |
606 | "EUR:4.97", 2, 42), | 609 | "EUR:4.97", 2, 42), |
607 | 610 | ||
608 | /** | 611 | /** |
609 | * Run failing refund, as past deadline & aggregation. | 612 | * Run failing refund, as past deadline & aggregation. |
610 | */ | 613 | */ |
611 | TALER_TESTING_cmd_refund | 614 | TALER_TESTING_cmd_refund |
612 | ("refund-fail", MHD_HTTP_GONE, | 615 | ("refund-fail", MHD_HTTP_GONE, |
613 | "EUR:4.99", "EUR:0.01", "deposit-refund-2"), | 616 | "EUR:4.99", "EUR:0.01", "deposit-refund-2"), |
614 | 617 | ||
615 | TALER_TESTING_cmd_check_bank_empty | 618 | TALER_TESTING_cmd_check_bank_empty |
616 | ("check-empty-after-refund"), | 619 | ("check-empty-after-refund"), |
@@ -631,16 +634,16 @@ run (void *cls, | |||
631 | 634 | ||
632 | TALER_TESTING_cmd_check_bank_transfer | 635 | TALER_TESTING_cmd_check_bank_transfer |
633 | ("check_bank_transfer-aai-3b", exchange_url, | 636 | ("check_bank_transfer-aai-3b", exchange_url, |
634 | "EUR:5.01", 42, 2), | 637 | "EUR:5.01", 42, 2), |
635 | 638 | ||
636 | 639 | ||
637 | TALER_TESTING_cmd_deposit | 640 | TALER_TESTING_cmd_deposit |
638 | ("deposit-refund-1b", "withdraw-coin-rb", 0, | 641 | ("deposit-refund-1b", "withdraw-coin-rb", 0, |
639 | TALER_TESTING_make_wire_details (42, | 642 | TALER_TESTING_make_wire_details (42, |
640 | fakebank_url), | 643 | fakebank_url), |
641 | "{\"items\":[{\"name\":\"ice cream\"," | 644 | "{\"items\":[{\"name\":\"ice cream\"," |
642 | "\"value\":\"EUR:5\"}]}", | 645 | "\"value\":\"EUR:5\"}]}", |
643 | GNUNET_TIME_UNIT_ZERO, "EUR:5", MHD_HTTP_OK), | 646 | GNUNET_TIME_UNIT_ZERO, "EUR:5", MHD_HTTP_OK), |
644 | 647 | ||
645 | /** | 648 | /** |
646 | * Trigger refund (before aggregator had a chance to execute | 649 | * Trigger refund (before aggregator had a chance to execute |
@@ -648,7 +651,7 @@ run (void *cls, | |||
648 | */ | 651 | */ |
649 | TALER_TESTING_cmd_refund | 652 | TALER_TESTING_cmd_refund |
650 | ("refund-ok-fast", MHD_HTTP_OK, | 653 | ("refund-ok-fast", MHD_HTTP_OK, |
651 | "EUR:5", "EUR:0.01", "deposit-refund-1b"), | 654 | "EUR:5", "EUR:0.01", "deposit-refund-1b"), |
652 | 655 | ||
653 | /** | 656 | /** |
654 | * Run transfers. This will do the transfer as refund deadline | 657 | * Run transfers. This will do the transfer as refund deadline |
@@ -713,9 +716,9 @@ run (void *cls, | |||
713 | */ | 716 | */ |
714 | TALER_TESTING_cmd_withdraw_amount | 717 | TALER_TESTING_cmd_withdraw_amount |
715 | ("payback-withdraw-coin-2-over", | 718 | ("payback-withdraw-coin-2-over", |
716 | "payback-create-reserve-1", | 719 | "payback-create-reserve-1", |
717 | "EUR:10", | 720 | "EUR:10", |
718 | MHD_HTTP_FORBIDDEN), | 721 | MHD_HTTP_FORBIDDEN), |
719 | 722 | ||
720 | TALER_TESTING_cmd_status ("payback-reserve-status-2", | 723 | TALER_TESTING_cmd_status ("payback-reserve-status-2", |
721 | "payback-create-reserve-1", | 724 | "payback-create-reserve-1", |
@@ -729,15 +732,15 @@ run (void *cls, | |||
729 | */ | 732 | */ |
730 | CMD_TRANSFER_TO_EXCHANGE | 733 | CMD_TRANSFER_TO_EXCHANGE |
731 | ("short-lived-reserve", | 734 | ("short-lived-reserve", |
732 | "EUR:5.01"), | 735 | "EUR:5.01"), |
733 | 736 | ||
734 | TALER_TESTING_cmd_exec_wirewatch | 737 | TALER_TESTING_cmd_exec_wirewatch |
735 | ("short-lived-aggregation", | 738 | ("short-lived-aggregation", |
736 | CONFIG_FILE_EXPIRE_RESERVE_NOW), | 739 | CONFIG_FILE_EXPIRE_RESERVE_NOW), |
737 | 740 | ||
738 | TALER_TESTING_cmd_exec_aggregator | 741 | TALER_TESTING_cmd_exec_aggregator |
739 | ("close-reserves", | 742 | ("close-reserves", |
740 | CONFIG_FILE_EXPIRE_RESERVE_NOW), | 743 | CONFIG_FILE_EXPIRE_RESERVE_NOW), |
741 | 744 | ||
742 | TALER_TESTING_cmd_status ("short-lived-status", | 745 | TALER_TESTING_cmd_status ("short-lived-status", |
743 | "short-lived-reserve", | 746 | "short-lived-reserve", |
@@ -746,23 +749,23 @@ run (void *cls, | |||
746 | 749 | ||
747 | TALER_TESTING_cmd_withdraw_amount | 750 | TALER_TESTING_cmd_withdraw_amount |
748 | ("expired-withdraw", | 751 | ("expired-withdraw", |
749 | "short-lived-reserve", | 752 | "short-lived-reserve", |
750 | "EUR:1", | 753 | "EUR:1", |
751 | MHD_HTTP_FORBIDDEN), | 754 | MHD_HTTP_FORBIDDEN), |
752 | 755 | ||
753 | TALER_TESTING_cmd_check_bank_transfer | 756 | TALER_TESTING_cmd_check_bank_transfer |
754 | ("check_bank_short-lived_transfer", | 757 | ("check_bank_short-lived_transfer", |
755 | exchange_url, | 758 | exchange_url, |
756 | "EUR:5.01", | 759 | "EUR:5.01", |
757 | 42, | 760 | 42, |
758 | 2), | 761 | 2), |
759 | 762 | ||
760 | TALER_TESTING_cmd_check_bank_transfer | 763 | TALER_TESTING_cmd_check_bank_transfer |
761 | ("check_bank_short-lived_reimburse", | 764 | ("check_bank_short-lived_reimburse", |
762 | exchange_url, | 765 | exchange_url, |
763 | "EUR:5", | 766 | "EUR:5", |
764 | 2, | 767 | 2, |
765 | 42), | 768 | 42), |
766 | 769 | ||
767 | /** | 770 | /** |
768 | * Fill reserve with EUR:2.02, as withdraw fee is 1 ct per | 771 | * Fill reserve with EUR:2.02, as withdraw fee is 1 ct per |
@@ -791,11 +794,11 @@ run (void *cls, | |||
791 | 794 | ||
792 | TALER_TESTING_cmd_deposit | 795 | TALER_TESTING_cmd_deposit |
793 | ("payback-deposit-partial", | 796 | ("payback-deposit-partial", |
794 | "payback-withdraw-coin-2a", 0, | 797 | "payback-withdraw-coin-2a", 0, |
795 | TALER_TESTING_make_wire_details (42, | 798 | TALER_TESTING_make_wire_details (42, |
796 | fakebank_url), | 799 | fakebank_url), |
797 | "{\"items\":[{\"name\":\"more ice cream\",\"value\":1}]}", | 800 | "{\"items\":[{\"name\":\"more ice cream\",\"value\":1}]}", |
798 | GNUNET_TIME_UNIT_ZERO, "EUR:0.5", MHD_HTTP_OK), | 801 | GNUNET_TIME_UNIT_ZERO, "EUR:0.5", MHD_HTTP_OK), |
799 | 802 | ||
800 | 803 | ||
801 | TALER_TESTING_cmd_revoke ("revoke-2", MHD_HTTP_OK, | 804 | TALER_TESTING_cmd_revoke ("revoke-2", MHD_HTTP_OK, |
@@ -814,11 +817,11 @@ run (void *cls, | |||
814 | 817 | ||
815 | TALER_TESTING_cmd_deposit | 818 | TALER_TESTING_cmd_deposit |
816 | ("payback-deposit-revoked", | 819 | ("payback-deposit-revoked", |
817 | "payback-withdraw-coin-2b", 0, | 820 | "payback-withdraw-coin-2b", 0, |
818 | TALER_TESTING_make_wire_details (42, | 821 | TALER_TESTING_make_wire_details (42, |
819 | fakebank_url), | 822 | fakebank_url), |
820 | "{\"items\":[{\"name\":\"more ice cream\",\"value\":1}]}", | 823 | "{\"items\":[{\"name\":\"more ice cream\",\"value\":1}]}", |
821 | GNUNET_TIME_UNIT_ZERO, "EUR:1", MHD_HTTP_NOT_FOUND), | 824 | GNUNET_TIME_UNIT_ZERO, "EUR:1", MHD_HTTP_NOT_FOUND), |
822 | 825 | ||
823 | 826 | ||
824 | /* Test deposit fails after payback, with proof in payback */ | 827 | /* Test deposit fails after payback, with proof in payback */ |
@@ -828,15 +831,15 @@ run (void *cls, | |||
828 | * 404 on the DK! */ | 831 | * 404 on the DK! */ |
829 | TALER_TESTING_cmd_deposit | 832 | TALER_TESTING_cmd_deposit |
830 | ("payback-deposit-partial-after-payback", | 833 | ("payback-deposit-partial-after-payback", |
831 | "payback-withdraw-coin-2a", | 834 | "payback-withdraw-coin-2a", |
832 | 0, | 835 | 0, |
833 | TALER_TESTING_make_wire_details | 836 | TALER_TESTING_make_wire_details |
834 | (42, | 837 | (42, |
835 | fakebank_url), | 838 | fakebank_url), |
836 | "{\"items\":[{\"name\":\"extra ice cream\",\"value\":1}]}", | 839 | "{\"items\":[{\"name\":\"extra ice cream\",\"value\":1}]}", |
837 | GNUNET_TIME_UNIT_ZERO, | 840 | GNUNET_TIME_UNIT_ZERO, |
838 | "EUR:0.5", | 841 | "EUR:0.5", |
839 | MHD_HTTP_NOT_FOUND), | 842 | MHD_HTTP_NOT_FOUND), |
840 | 843 | ||
841 | /* Test that revoked coins cannot be withdrawn */ | 844 | /* Test that revoked coins cannot be withdrawn */ |
842 | CMD_TRANSFER_TO_EXCHANGE ("payback-create-reserve-3", | 845 | CMD_TRANSFER_TO_EXCHANGE ("payback-create-reserve-3", |
@@ -846,20 +849,20 @@ run (void *cls, | |||
846 | 849 | ||
847 | TALER_TESTING_cmd_withdraw_amount | 850 | TALER_TESTING_cmd_withdraw_amount |
848 | ("payback-withdraw-coin-3-revoked", | 851 | ("payback-withdraw-coin-3-revoked", |
849 | "payback-create-reserve-3", | 852 | "payback-create-reserve-3", |
850 | "EUR:1", | 853 | "EUR:1", |
851 | MHD_HTTP_NOT_FOUND), | 854 | MHD_HTTP_NOT_FOUND), |
852 | 855 | ||
853 | /* check that we are empty before the rejection test */ | 856 | /* check that we are empty before the rejection test */ |
854 | TALER_TESTING_cmd_check_bank_transfer | 857 | TALER_TESTING_cmd_check_bank_transfer |
855 | ("check_bank_transfer-pr1", exchange_url, | 858 | ("check_bank_transfer-pr1", exchange_url, |
856 | "EUR:5.01", 42, 2), | 859 | "EUR:5.01", 42, 2), |
857 | TALER_TESTING_cmd_check_bank_transfer | 860 | TALER_TESTING_cmd_check_bank_transfer |
858 | ("check_bank_transfer-pr2", exchange_url, | 861 | ("check_bank_transfer-pr2", exchange_url, |
859 | "EUR:2.02", 42, 2), | 862 | "EUR:2.02", 42, 2), |
860 | TALER_TESTING_cmd_check_bank_transfer | 863 | TALER_TESTING_cmd_check_bank_transfer |
861 | ("check_bank_transfer-pr3", exchange_url, | 864 | ("check_bank_transfer-pr3", exchange_url, |
862 | "EUR:1.01", 42, 2), | 865 | "EUR:1.01", 42, 2), |
863 | 866 | ||
864 | TALER_TESTING_cmd_check_bank_empty | 867 | TALER_TESTING_cmd_check_bank_empty |
865 | ("check-empty-again"), | 868 | ("check-empty-again"), |
@@ -867,8 +870,8 @@ run (void *cls, | |||
867 | /* Test rejection of bogus wire transfers */ | 870 | /* Test rejection of bogus wire transfers */ |
868 | CMD_TRANSFER_TO_EXCHANGE_SUBJECT | 871 | CMD_TRANSFER_TO_EXCHANGE_SUBJECT |
869 | ("bogus-subject", | 872 | ("bogus-subject", |
870 | "EUR:1.01", | 873 | "EUR:1.01", |
871 | "not a reserve public key"), | 874 | "not a reserve public key"), |
872 | 875 | ||
873 | CMD_EXEC_WIREWATCH ("wirewatch-7"), | 876 | CMD_EXEC_WIREWATCH ("wirewatch-7"), |
874 | 877 | ||
@@ -881,11 +884,11 @@ run (void *cls, | |||
881 | #define RESERVE_OPEN_CLOSE_CHUNK 4 | 884 | #define RESERVE_OPEN_CLOSE_CHUNK 4 |
882 | #define RESERVE_OPEN_CLOSE_ITERATIONS 3 | 885 | #define RESERVE_OPEN_CLOSE_ITERATIONS 3 |
883 | #define CONSTANT_KEY \ | 886 | #define CONSTANT_KEY \ |
884 | "09QGYPEKNHBACK135BNXZFHA0YTQXT1KJDRVXF4J822G99AYNQ8G" | 887 | "09QGYPEKNHBACK135BNXZFHA0YTQXT1KJDRVXF4J822G99AYNQ8G" |
885 | 888 | ||
886 | struct TALER_TESTING_Command reserve_open_close | 889 | struct TALER_TESTING_Command reserve_open_close |
887 | [(RESERVE_OPEN_CLOSE_ITERATIONS | 890 | [(RESERVE_OPEN_CLOSE_ITERATIONS |
888 | * RESERVE_OPEN_CLOSE_CHUNK) + 1]; | 891 | * RESERVE_OPEN_CLOSE_CHUNK) + 1]; |
889 | 892 | ||
890 | for (unsigned int i = 0; | 893 | for (unsigned int i = 0; |
891 | i < RESERVE_OPEN_CLOSE_ITERATIONS; | 894 | i < RESERVE_OPEN_CLOSE_ITERATIONS; |
@@ -894,18 +897,18 @@ run (void *cls, | |||
894 | reserve_open_close[i * RESERVE_OPEN_CLOSE_CHUNK] | 897 | reserve_open_close[i * RESERVE_OPEN_CLOSE_CHUNK] |
895 | = CMD_TRANSFER_TO_EXCHANGE_SUBJECT | 898 | = CMD_TRANSFER_TO_EXCHANGE_SUBJECT |
896 | ("reserve-open-close-key", | 899 | ("reserve-open-close-key", |
897 | "EUR:20", | 900 | "EUR:20", |
898 | CONSTANT_KEY); | 901 | CONSTANT_KEY); |
899 | 902 | ||
900 | reserve_open_close[(i * RESERVE_OPEN_CLOSE_CHUNK) + 1] | 903 | reserve_open_close[(i * RESERVE_OPEN_CLOSE_CHUNK) + 1] |
901 | = TALER_TESTING_cmd_exec_wirewatch | 904 | = TALER_TESTING_cmd_exec_wirewatch |
902 | ("reserve-open-close-wirewatch", | 905 | ("reserve-open-close-wirewatch", |
903 | CONFIG_FILE_EXPIRE_RESERVE_NOW); | 906 | CONFIG_FILE_EXPIRE_RESERVE_NOW); |
904 | 907 | ||
905 | reserve_open_close[(i * RESERVE_OPEN_CLOSE_CHUNK) + 2] | 908 | reserve_open_close[(i * RESERVE_OPEN_CLOSE_CHUNK) + 2] |
906 | = TALER_TESTING_cmd_exec_aggregator | 909 | = TALER_TESTING_cmd_exec_aggregator |
907 | ("reserve-open-close-aggregation", | 910 | ("reserve-open-close-aggregation", |
908 | CONFIG_FILE_EXPIRE_RESERVE_NOW); | 911 | CONFIG_FILE_EXPIRE_RESERVE_NOW); |
909 | 912 | ||
910 | reserve_open_close[(i * RESERVE_OPEN_CLOSE_CHUNK) + 3] | 913 | reserve_open_close[(i * RESERVE_OPEN_CLOSE_CHUNK) + 3] |
911 | = TALER_TESTING_cmd_status ("reserve-open-close-status", | 914 | = TALER_TESTING_cmd_status ("reserve-open-close-status", |
@@ -914,8 +917,8 @@ run (void *cls, | |||
914 | MHD_HTTP_OK); | 917 | MHD_HTTP_OK); |
915 | } | 918 | } |
916 | reserve_open_close | 919 | reserve_open_close |
917 | [RESERVE_OPEN_CLOSE_ITERATIONS * RESERVE_OPEN_CLOSE_CHUNK] | 920 | [RESERVE_OPEN_CLOSE_ITERATIONS * RESERVE_OPEN_CLOSE_CHUNK] |
918 | = TALER_TESTING_cmd_end (); | 921 | = TALER_TESTING_cmd_end (); |
919 | 922 | ||
920 | struct TALER_TESTING_Command commands[] = { | 923 | struct TALER_TESTING_Command commands[] = { |
921 | 924 | ||
@@ -960,7 +963,7 @@ run (void *cls, | |||
960 | 963 | ||
961 | int | 964 | int |
962 | main (int argc, | 965 | main (int argc, |
963 | char * const *argv) | 966 | char *const *argv) |
964 | { | 967 | { |
965 | /* These environment variables get in the way... */ | 968 | /* These environment variables get in the way... */ |
966 | unsetenv ("XDG_DATA_HOME"); | 969 | unsetenv ("XDG_DATA_HOME"); |
@@ -969,10 +972,10 @@ main (int argc, | |||
969 | "INFO", | 972 | "INFO", |
970 | NULL); | 973 | NULL); |
971 | if (NULL == (fakebank_url | 974 | if (NULL == (fakebank_url |
972 | /* Check fakebank port is available and config cares | 975 | /* Check fakebank port is available and config cares |
973 | * about bank url. */ | 976 | * about bank url. */ |
974 | = TALER_TESTING_prepare_fakebank (CONFIG_FILE, | 977 | = TALER_TESTING_prepare_fakebank (CONFIG_FILE, |
975 | "account-2"))) | 978 | "account-2"))) |
976 | return 77; | 979 | return 77; |
977 | TALER_TESTING_cleanup_files (CONFIG_FILE); | 980 | TALER_TESTING_cleanup_files (CONFIG_FILE); |
978 | /* @helpers. Run keyup, create tables, ... Note: it | 981 | /* @helpers. Run keyup, create tables, ... Note: it |