Testing
Pengujian API Pyramid Framework
Pengujian API dengan curl
Sekarang kita akan menguji API yang telah dibuat menggunakan curl. Pastikan server Pyramid sedang berjalan sebelum melakukan pengujian.
Menjalankan Server
Jika server belum berjalan, jalankan dengan perintah:
pserve development.ini --reloadPengujian dengan curl di Linux/macOS
Mendapatkan Daftar Mahasiswa (GET)
curl -X GET http://localhost:6543/api/mahasiswaResponse yang diharapkan:
{
"mahasiswas": [
{
"id": 1,
"nim": "12345",
"nama": "Budi Santoso",
"jurusan": "Teknik Informatika",
"tanggal_lahir": "2000-05-15",
"alamat": "Jl. Merdeka No. 123, Bandung"
},
{
"id": 2,
"nim": "54321",
"nama": "Siti Aminah",
"jurusan": "Sistem Informasi",
"tanggal_lahir": "2001-08-22",
"alamat": "Jl. Mawar No. 45, Jakarta"
}
]
}Mendapatkan Detail Mahasiswa (GET)
curl -X GET http://localhost:6543/api/mahasiswa/1Response yang diharapkan:
{
"mahasiswa": {
"id": 1,
"nim": "12345",
"nama": "Budi Santoso",
"jurusan": "Teknik Informatika",
"tanggal_lahir": "2000-05-15",
"alamat": "Jl. Merdeka No. 123, Bandung"
}
}Menambahkan Mahasiswa Baru (POST)
curl -X POST http://localhost:6543/api/mahasiswa \
-H "Content-Type: application/json" \
-d '{
"nim": "67890",
"nama": "Ahmad Fadli",
"jurusan": "Teknik Elektro",
"tanggal_lahir": "2001-11-05",
"alamat": "Jl. Mawar No. 10, Surabaya"
}'Response yang diharapkan:
{
"success": true,
"mahasiswa": {
"id": 3,
"nim": "67890",
"nama": "Ahmad Fadli",
"jurusan": "Teknik Elektro",
"tanggal_lahir": "2001-11-05",
"alamat": "Jl. Mawar No. 10, Surabaya"
}
}Mengupdate Data Mahasiswa (PUT)
curl -X PUT http://localhost:6543/api/mahasiswa/1 \
-H "Content-Type: application/json" \
-d '{
"jurusan": "Informatika",
"alamat": "Jl. Melati No. 5, Bandung"
}'Response yang diharapkan:
{
"success": true,
"mahasiswa": {
"id": 1,
"nim": "12345",
"nama": "Budi Santoso",
"jurusan": "Informatika",
"tanggal_lahir": "2000-05-15",
"alamat": "Jl. Melati No. 5, Bandung"
}
}Menghapus Data Mahasiswa (DELETE)
curl -X DELETE http://localhost:6543/api/mahasiswa/3Response yang diharapkan:
{
"success": true,
"message": "Mahasiswa dengan id 3 berhasil dihapus"
}Pengujian dengan curl di Windows
Untuk pengguna Windows, gunakan syntax curl berikut dengan escape character yang berbeda:
curl -X GET http://localhost:6543/api/mahasiswacurl -X POST http://localhost:6543/api/mahasiswa `
-H "Content-Type: application/json" `
-d '{\"nim\": \"67890\", \"nama\": \"Ahmad Fadli\", \"jurusan\": \"Teknik Elektro\", \"tanggal_lahir\": \"2001-11-05\", \"alamat\": \"Jl. Mawar No. 10, Surabaya\"}'curl -X PUT http://localhost:6543/api/mahasiswa/1 `
-H "Content-Type: application/json" `
-d '{\"jurusan\": \"Informatika\", \"alamat\": \"Jl. Melati No. 5, Bandung\"}'curl -X DELETE http://localhost:6543/api/mahasiswa/3curl -X GET http://localhost:6543/api/mahasiswacurl -X POST http://localhost:6543/api/mahasiswa -H "Content-Type: application/json" -d "{\"nim\": \"67890\", \"nama\": \"Ahmad Fadli\", \"jurusan\": \"Teknik Elektro\", \"tanggal_lahir\": \"2001-11-05\", \"alamat\": \"Jl. Mawar No. 10, Surabaya\"}"curl -X PUT http://localhost:6543/api/mahasiswa/1 -H "Content-Type: application/json" -d "{\"jurusan\": \"Informatika\", \"alamat\": \"Jl. Melati No. 5, Bandung\"}"curl -X DELETE http://localhost:6543/api/mahasiswa/3Alternatif Tools untuk Pengujian API
Selain curl, Kalian dapat menggunakan tools lain yang lebih mudah untuk pengujian API:
1. Browser (untuk GET Request)
Untuk request GET sederhana, Kalian bisa langsung membuka URL di browser:
http://localhost:6543/api/mahasiswahttp://localhost:6543/api/mahasiswa/1
2. Postman
Postman adalah aplikasi desktop dengan antarmuka grafis yang memudahkan pengujian API:
- Download Postman dari https://www.postman.com/downloads/
- Buat request baru dengan method yang diinginkan (GET, POST, PUT, DELETE)
- Masukkan URL endpoint
- Untuk POST/PUT, pilih tab "Body" → "raw" → "JSON" dan masukkan data JSON
- Klik "Send" untuk mengirim request
3. Insomnia
Alternatif Postman yang lebih ringan:
- Download dari https://insomnia.rest/download
- Interface yang lebih sederhana dan ringan
- Fitur yang cukup lengkap untuk API testing
4. VS Code REST Client Extension
Jika menggunakan VS Code, install extension "REST Client":
- Install extension "REST Client" di VS Code
- Buat file baru dengan ekstensi
.httpatau.rest - Tulis request dalam format:
### Get all mahasiswa
GET http://localhost:6543/api/mahasiswa
### Get detail mahasiswa
GET http://localhost:6543/api/mahasiswa/1
### Add new mahasiswa
POST http://localhost:6543/api/mahasiswa
Content-Type: application/json
{
"nim": "67890",
"nama": "Ahmad Fadli",
"jurusan": "Teknik Elektro",
"tanggal_lahir": "2001-11-05",
"alamat": "Jl. Mawar No. 10, Surabaya"
}
### Update mahasiswa
PUT http://localhost:6543/api/mahasiswa/1
Content-Type: application/json
{
"jurusan": "Informatika",
"alamat": "Jl. Melati No. 5, Bandung"
}
### Delete mahasiswa
DELETE http://localhost:6543/api/mahasiswa/3- Klik "Send Request" di atas setiap request untuk menjalankannya
Troubleshooting API Testing
Jika mengalami masalah saat mengakses API:
- Pastikan server Pyramid sedang berjalan
- Periksa port yang digunakan (default: 6543)
- Periksa log error di terminal tempat server berjalan
- Gunakan
http://127.0.0.1:6543jikalocalhosttidak berfungsi - Pastikan tidak ada aplikasi lain yang menggunakan port 6543
