summaryrefslogtreecommitdiff
path: root/src/testing/testing_api_cmd_oauth.c
diff options
context:
space:
mode:
authorÖzgür Kesim <oec-taler@kesim.org>2023-06-27 12:41:22 +0200
committerÖzgür Kesim <oec-taler@kesim.org>2023-06-27 12:41:22 +0200
commitd3d744a444e0afd33e7dec02a62a878aaab2c2a2 (patch)
treef6a9f0eaeaa1b1127a5df7b10503cc4fb8516f9d /src/testing/testing_api_cmd_oauth.c
parent1be14a34161cd04c61f6df506bead0d8ca64b76d (diff)
downloadexchange-d3d744a444e0afd33e7dec02a62a878aaab2c2a2.tar.gz
exchange-d3d744a444e0afd33e7dec02a62a878aaab2c2a2.tar.bz2
exchange-d3d744a444e0afd33e7dec02a62a878aaab2c2a2.zip
[testing] start an oauth2 server which returns static birthdates
Diffstat (limited to 'src/testing/testing_api_cmd_oauth.c')
-rw-r--r--src/testing/testing_api_cmd_oauth.c36
1 files changed, 24 insertions, 12 deletions
diff --git a/src/testing/testing_api_cmd_oauth.c b/src/testing/testing_api_cmd_oauth.c
index 0bcf2f680..fcf7e843a 100644
--- a/src/testing/testing_api_cmd_oauth.c
+++ b/src/testing/testing_api_cmd_oauth.c
@@ -40,6 +40,11 @@ struct OAuthState
struct MHD_Daemon *mhd;
/**
+ * Birthdate that the oauth server should return in a response, may be NULL
+ */
+ const char *birthdate;
+
+ /**
* Port to listen on.
*/
uint16_t port;
@@ -172,28 +177,33 @@ handler_cb (void *cls,
void **con_cls)
{
struct RequestCtx *rc = *con_cls;
+ struct OAuthState *oas = cls;
unsigned int hc;
json_t *body;
- (void) cls;
(void) version;
if (0 == strcasecmp (method,
MHD_HTTP_METHOD_GET))
{
+ json_t *data =
+ GNUNET_JSON_PACK (
+ GNUNET_JSON_pack_string ("id",
+ "XXXID12345678"),
+ GNUNET_JSON_pack_string ("first_name",
+ "Bob"),
+ GNUNET_JSON_pack_string ("last_name",
+ "Builder"));
+ if (NULL != oas->birthdate)
+ json_object_set_new (data,
+ "birthdate",
+ json_string_nocheck (oas->birthdate));
+
body = GNUNET_JSON_PACK (
GNUNET_JSON_pack_string (
"status",
"success"),
GNUNET_JSON_pack_object_steal (
- "data",
- GNUNET_JSON_PACK (
- GNUNET_JSON_pack_string ("id",
- "XXXID12345678"),
- GNUNET_JSON_pack_string ("first_name",
- "Bob"),
- GNUNET_JSON_pack_string ("last_name",
- "Builder")
- )));
+ "data", data));
return TALER_MHD_reply_json_steal (connection,
body,
MHD_HTTP_OK);
@@ -368,13 +378,15 @@ oauth_cleanup (void *cls,
struct TALER_TESTING_Command
-TALER_TESTING_cmd_oauth (const char *label,
- uint16_t port)
+TALER_TESTING_cmd_oauth_with_birthdate (const char *label,
+ const char *birthdate,
+ uint16_t port)
{
struct OAuthState *oas;
oas = GNUNET_new (struct OAuthState);
oas->port = port;
+ oas->birthdate = birthdate;
{
struct TALER_TESTING_Command cmd = {
.cls = oas,