From ae3973615853674ad89ae9f030a5afbbd60458e6 Mon Sep 17 00:00:00 2001 From: ManfredAabye Date: Mon, 23 Jun 2025 16:14:39 +0200 Subject: [PATCH] Update moneyserver_api.php V3 --- moneyserver_api.php | 158 ++++++++++++++++++++++++++++++++------------ 1 file changed, 115 insertions(+), 43 deletions(-) diff --git a/moneyserver_api.php b/moneyserver_api.php index bdf15c7..dbd9ce9 100644 --- a/moneyserver_api.php +++ b/moneyserver_api.php @@ -1,20 +1,44 @@ + + + + + Moneyserver API Tester + + + + +
+

Moneyserver API Test

+
+ + + + + + + + + +
+
+ ✔ $message
"; + } else { + echo "✘ $message (Erwartet: " . htmlspecialchars(var_export($expected, true)) . ", Bekommen: " . htmlspecialchars(var_export($actual, true)) . ")
"; + } +} -$url = 'http://localhost:8008/api/json'; // ggf. anpassen -$apiKey = '123456789'; -$allowedUser = 'myadminuser'; -$userID = 'test-user-id'; // Ersetze ggf. durch gültige UUID oder Namen - -function sendRequest($data) -{ +function sendRequest($data, $check = null) { global $url, $apiKey, $allowedUser; - $data['apiKey'] = $apiKey; $data['allowedUser'] = $allowedUser; @@ -26,24 +50,21 @@ function sendRequest($data) 'timeout' => 10 ] ]; - $context = stream_context_create($options); $result = @file_get_contents($url, false, $context); - echo "
"; - echo "➡️ Aktion: {$data['action']}
"; + echo "
"; + echo "➡️ Aktion: " . htmlspecialchars($data['action']) . "
"; if ($result === FALSE) { - // Fehlerausgabe im Browser - echo "❌ Fehler beim Zugriff auf die API!
"; - // HTTP-Header anzeigen, falls vorhanden + echo "❌ Fehler beim Zugriff auf die API!
"; global $http_response_header; if (isset($http_response_header)) { - echo "HTTP-Header:
" . htmlspecialchars(implode("\n", $http_response_header)) . "
"; + echo "HTTP-Header:
" . htmlspecialchars(implode("\n", $http_response_header)) . "
"; } $error = error_get_last(); if ($error) { - echo "Fehlertext:
" . htmlspecialchars($error['message']) . "
"; + echo "Fehlertext:
" . htmlspecialchars($error['message']) . "
"; } echo "
"; return; @@ -51,40 +72,65 @@ function sendRequest($data) $response = json_decode($result, true); echo "Antwort:
"; - echo "
" . htmlspecialchars(print_r($response, true)) . "
"; + echo "
" . htmlspecialchars(print_r($response, true)) . "
"; + + if ($check) { + $check($response); + } + echo "
"; } -// Aktionen testen -sendRequest(['action' => 'getbalance', 'userID' => $userID]); -sendRequest(['action' => 'getTransactionNum', 'userID' => $userID, 'startTime' => 0, 'endTime' => time()]); -sendRequest(['action' => 'UserExists', 'userID' => $userID]); +// Tests für alle wichtigen API-Aktionen: +sendRequest(['action' => 'getbalance', 'userID' => $userID], function($res) { + assertEquals(true, isset($res['balance']), 'Balance-Feld vorhanden'); + assertEquals(true, is_numeric($res['balance'] ?? null), 'Balance ist numerisch'); +}); + +sendRequest(['action' => 'getTransactionNum', 'userID' => $userID, 'startTime' => 0, 'endTime' => time()], function($res) { + assertEquals(true, isset($res['num']), 'num-Feld vorhanden'); +}); + +sendRequest(['action' => 'UserExists', 'userID' => $userID], function($res) { + assertEquals(true, isset($res['exists']), 'Exists-Feld vorhanden'); + assertEquals(true, is_bool($res['exists'] ?? null), 'Exists ist boolean'); +}); sendRequest([ 'action' => 'withdrawMoney', 'userID' => $userID, 'transactionID' => '00000000-0000-0000-0000-000000000000', 'amount' => 100 -]); +], function($res) { + assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (withdrawMoney)'); +}); + sendRequest([ 'action' => 'giveMoney', 'transactionID' => '00000000-0000-0000-0000-000000000000', 'receiverID' => 'some-receiver-id', 'amount' => 50 -]); +], function($res) { + assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (giveMoney)'); +}); + sendRequest([ 'action' => 'BuyMoney', 'transactionID' => '00000000-0000-0000-0000-000000000000', 'amount' => 75 -]); +], function($res) { + assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (BuyMoney)'); +}); + sendRequest([ 'action' => 'addTransaction', 'transaction' => [ 'TransactionID' => '00000000-0000-0000-0000-000000000000', - 'UserID' => $userID, - // weitere Felder je nach Definition + 'UserID' => $userID ] -]); +], function($res) { + assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (addTransaction)'); +}); sendRequest([ 'action' => 'addUser', @@ -92,29 +138,39 @@ sendRequest([ 'balance' => 1000, 'status' => 1, 'type' => 0 -]); +], function($res) { + assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (addUser)'); +}); sendRequest([ 'action' => 'BuyCurrency', 'userID' => $userID, 'amount' => 50 -]); +], function($res) { + assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (BuyCurrency)'); +}); sendRequest([ 'action' => 'SetTransExpired', 'deadTime' => 600 -]); +], function($res) { + assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (SetTransExpired)'); +}); sendRequest([ 'action' => 'ValidateTransfer', 'secureCode' => 'abc123', 'transactionID' => '00000000-0000-0000-0000-000000000000' -]); +], function($res) { + assertEquals(true, isset($res['valid']), 'valid-Feld vorhanden (ValidateTransfer)'); +}); sendRequest([ 'action' => 'FetchUserInfo', 'userID' => $userID -]); +], function($res) { + assertEquals(true, isset($res['userID']), 'userID-Feld vorhanden (FetchUserInfo)'); +}); sendRequest([ 'action' => 'updateTransactionStatus', @@ -122,19 +178,25 @@ sendRequest([ 'transactionID' => '00000000-0000-0000-0000-000000000000', 'status' => 2, 'description' => 'Updated via test script' -]); +], function($res) { + assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (updateTransactionStatus)'); +}); sendRequest([ 'action' => 'DoTransfer', 'userID' => $userID, 'transactionID' => '00000000-0000-0000-0000-000000000000' -]); +], function($res) { + assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (DoTransfer)'); +}); sendRequest([ 'action' => 'DoAddMoney', 'userID' => $userID, 'transactionID' => '00000000-0000-0000-0000-000000000000' -]); +], function($res) { + assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (DoAddMoney)'); +}); sendRequest([ 'action' => 'FetchTransaction', @@ -142,7 +204,9 @@ sendRequest([ 'startTime' => 0, 'endTime' => time(), 'lastIndex' => 0 -]); +], function($res) { + assertEquals(true, isset($res['transactions']), 'transactions-Feld vorhanden (FetchTransaction)'); +}); sendRequest([ 'action' => 'TryAddUserInfo', @@ -153,7 +217,9 @@ sendRequest([ 'Status' => 1, 'Type' => 0 ] -]); +], function($res) { + assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (TryAddUserInfo)'); +}); sendRequest([ 'action' => 'UpdateUserInfo', @@ -165,5 +231,11 @@ sendRequest([ 'Status' => 2, 'Type' => 1 ] -]); +], function($res) { + assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (UpdateUserInfo)'); +}); + +endif; ?> + +