Panduan Pengujian API (Postman / cURL)
Dokumen ini berisi daftar keseluruhan endpoint yang ada di dalam aplikasi vibe-engineering beserta testing plan (skenario pengujian) end-to-end. Gunakan panduan ini untuk melakukan verifikasi via Postman.
Konfigurasi Dasar
- Base URL:
http://localhost:3000
- Content-Type: Atur konfigurasi Body pada setiap perintah POST/PUT menggunakan format
application/json (Raw JSON).
📋 Daftar Seluruh Endpoint
1. Root & Debugging
GET / : Endpoint health-check murni dari ElysiaJS.
GET /users : Menampilkan seluruh detail baris pengguna di tabel database users.
2. Autentikasi (Auth)
POST /api/v1/auth/register
- Tujuan: Mendaftarkan pengguna baru ke platform.
- Body Requirement (JSON):
{
"name": "John Doe",
"email": "johndoe@example.com",
"password": "secretpassword"
}
- Ekspektasi Respon (Sukses):
{
"status": "success",
"message": "User created successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "johndoe@example.com",
"created_at": "2026-04-04T07:00:00.000Z"
}
}
POST /api/v1/auth/login
- Tujuan: Masuk/Log In untuk mendapatkan token session (UUID).
- Body Requirement (JSON):
{
"email": "johndoe@example.com",
"password": "secretpassword"
}
- Ekspektasi Respon (Sukses):
{
"status": "success",
"message": "User logged in successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "johndoe@example.com",
"token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"created_at": "2026-04-04T07:00:00.000Z"
}
}
- Catatan Penting: Simpan nilai
data.token dari balikan JSON di atas karena wajib dilampirkan menggunakan skema Bearer pada API yang diproteksi.
3. Modul Pengguna Privat (Users)
GET /api/v1/users/me
- Tujuan: Menarik detail (id, name, email) profil diri current user berdasarkan kecocokan sesi database.
- Header Dibutuhkan:
Authorization: Bearer <token_dari_hasil_login>
- Ekspektasi Respon (Sukses):
{
"status": "success",
"message": "User fetched successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "johndoe@example.com",
"created_at": "2026-04-04T07:00:00.000Z"
}
}
DELETE /api/v1/users/logout
- Tujuan: Mengakhiri sesi user dan menghancurkan token tersebut dari tabel
session secara permanen.
- Header Dibutuhkan:
Authorization: Bearer <token_dari_hasil_login>
- Ekspektasi Respon (Sukses):
{
"status": "success",
"message": "Logout successful",
"data": "ok"
}
🧪 Skenario Pengujian Menyeluruh (Testing Plan E2E)
Untuk menguji apakah alur pendaftaran, otorisasi, dan perusakan sesi bekerja sempurna sebelum merilis aplikasi, ikuti urutan langkah-langkah berikut di Workspace Postman Anda:
Langkah 1: Coba Buat Akun
- Melalui endpoint
POST /api/v1/auth/register, buat pengguna baru.
- Ekspektasi (Sukses): Tercipta secara mandiri di balikan status HTTP 201.
- Ekspektasi (Gagal): Kirim ulang request pendaftaran yang sama (email duplikat). Sistem harus menolak dengan respons
"User already exists".
Langkah 2: Ambil Tiket Akses (Token)
- Tembak endpoint
POST /api/v1/auth/login menggunakan email/password yang terdaftar di Langkah 1.
- Anda akan menerima format balikan. Amati field
data.token.
- Salin token tersebut (Copy).
Langkah 3: Validasi Blokir (Keamanan Endpoint Privat)
- Lakukan request
GET /api/v1/users/me di tab Postman baru TANPA menyelipkan Bearer Token di bagian header.
- Ekspektasi: Aplikasi merespons error
"an authorization header is missing or invalid" dengan HTTP Status 401 Unauthorized.
Langkah 4: Akses Endpoint Privat Menggunakan Kunci Valid
- Pada request GET /me yang sama di Langkah 3, arahkan ke opsi
Headers / Authorization dan masukkan tipe JWT/Bearer Token dengan nilai yang tadi disalin.
- Atur ulang dan lakukan request kembali.
- Ekspektasi: Endpoint ini berhasil mendeteksi identitas dan mengembalikan objek JSON berisi profil (termasuk nama profil
"John Doe" tadi).
Langkah 5: Penindakan Penghapusan Sesi (Logout)
- Gunakan token Authorization/Bearer yang sama, tembak endpoint akhir
DELETE /api/v1/users/logout.
- Ekspektasi: Server mengembalikan objek yang menginformasikan
data: ok / Logout successful. Seiring waktu respon, entitas session rahasia telah tercabut bersih dari database.
Langkah 6: Validasi Akhir
- Saat sesi dinyatakan aman terhapus, token yang tadi valid kini berubah menjadi akses usang.
- Kembalilah ke request
GET /api/v1/users/me dengan token yang sama persis. Tembak ulang API tersebut.
- Ekspektasi: Permintaan secara paksa kembali ditolak dengan respons
401 Unauthorized. Berbeda dengan panggilannya di Langkah 4 yang tadi diterima.
Kesimpulan: Jika 6 langkah (Fase Pendaftaran ➡️ Fase Penguncian (Login) ➡️ Fase Validasi (Get Current User) ➡️ Fase Evaluasi Perusakan (Logout)) terlewati dengan mulus tanpa kendala—maka integrasi backend api dapat dinyatakan Sukses / Passed! ✅
Panduan Pengujian API (Postman / cURL)
Dokumen ini berisi daftar keseluruhan endpoint yang ada di dalam aplikasi vibe-engineering beserta testing plan (skenario pengujian) end-to-end. Gunakan panduan ini untuk melakukan verifikasi via Postman.
Konfigurasi Dasar
http://localhost:3000application/json(Raw JSON).📋 Daftar Seluruh Endpoint
1. Root & Debugging
GET /: Endpoint health-check murni dari ElysiaJS.GET /users: Menampilkan seluruh detail baris pengguna di tabel databaseusers.2. Autentikasi (Auth)
POST /api/v1/auth/register{ "name": "John Doe", "email": "johndoe@example.com", "password": "secretpassword" }{ "status": "success", "message": "User created successfully", "data": { "id": 1, "name": "John Doe", "email": "johndoe@example.com", "created_at": "2026-04-04T07:00:00.000Z" } }POST /api/v1/auth/login{ "email": "johndoe@example.com", "password": "secretpassword" }{ "status": "success", "message": "User logged in successfully", "data": { "id": 1, "name": "John Doe", "email": "johndoe@example.com", "token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "created_at": "2026-04-04T07:00:00.000Z" } }data.tokendari balikan JSON di atas karena wajib dilampirkan menggunakan skema Bearer pada API yang diproteksi.3. Modul Pengguna Privat (Users)
GET /api/v1/users/meAuthorization:Bearer <token_dari_hasil_login>{ "status": "success", "message": "User fetched successfully", "data": { "id": 1, "name": "John Doe", "email": "johndoe@example.com", "created_at": "2026-04-04T07:00:00.000Z" } }DELETE /api/v1/users/logoutsessionsecara permanen.Authorization:Bearer <token_dari_hasil_login>{ "status": "success", "message": "Logout successful", "data": "ok" }🧪 Skenario Pengujian Menyeluruh (Testing Plan E2E)
Untuk menguji apakah alur pendaftaran, otorisasi, dan perusakan sesi bekerja sempurna sebelum merilis aplikasi, ikuti urutan langkah-langkah berikut di Workspace Postman Anda:
Langkah 1: Coba Buat Akun
POST /api/v1/auth/register, buat pengguna baru."User already exists".Langkah 2: Ambil Tiket Akses (Token)
POST /api/v1/auth/loginmenggunakan email/password yang terdaftar di Langkah 1.data.token.Langkah 3: Validasi Blokir (Keamanan Endpoint Privat)
GET /api/v1/users/medi tab Postman baru TANPA menyelipkan Bearer Token di bagian header."an authorization header is missing or invalid"dengan HTTP Status401 Unauthorized.Langkah 4: Akses Endpoint Privat Menggunakan Kunci Valid
Headers / Authorizationdan masukkan tipe JWT/Bearer Token dengan nilai yang tadi disalin."John Doe"tadi).Langkah 5: Penindakan Penghapusan Sesi (Logout)
DELETE /api/v1/users/logout.data: ok/Logout successful. Seiring waktu respon, entitas session rahasia telah tercabut bersih dari database.Langkah 6: Validasi Akhir
GET /api/v1/users/medengan token yang sama persis. Tembak ulang API tersebut.401 Unauthorized. Berbeda dengan panggilannya di Langkah 4 yang tadi diterima.