diff options
author | Sree Harsha Totakura <sreeharsha@totakura.in> | 2015-02-17 17:23:13 +0100 |
---|---|---|
committer | Sree Harsha Totakura <sreeharsha@totakura.in> | 2015-02-17 17:29:43 +0100 |
commit | bea425de6cbbfb054a19e0f2312c5ef00c2e1bbe (patch) | |
tree | f0c5b1b1d1a1df235555dd5ed3a1a624bd3c8886 /src/util/test_json_validations.c | |
parent | 2f51cd3e3ec8a439e54be154a0c5b639483fb919 (diff) |
Fix #3624: Check JSON format for wire deposits (SEPA specification)
Diffstat (limited to 'src/util/test_json_validations.c')
-rw-r--r-- | src/util/test_json_validations.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/util/test_json_validations.c b/src/util/test_json_validations.c new file mode 100644 index 000000000..a5747c94a --- /dev/null +++ b/src/util/test_json_validations.c @@ -0,0 +1,54 @@ +/* + This file is part of TALER + (C) 2014 Christian Grothoff (and other contributing authors) + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> +*/ + +/** + * @file util/test_json_validations.c + * @brief Tests for JSON validations + * @author Sree Harsha Totakura <sreeharsha@totakura.in> + */ + +#include "platform.h" +#include "taler_util.h" +#include "taler_json_lib.h" + +static const char * const json_wire_str = + "{ \"type\":\"SEPA\", \ +\"IBAN\":\"DE67830654080004822650\", \ +\"name\":\"GNUnet e.V.\", \ +\"bic\":\"GENODEF1SLR\", \ +\"edate\":\"1449930207000\", \ +\"r\":123456789, \ +\"address\": \"foobar\"}"; + +int main(int argc, const char *const argv[]) +{ + json_t *wire; + json_error_t error; + int ret; + + GNUNET_log_setup ("test-json-validations", "WARNING", NULL); + (void) memset(&error, 0, sizeof(error)); + wire = json_loads (json_wire_str, 0, &error); + if (NULL == wire) + { + TALER_JSON_warn (error); + return 2; + } + ret = TALER_JSON_validate_wireformat ("SEPA", wire); + if (1 == ret) + return 0; + return 1; +} |