hash code trait
This commit is contained in:
parent
513a22c344
commit
7ffc6d0fb9
@ -68,7 +68,8 @@ libtalertesting_la_SOURCES = \
|
||||
testing_api_trait_string.c \
|
||||
testing_api_trait_key_peer.c \
|
||||
testing_api_trait_wtid.c \
|
||||
testing_api_trait_amount.c
|
||||
testing_api_trait_amount.c \
|
||||
testing_api_trait_hash.c
|
||||
|
||||
libtalertesting_la_LIBADD = \
|
||||
$(top_builddir)/src/json/libtalerjson.la \
|
||||
|
71
src/exchange-lib/testing_api_trait_amount.c
Normal file
71
src/exchange-lib/testing_api_trait_amount.c
Normal file
@ -0,0 +1,71 @@
|
||||
/*
|
||||
This file is part of TALER
|
||||
Copyright (C) 2018 Taler Systems SA
|
||||
|
||||
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, see
|
||||
<http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file exchange-lib/testing_api_trait_amount.c
|
||||
* @brief offer amounts as traits
|
||||
* @author Marcello Stanisci
|
||||
*/
|
||||
|
||||
#include "platform.h"
|
||||
#include "taler_json_lib.h"
|
||||
#include <gnunet/gnunet_curl_lib.h>
|
||||
#include "exchange_api_handle.h"
|
||||
#include "taler_signatures.h"
|
||||
#include "taler_testing_lib.h"
|
||||
|
||||
#define TALER_TESTING_TRAIT_AMOUNT "amount"
|
||||
|
||||
/**
|
||||
* Obtain an amount from a @a cmd.
|
||||
*
|
||||
* @param cmd command to extract trait from
|
||||
* @param selector which amount to pick if @a cmd has multiple
|
||||
* on offer
|
||||
* @param amount[out] set to the amount
|
||||
* @return #GNUNET_OK on success
|
||||
*/
|
||||
int
|
||||
TALER_TESTING_get_trait_amount_obj (
|
||||
const struct TALER_TESTING_Command *cmd,
|
||||
unsigned int index,
|
||||
struct TALER_Amount **amount)
|
||||
{
|
||||
return cmd->traits (cmd->cls,
|
||||
(void **) amount,
|
||||
TALER_TESTING_TRAIT_AMOUNT,
|
||||
index);
|
||||
}
|
||||
|
||||
struct TALER_TESTING_Trait
|
||||
TALER_TESTING_make_trait_amount_obj (
|
||||
unsigned int index,
|
||||
const struct TALER_Amount *amount)
|
||||
{
|
||||
struct TALER_TESTING_Trait ret = {
|
||||
.index = index,
|
||||
.trait_name = TALER_TESTING_TRAIT_AMOUNT,
|
||||
.ptr = (const void *) amount
|
||||
};
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/* end of testing_api_trait_amount.c */
|
74
src/exchange-lib/testing_api_trait_hash.c
Normal file
74
src/exchange-lib/testing_api_trait_hash.c
Normal file
@ -0,0 +1,74 @@
|
||||
/*
|
||||
This file is part of TALER
|
||||
Copyright (C) 2018 Taler Systems SA
|
||||
|
||||
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, see
|
||||
<http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file exchange-lib/testing_api_trait_hash.c
|
||||
* @brief traits to offer hash codes.
|
||||
* @author Marcello Stanisci
|
||||
*/
|
||||
#include "platform.h"
|
||||
#include "taler_json_lib.h"
|
||||
#include <gnunet/gnunet_curl_lib.h>
|
||||
#include "exchange_api_handle.h"
|
||||
#include "taler_signatures.h"
|
||||
#include "taler_testing_lib.h"
|
||||
|
||||
#define TALER_TESTING_TRAIT_HASH "hash"
|
||||
|
||||
/**
|
||||
* Obtain a hash code from @a cmd.
|
||||
*
|
||||
* @param cmd command to extract trait from
|
||||
* @param index which hash code to pick if @a cmd has multiple on
|
||||
* offer
|
||||
* @param wtid[out] set to the wanted hash code.
|
||||
* @return #GNUNET_OK on success
|
||||
*/
|
||||
int
|
||||
TALER_TESTING_get_trait_hash
|
||||
(const struct TALER_TESTING_Command *cmd,
|
||||
unsigned int index,
|
||||
struct GNUNET_HashCode **hash)
|
||||
{
|
||||
return cmd->traits (cmd->cls,
|
||||
(void **) hash,
|
||||
TALER_TESTING_TRAIT_HASH,
|
||||
index);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param index associate the hash code with this index
|
||||
* @param hash which hash code should be returned
|
||||
*
|
||||
* @return the trait, to be put in the traits array of the command
|
||||
*/
|
||||
struct TALER_TESTING_Trait
|
||||
TALER_TESTING_make_trait_hash
|
||||
(unsigned int index,
|
||||
struct GNUNET_HashCode *hash)
|
||||
{
|
||||
struct TALER_TESTING_Trait ret = {
|
||||
.index = index,
|
||||
.trait_name = TALER_TESTING_TRAIT_HASH,
|
||||
.ptr = (const void *) hash
|
||||
};
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* end of testing_api_trait_hash.c */
|
@ -1332,4 +1332,30 @@ TALER_TESTING_make_trait_amount_obj (
|
||||
const struct TALER_Amount *amount);
|
||||
|
||||
|
||||
/**
|
||||
* Obtain a hash code from @a cmd.
|
||||
*
|
||||
* @param cmd command to extract trait from
|
||||
* @param index which hash code to pick if @a cmd has multiple on
|
||||
* offer
|
||||
* @param wtid[out] set to the wanted hash code.
|
||||
* @return #GNUNET_OK on success
|
||||
*/
|
||||
int
|
||||
TALER_TESTING_get_trait_hash
|
||||
(const struct TALER_TESTING_Command *cmd,
|
||||
unsigned int index,
|
||||
struct GNUNET_HashCode **hash);
|
||||
|
||||
/**
|
||||
* @param index associate the hash code with this index
|
||||
* @param hash which hash code should be returned
|
||||
*
|
||||
* @return the trait, to be put in the traits array of the command
|
||||
*/
|
||||
struct TALER_TESTING_Trait
|
||||
TALER_TESTING_make_trait_hash
|
||||
(unsigned int index,
|
||||
struct GNUNET_HashCode *hash);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user