Transformer vos données - Cloud

Guide d'utilisation de Talend Cloud API Tester

Version
Cloud
Language
Français
Product
Talend Cloud
Module
Talend API Tester
Content
Création et développement > Test d'API
Last publication date
2024-03-27

Talend Cloud API Tester vous permet de manipuler des données via des fonctions.

Les fonctions peuvent créer de nouvelles données ou transformer des données existantes. Les fonctions qui transforment des données s'appliquent sur la valeur de l'expression qu'elles finissent.

Exemples d'utilisation

Si vous souhaitez récupérer les dix premiers noms des planètes de votre API Star Wars, vous pouvez utiliser l'expression : ${"Star-wars API"."Get 10 planet names"."response"."body".jsonPath("$.results[:10].name")}. La méthode jsonPath parse le résultat de l'expression ${"Star-wars API"."Get 10 planet names"."response"."body"}.

Si vous souhaitez récupérer les logs de la semaine passée, vous pouvez créer une URL avec des expressions dans les paramètres de requête : https://myapi.com/logs?from=${timestamp().addTime("WEEK", "-1")}&to=${timestamp()}.

Si vous souhaitez générer la date actuelle au format ISO, vous pouvez utiliser l'expression ${timestamp().formatDate('TIMESTAMP', 'ISO_8601')}.

Constantes

Lorsque vous écrivez une expression comme ${"toto"}, l'expression est évaluée comme :

  • La valeur de la variable de l'environnement courant toto s'il y en a une.
  • La requête/le scénario/le service/le projet toto au niveau de la racine de votre dépôt si aucune variable d'environnement ne correspond.
  • La chaîne de caractères toto dans tous les autres cas.

Fonctions de création de données

Fonction Description Arguments Exemple
timestamp Retourne le nombre de millisecondes du 1er Janvier 1970, 00:00:00 GMT, à la date de l'évaluation. Aucun Expression : ${timestamp()}

Résultat possible : 1505136142950

uuid Retourne un UUID. Aucun Expression : ${uuid()}

Résultat possible : f5fafd92-2298-4e72-97c9-df4dabaf27d2

random Retourne un numéro aléatoire dans la plage 0 <= number < max. Maximum : la valeur par défaut est de 1000000000 Expression : ${random(50)}

Résultat possible : 42

randomString Retourne une chaîne de caractères aléatoire avec une longueur spécifique.
Remarque : Cette fonction n'est pas fiable dans le cadre de génération de mot de passe et ne doit pas être utilisée à cette fin.
Length (Longueur) : nombre de caractères dans la chaîne de caractères. La valeur par défaut est de 10.

[a-z] : cochez cette case pour inclure des minuscules dans la chaîne de caractères.

[a-z] : cochez cette case pour inclure des majuscules dans la chaîne de caractères.

[0-9] : cochez cette case pour inclure des nombres.

Expression : ${randomString(10, true, true, true)}

Résultat possible : 4ptUKhHYMr

Fonctions de transformation de données

Fonction Description Arguments Exemple
base64 Encode en Base 64. Aucun Expression : ${"username:password".base64()}

Résultat : dXNlcm5hbWU6cGFzc3dvcmQ=

lower Convertit tous les caractères en minuscules à l'aide des règles de la locale par défaut. Aucun Expression : ${"AbC".lower()}

Résultat : abc

length Calcule la longueur de son entrée :
  • le nombre de caractères si l'entrée est une chaîne de caractères,
  • le nombre d'éléments dans un tableau JSON,
  • le nombre de clés dans un object JSON.
Aucun(e) Expression : ${"Star-wars API"."Get 2 planets"."response"."body"}
Résultat :
{
                  "count":61,
                  "results": [
                  {"name":"Alderaan" },
                  {"name":"Naboo" },
                  {"name":"Hoth" }
                  ]
                  }

Expression : ${"Star-wars API"."Get 2 planets"."response"."body".length()}

Résultat : 2 Expression : ${"Star-wars API"."Get 2 planets"."response"."body"."results".length()}

Résultat : 3

Expression : ${"Star-wars API"."Get 2 planets"."response"."body"."results"."0"."name".length()}

Résultat : 8

substring Retourne une entrée tronquée. Start (Début) : position du premier caractère à extraire (0 par défaut).

End (Fin) : position du premier caractère à omettre (fin de l'entrée par défaut).

Remarque : l'index du premier caractère est 0.
Expression : ${"0123456".substring(1)}

Résultat : 123456

Expression : ${"0123456".substring(1, 2)}

Résultat : 1

Expression : ${"0123456".substring(0, 4)} Résultat : 0123

jsonPath Retourne les éléments extraits de l'entrée JSON avec le selector du chemin d'accès JSON donné. Selector : le sélecteur de chemin JSON qui pointe vers la partie du JSON à extraire de l'entrée. Expression : ${"{\"titi\": \"toto\"}".jsonPath("$.titi")}

Résultat : toto

sPath Retourne les éléments extraits de l'entrée XML avec le selector du chemin XPath donné. Selector : le sélecteur de chemin XPath qui pointe vers la partie du XML à extraire de l'entrée. Expression : ${"<title lang="en" />".xPath("//title/@lang")}

Résultat : [lang="en"]

hmac Crée un code d'authentification de message basé sur du hachage. Cipher : fonction de hachage (SHA1, SHA224, SHA256, SHA384 ou SHA512). Secret

 : la clé secrète.

Output (Sortie) : type de sortie (Base64 ou Hex).

Expression : ${"test".hmac("sha256", "secret", "Base64")}

Résultat : Aymga2LNFrM+tnkr6MYLFY2Jou46h2/Omogeu0iMCRQ=

Expression : ${"test".hmac("sha1", "secret", "Hex")}

Résultat : 1aa349585ed7ecbd3b9c486a30067e395ca4b356

sha Hache son entrée. Cipher : fonction de hachage (SHA1, SHA224, SHA256, SHA384 ou SHA512).

Output (Sortie) : type de sortie (Base64 ou Hex).

Expression : ${"toto".sha("SHA224", "Base64")}

Résultat : IcBD7s1+hUI6ctrjwGKitb+g5rNc4/54jJtXpg==

Expression : ${"toto".sha("SHA1", "Hex")}

Résultat : 0b9c2625dc21ef05f6ad4ddf47c5f203837aa32c

md5 Calcule le Hash MD5 de son entrée. Aucun Expression : ${"toto".md5()}

Résultat : f71dbe52628a3f83a77ab494817525c6

upper Convertit tous les caractères en majuscules à l'aide des règles de la locale par défaut. Aucun Expression : ${"aBc".upper()}

Résultat : ABC

string Entoure de guillemets son entrée. Quotes (Guillemets) : le caractère qui doit être utilisé pour mettre entre guillemets l'entrée (' ou ", " est utilisé par défaut). Expression : ${"toto".string()}

Résultat : "toto"

Expression : ${"toto".string("\"")}

Résultat : "toto"

Expression : ${"toto".string("'")}

Résultat : 'toto'

math Effectue l'opération sélectionnée sur la valeur d'entrée. Operation (Opération) : ADD, SUBTRACT, MULTIPLY ou DIVIDE

Value (Valeur) : nombre

Expression : ${"7".math("MULTIPLY", "6")}

Résultat : 42

Expression : ${"3.14".math("ADD", "0.00159265")}

Résultat : 3.14159265

Expression : ${"100".math("DIVIDE", "-5")}

Résultat : -20

addTime Ajoute ou supprime un nombre d'unités de temps d'une date dans l'unité sélectionnée. Time unit (Unité de temps) : YEAR, MONTH, WEEK, DAY, HOUR, MINUTE ou SECOND

Value (Valeur) : integer (vous pouvez utiliser un nombre négatif afin de supprimer une unité de temps)

Expression : ${timestamp().addTime("YEAR", "1")}

Résultat possible : 1620292896490

Expression : ${timestamp().addTime("WEEK", "-2")}

Résultat possible : 1587547696437

formatDate Convertit une date au format sélectionné. Format d'entrée : TIMESTAMP ou ISO_8601

Format de sortie : TIMESTAMP ou ISO_8601

Expression : ${timestamp().formatDate("TIMESTAMP", "ISO_8601")}

Résultat possible : 2020-05-06T13:43:22.248Z

Expression : ${"2020-04-06T13:44:51.435Z".formatDate("ISO_8601", "TIMESTAMP")}

Résultat : 1586180691435