Json Test Service

Als Software-Entwickler ist es gut und wichtig seinen Code mit Hilfe des Test-Driven-Development Ansatzes zu entwickeln. Dazu gehört auch speziell fürs Unit-Testing aber auch des generellen Code-Designs Konzepte wie Mocks, Stubs & Co.

Ab einen bestimmten Zeitpunkt will man sich aber dem Integration-Tests (oder vielleicht auch einen Prototyp) widmen und dann braucht man ein “echtes” Backend und da es gerade im Bereich Web-API bzw. JSON-Test-Server schon etwas kniffliger werden kann, habe ich Test-Service geschrieben welchen ich hier hoste und zum Testen von verschiedenen Anfragen dient.

Unterstützte Funktionen des JSON Test Service:

Echo


Der Aufruf von https://jsontest.clever.dscloud.me/echo?data={“id”:3, “name”:”echo”} bzw. https://jsontest.clever.dscloud.me/echo/?data={“id”:3, “name”:”echo”} liefert das gesendete JSON-Objekt entsprechend wieder zurück.

{
  "id" : 3,
  "name" : "echo"
}

Somit kann man sich jedes beliebige JSON-Objekt wieder als Antwort zurückgeben lassen.

IP Adresse


Über die Abfrage https://jsontest.clever.dscloud.me/myip wird die eigene IP-Adresse als IPv4 und IPv6 im JSON-Format zurückgegeben:

{
  "ipV4" : "88.77.251.183",
  "ipV6" : "::ffff:88.77.251.183"
}

Alternativ kann man auch https://jsontest.clever.dscloud.me/ip aufrufen, was dann jeweils die IP-Adresse des Client sowie des Servers als JSON-Objekt zurückgibt:

{
  "serverIp" : "83.51.20.4",
  "clientIp" : "88.77.251.183"
}

MD5 Hash


Durch den Aufruf https://jsontest.clever.dscloud.me/md5?text=HashMe oder auch https://jsontest.clever.dscloud.me/md5/?text=HashMe wird für den angegebenen Text der entsprechende MD5 Hash erzeugt und im JSON-Format zurückgegeben:

{
  "md5" : "54FF7B00CC8493E7948F5DDF08396CBC",
  "text" : "HashMe"
}

Aktuelle Zeit


Der Aufruf https://jsontest.clever.dscloud.me/time liefert neben der aktuellen Zeit (Winter UTC+1 / Sommer UTC+2) auch das aktuelle Datum sowie die vergangenen Millisekunden seit 1970 (Linux Epoch Time) als JSON-Objekt:

{
  "time" : "19:16:12",
  "date" : "2020-05-15",
  "msSinceEpoch" : 1589570172934
}

HTTP Header


Mit der Abfrage https://jsontest.clever.dscloud.me/header werden die Header-Daten vom Client die bei der Anfrage benutzt wurden, wieder im JSON-Format zurückgegeben:

{
  "Connection" : "close",
  "Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
  "Accept-Encoding" : "gzip, deflate",
  "Accept-Language" : "de,en-US;q=0.7,en;q=0.3",
  "Host" : "jsontest.clever-bytes.de",
  "User-Agent" : "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0"
}

HTTP Status Code


Über den Aufruf https://jsontest.clever.dscloud.me/status?code=200 bzw. https://jsontest.clever.dscloud.me/status/?code=200 liefert die Anfrage den angegebenen HttpStatusCode zurück. Dies ist hilfreich wenn man seinen Code gegen bestimmte Szenarios testen will wie z.B. Status Code 404 (Not Found) oder auch 201 (Created).