Initial commit: API Wipay dengan fix CORS untuk GET request
This commit is contained in:
659
test_api.php
Normal file
659
test_api.php
Normal file
@@ -0,0 +1,659 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Complete API Testing Script - Test All Endpoints
|
||||
* Usage: php test_api.php
|
||||
*/
|
||||
|
||||
$baseUrl = 'http://localhost:8000';
|
||||
$username = 'eksan';
|
||||
$password = 'dodolgarut';
|
||||
$no_sl = '059912';
|
||||
|
||||
echo "==========================================\n";
|
||||
echo " Timo Wipay API - Complete Testing\n";
|
||||
echo "==========================================\n";
|
||||
echo "Data yang digunakan:\n";
|
||||
echo " - Username: $username\n";
|
||||
echo " - Password: $password\n";
|
||||
echo " - Nomor SL: $no_sl\n";
|
||||
echo "==========================================\n\n";
|
||||
|
||||
// Function to make HTTP request
|
||||
function makeRequest($url, $method = 'GET', $data = null)
|
||||
{
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
||||
|
||||
if ($data !== null) {
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||||
'Content-Type: application/json'
|
||||
]);
|
||||
}
|
||||
|
||||
$response = curl_exec($ch);
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
$curlError = curl_error($ch);
|
||||
curl_close($ch);
|
||||
|
||||
return [
|
||||
'code' => $httpCode,
|
||||
'body' => $response,
|
||||
'error' => $curlError
|
||||
];
|
||||
}
|
||||
|
||||
// Function to check response format
|
||||
function checkResponse($result, $endpointName)
|
||||
{
|
||||
if (!empty($result['error'])) {
|
||||
echo " ✗ $endpointName: CURL Error - {$result['error']}\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
$responseData = json_decode($result['body'], true);
|
||||
if (json_last_error() !== JSON_ERROR_NONE) {
|
||||
echo " ✗ $endpointName: Invalid JSON - " . json_last_error_msg() . "\n";
|
||||
echo " Response: " . substr($result['body'], 0, 100) . "...\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isset($responseData['status'])) {
|
||||
echo " ✓ $endpointName: OK (Status: {$responseData['status']})\n";
|
||||
return true;
|
||||
} else {
|
||||
echo " ✗ $endpointName: Missing 'status' field\n";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$token = null;
|
||||
$testCount = 0;
|
||||
$passCount = 0;
|
||||
$failCount = 0;
|
||||
|
||||
// ============================================
|
||||
// AUTHENTICATION
|
||||
// ============================================
|
||||
echo "=== AUTHENTICATION ===\n\n";
|
||||
|
||||
// 1. Daftar
|
||||
$testCount++;
|
||||
echo "$testCount. Testing daftar...\n";
|
||||
$result = makeRequest("$baseUrl/timo/daftar", 'POST', [
|
||||
'nama' => 'Test User',
|
||||
'username' => 'testuser' . time(),
|
||||
'email' => 'test' . time() . '@test.com',
|
||||
'no_hp' => '081234567890',
|
||||
'password' => 'test123'
|
||||
]);
|
||||
if (checkResponse($result, 'Daftar')) $passCount++;
|
||||
else $failCount++;
|
||||
echo "\n";
|
||||
|
||||
// 2. Login
|
||||
$testCount++;
|
||||
echo "$testCount. Testing login...\n";
|
||||
$result = makeRequest("$baseUrl/timo/login", 'POST', [
|
||||
'username' => $username,
|
||||
'password' => $password
|
||||
]);
|
||||
$responseData = json_decode($result['body'], true);
|
||||
if (checkResponse($result, 'Login')) {
|
||||
$passCount++;
|
||||
if (isset($responseData['user']['id_pengguna_timo'])) {
|
||||
$token = $responseData['user']['id_pengguna_timo'];
|
||||
echo " Token: $token\n";
|
||||
}
|
||||
} else {
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
if (empty($token)) {
|
||||
echo "⚠ WARNING: Login gagal, beberapa test akan di-skip\n\n";
|
||||
}
|
||||
|
||||
// 3. Login Token
|
||||
$testCount++;
|
||||
echo "$testCount. Testing login_token...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/login_token", 'POST', [
|
||||
'token' => $token,
|
||||
'password' => md5($password)
|
||||
]);
|
||||
if (checkResponse($result, 'Login Token')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 4. Update Akun
|
||||
$testCount++;
|
||||
echo "$testCount. Testing update_akun...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/update_akun", 'POST', [
|
||||
'token' => $token,
|
||||
'nama' => 'Eksan Updated',
|
||||
'email' => 'eksan@test.com',
|
||||
'hp' => '081234567890'
|
||||
]);
|
||||
if (checkResponse($result, 'Update Akun')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 5. Update Password
|
||||
$testCount++;
|
||||
echo "$testCount. Testing update_password...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/update_password", 'POST', [
|
||||
'token' => $token,
|
||||
'passlama' => $password,
|
||||
'passbaru' => $password
|
||||
]);
|
||||
if (checkResponse($result, 'Update Password')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// ============================================
|
||||
// SL MANAGEMENT
|
||||
// ============================================
|
||||
echo "=== SL MANAGEMENT ===\n\n";
|
||||
|
||||
// 6. Cek SL
|
||||
$testCount++;
|
||||
echo "$testCount. Testing cek_sl...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/cek_sl", 'POST', [
|
||||
'token' => $token,
|
||||
'no_sl' => $no_sl
|
||||
]);
|
||||
if (checkResponse($result, 'Cek SL')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 7. Confirm SL
|
||||
$testCount++;
|
||||
echo "$testCount. Testing confirm_sl...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/confirm_sl", 'POST', [
|
||||
'token' => $token,
|
||||
'no_sl' => $no_sl
|
||||
]);
|
||||
if (checkResponse($result, 'Confirm SL')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 8. Hapus SL
|
||||
$testCount++;
|
||||
echo "$testCount. Testing hapus_sl...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/hapus_sl", 'POST', [
|
||||
'token' => $token,
|
||||
'no_sl' => $no_sl
|
||||
]);
|
||||
if (checkResponse($result, 'Hapus SL')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// ============================================
|
||||
// TAGIHAN
|
||||
// ============================================
|
||||
echo "=== TAGIHAN ===\n\n";
|
||||
|
||||
// 9. History Tagihan
|
||||
$testCount++;
|
||||
echo "$testCount. Testing history tagihan...\n";
|
||||
$result = makeRequest("$baseUrl/timo/history/$no_sl/202401");
|
||||
if (checkResponse($result, 'History Tagihan')) $passCount++;
|
||||
else $failCount++;
|
||||
echo "\n";
|
||||
|
||||
// 10. Tagihan
|
||||
$testCount++;
|
||||
echo "$testCount. Testing tagihan...\n";
|
||||
$result = makeRequest("$baseUrl/timo/tagihan/$no_sl");
|
||||
if (checkResponse($result, 'Tagihan')) $passCount++;
|
||||
else $failCount++;
|
||||
echo "\n";
|
||||
|
||||
// ============================================
|
||||
// PEMBAYARAN
|
||||
// ============================================
|
||||
echo "=== PEMBAYARAN ===\n\n";
|
||||
|
||||
// 11. Request Pembayaran
|
||||
$testCount++;
|
||||
echo "$testCount. Testing request_pembayaran...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/request_pembayaran", 'POST', [
|
||||
'token' => $token,
|
||||
'no_sl' => $no_sl,
|
||||
'nama_bank' => 'BCA',
|
||||
'no_rek' => '1234567890'
|
||||
]);
|
||||
if (checkResponse($result, 'Request Pembayaran')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 12. Cek Pembayaran
|
||||
$testCount++;
|
||||
echo "$testCount. Testing cek_pembayaran...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/cek_pembayaran", 'POST', [
|
||||
'token' => $token,
|
||||
'no_sl' => $no_sl
|
||||
]);
|
||||
if (checkResponse($result, 'Cek Pembayaran')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 13. Cek Transfer
|
||||
$testCount++;
|
||||
echo "$testCount. Testing cek_transfer...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/cek_transfer", 'POST', [
|
||||
'token' => $token,
|
||||
'no_rek' => '#TIMO123'
|
||||
]);
|
||||
if (checkResponse($result, 'Cek Transfer')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 14. Batal Pembayaran
|
||||
$testCount++;
|
||||
echo "$testCount. Testing batal_pembayaran...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/batal_pembayaran", 'POST', [
|
||||
'token' => $token,
|
||||
'no_rek' => '#TIMO123'
|
||||
]);
|
||||
if (checkResponse($result, 'Batal Pembayaran')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 15. Confirm Pembayaran
|
||||
$testCount++;
|
||||
echo "$testCount. Testing confirm_pembayaran...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/confirm_pembayaran", 'POST', [
|
||||
'token' => $token,
|
||||
'no_rek' => '#TIMO123'
|
||||
]);
|
||||
if (checkResponse($result, 'Confirm Pembayaran')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 16. History Bayar
|
||||
$testCount++;
|
||||
echo "$testCount. Testing history_bayar...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/history_bayar", 'POST', [
|
||||
'token' => $token
|
||||
]);
|
||||
if (checkResponse($result, 'History Bayar')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// ============================================
|
||||
// LAPORAN
|
||||
// ============================================
|
||||
echo "=== LAPORAN ===\n\n";
|
||||
|
||||
// 17. Jenis Laporan
|
||||
$testCount++;
|
||||
echo "$testCount. Testing jenis_laporan...\n";
|
||||
$result = makeRequest("$baseUrl/timo/jenis_laporan", 'POST', []);
|
||||
if (checkResponse($result, 'Jenis Laporan')) $passCount++;
|
||||
else $failCount++;
|
||||
echo "\n";
|
||||
|
||||
// 18. History Gangguan
|
||||
$testCount++;
|
||||
echo "$testCount. Testing history_gangguan...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/history_gangguan", 'POST', [
|
||||
'token' => $token
|
||||
]);
|
||||
if (checkResponse($result, 'History Gangguan')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// ============================================
|
||||
// WIPAY
|
||||
// ============================================
|
||||
echo "=== WIPAY ===\n\n";
|
||||
|
||||
// 19. Cek WIPAY
|
||||
$testCount++;
|
||||
echo "$testCount. Testing cek_wipay...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/cek_wipay", 'POST', [
|
||||
'token' => $token
|
||||
]);
|
||||
if (checkResponse($result, 'Cek WIPAY')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// ============================================
|
||||
// RESET PASSWORD
|
||||
// ============================================
|
||||
echo "=== RESET PASSWORD ===\n\n";
|
||||
|
||||
// 20. Buat Kode Reset
|
||||
$testCount++;
|
||||
echo "$testCount. Testing buat_kode (reset password)...\n";
|
||||
$result = makeRequest("$baseUrl/timo/buat_kode", 'POST', [
|
||||
'email' => 'eksan@test.com'
|
||||
]);
|
||||
if (checkResponse($result, 'Buat Kode Reset')) $passCount++;
|
||||
else $failCount++;
|
||||
echo "\n";
|
||||
|
||||
// 21. Cek Kode Reset
|
||||
$testCount++;
|
||||
echo "$testCount. Testing cek_kode (reset password)...\n";
|
||||
$result = makeRequest("$baseUrl/timo/cek_kode", 'POST', [
|
||||
'email' => 'eksan@test.com',
|
||||
'kode' => '123456'
|
||||
]);
|
||||
if (checkResponse($result, 'Cek Kode Reset')) $passCount++;
|
||||
else $failCount++;
|
||||
echo "\n";
|
||||
|
||||
// 22. Reset Password
|
||||
$testCount++;
|
||||
echo "$testCount. Testing reset_kode (reset password)...\n";
|
||||
$result = makeRequest("$baseUrl/timo/reset_kode", 'POST', [
|
||||
'email' => 'eksan@test.com',
|
||||
'kode' => '123456',
|
||||
'password_baru' => 'newpass123'
|
||||
]);
|
||||
if (checkResponse($result, 'Reset Password')) $passCount++;
|
||||
else $failCount++;
|
||||
echo "\n";
|
||||
|
||||
// ============================================
|
||||
// UPLOAD
|
||||
// ============================================
|
||||
echo "=== UPLOAD ===\n\n";
|
||||
|
||||
// 23. Upload Catat Meter
|
||||
$testCount++;
|
||||
echo "$testCount. Testing upload_catat_meter...\n";
|
||||
if (!empty($token)) {
|
||||
// Base64 dummy image
|
||||
$dummyImage = base64_encode('dummy image data');
|
||||
$result = makeRequest("$baseUrl/timo/upload_catat_meter", 'POST', [
|
||||
'token' => $token,
|
||||
'no_sl' => $no_sl,
|
||||
'nama_photo' => 'test.jpg',
|
||||
'photo' => $dummyImage,
|
||||
'angka' => '12345'
|
||||
]);
|
||||
if (checkResponse($result, 'Upload Catat Meter')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 24. Upload PP
|
||||
$testCount++;
|
||||
echo "$testCount. Testing upload_pp...\n";
|
||||
if (!empty($token)) {
|
||||
$dummyImage = base64_encode('dummy image data');
|
||||
$result = makeRequest("$baseUrl/timo/upload_pp", 'POST', [
|
||||
'token' => $token,
|
||||
'nama_photo' => 'profile.jpg',
|
||||
'photo' => $dummyImage
|
||||
]);
|
||||
if (checkResponse($result, 'Upload PP')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 25. Hapus PP
|
||||
$testCount++;
|
||||
echo "$testCount. Testing hapus_pp...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/hapus_pp", 'POST', [
|
||||
'token' => $token
|
||||
]);
|
||||
if (checkResponse($result, 'Hapus PP')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 26. Upload Gangguan
|
||||
$testCount++;
|
||||
echo "$testCount. Testing upload_gangguan...\n";
|
||||
if (!empty($token)) {
|
||||
$dummyImage = base64_encode('dummy image data');
|
||||
$result = makeRequest("$baseUrl/timo/upload_gangguan", 'POST', [
|
||||
'token' => $token,
|
||||
'gangguan' => '1',
|
||||
'no_sl' => $no_sl,
|
||||
'nama_photo' => 'gangguan.jpg',
|
||||
'photo' => $dummyImage,
|
||||
'feedback' => 'Test gangguan',
|
||||
'lokasi' => 'Test location'
|
||||
]);
|
||||
if (checkResponse($result, 'Upload Gangguan')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 27. Upload Pasang Baru
|
||||
$testCount++;
|
||||
echo "$testCount. Testing upload_pasang_baru...\n";
|
||||
if (!empty($token)) {
|
||||
$dummyImage = base64_encode('dummy image data');
|
||||
$result = makeRequest("$baseUrl/timo/upload_pasang_baru", 'POST', [
|
||||
'token' => $token,
|
||||
'nama' => 'Test User',
|
||||
'no_hp' => '081234567890',
|
||||
'alamat' => 'Test Address',
|
||||
'nama_photo' => 'ktp.jpg',
|
||||
'photo' => $dummyImage
|
||||
]);
|
||||
if (checkResponse($result, 'Upload Pasang Baru')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 28. Upload Bukti Transfer
|
||||
$testCount++;
|
||||
echo "$testCount. Testing upload_bukti_transfer...\n";
|
||||
if (!empty($token)) {
|
||||
$dummyImage = base64_encode('dummy image data');
|
||||
$result = makeRequest("$baseUrl/timo/upload_bukti_transfer", 'POST', [
|
||||
'token' => $token,
|
||||
'id_pasang_baru' => '1',
|
||||
'nama_photo' => 'bukti.jpg',
|
||||
'photo' => $dummyImage
|
||||
]);
|
||||
if (checkResponse($result, 'Upload Bukti Transfer')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 29. Upload Baca Mandiri
|
||||
$testCount++;
|
||||
echo "$testCount. Testing upload_baca_mandiri...\n";
|
||||
if (!empty($token)) {
|
||||
$dummyImage = base64_encode('dummy image data');
|
||||
$result = makeRequest("$baseUrl/timo/upload_baca_mandiri", 'POST', [
|
||||
'token' => $token,
|
||||
'no_sl' => $no_sl,
|
||||
'nama_photo' => 'baca_mandiri.jpg',
|
||||
'photo' => $dummyImage,
|
||||
'angka' => '12345'
|
||||
]);
|
||||
if (checkResponse($result, 'Upload Baca Mandiri')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// ============================================
|
||||
// LAINNYA
|
||||
// ============================================
|
||||
echo "=== LAINNYA ===\n\n";
|
||||
|
||||
// 30. Promo
|
||||
$testCount++;
|
||||
echo "$testCount. Testing promo...\n";
|
||||
$result = makeRequest("$baseUrl/timo/promo", 'POST', []);
|
||||
if (checkResponse($result, 'Promo')) $passCount++;
|
||||
else $failCount++;
|
||||
echo "\n";
|
||||
|
||||
// 31. Riwayat Pasang
|
||||
$testCount++;
|
||||
echo "$testCount. Testing riwayat_pasang...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/riwayat_pasang", 'POST', [
|
||||
'token' => $token
|
||||
]);
|
||||
if (checkResponse($result, 'Riwayat Pasang')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 32. Jadwal Catat Meter
|
||||
$testCount++;
|
||||
echo "$testCount. Testing jadwal_catat_meter...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/jadwal_catat_meter", 'POST', [
|
||||
'token' => $token
|
||||
]);
|
||||
if (checkResponse($result, 'Jadwal Catat Meter')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 33. Request Order Baca Mandiri
|
||||
$testCount++;
|
||||
echo "$testCount. Testing request_order_baca_mandiri...\n";
|
||||
if (!empty($token)) {
|
||||
$result = makeRequest("$baseUrl/timo/request_order_baca_mandiri", 'POST', [
|
||||
'token' => $token,
|
||||
'no_sl' => $no_sl
|
||||
]);
|
||||
if (checkResponse($result, 'Request Order Baca Mandiri')) $passCount++;
|
||||
else $failCount++;
|
||||
} else {
|
||||
echo " ⚠ Skip: Token tidak tersedia\n";
|
||||
$failCount++;
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// ============================================
|
||||
// SUMMARY
|
||||
// ============================================
|
||||
echo "==========================================\n";
|
||||
echo " TEST SUMMARY\n";
|
||||
echo "==========================================\n";
|
||||
echo "Total Tests: $testCount\n";
|
||||
echo "Passed: $passCount\n";
|
||||
echo "Failed: $failCount\n";
|
||||
echo "Success Rate: " . round(($passCount / $testCount) * 100, 2) . "%\n";
|
||||
echo "==========================================\n\n";
|
||||
|
||||
if ($failCount > 0) {
|
||||
echo "⚠ Beberapa test gagal. Periksa:\n";
|
||||
echo " 1. Server API berjalan di $baseUrl\n";
|
||||
echo " 2. Database connection berfungsi\n";
|
||||
echo " 3. Data user '$username' ada di database\n";
|
||||
echo " 4. Nomor SL '$no_sl' valid\n";
|
||||
echo "\n";
|
||||
}
|
||||
|
||||
echo "Note: Beberapa endpoint mungkin gagal karena:\n";
|
||||
echo " - Data tidak tersedia di database\n";
|
||||
echo " - Validasi data yang ketat\n";
|
||||
echo " - External API tidak tersedia\n";
|
||||
echo "\n";
|
||||
Reference in New Issue
Block a user