Moneyserver API Test

✔ $message
"; } else { echo "✘ $message (Erwartet: " . htmlspecialchars(var_export($expected, true)) . ", Bekommen: " . htmlspecialchars(var_export($actual, true)) . ")
"; } } function sendRequest($data, $check = null) { global $url, $apiKey, $allowedUser; $data['apiKey'] = $apiKey; $data['allowedUser'] = $allowedUser; $options = [ 'http' => [ 'header' => "Content-type: application/json\r\n", 'method' => 'POST', 'content' => json_encode($data), 'timeout' => 10 ] ]; $context = stream_context_create($options); $result = @file_get_contents($url, false, $context); echo "
"; echo "➡️ Aktion: " . htmlspecialchars($data['action']) . "
"; if ($result === FALSE) { 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)) . "
"; } $error = error_get_last(); if ($error) { echo "Fehlertext:
" . htmlspecialchars($error['message']) . "
"; } echo "
"; return; } $response = json_decode($result, true); echo "Antwort:
"; echo "
" . htmlspecialchars(print_r($response, true)) . "
"; if ($check) { $check($response); } echo ""; } // 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 ] ], function($res) { assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (addTransaction)'); }); sendRequest([ 'action' => 'addUser', 'userID' => $userID, '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', 'userID' => $userID, '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', 'userID' => $userID, 'startTime' => 0, 'endTime' => time(), 'lastIndex' => 0 ], function($res) { assertEquals(true, isset($res['transactions']), 'transactions-Feld vorhanden (FetchTransaction)'); }); sendRequest([ 'action' => 'TryAddUserInfo', 'user' => [ 'UserID' => $userID, 'Name' => 'Test User', 'Email' => 'test@example.com', 'Status' => 1, 'Type' => 0 ] ], function($res) { assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (TryAddUserInfo)'); }); sendRequest([ 'action' => 'UpdateUserInfo', 'userID' => $userID, 'user' => [ 'UserID' => $userID, 'Name' => 'Updated Name', 'Email' => 'updated@example.com', 'Status' => 2, 'Type' => 1 ] ], function($res) { assertEquals(true, isset($res['success']), 'Success-Feld vorhanden (UpdateUserInfo)'); }); endif; ?>