Fakultas Ilmu Komputer UI

Commit 54788936 authored by YOGI LESMANA  SULESTIO's avatar YOGI LESMANA SULESTIO
Browse files

Add post

parent 7575760c
Pipeline #9929 passed with stages
in 2 minutes and 8 seconds
---
layout: post
title: "GMT"
date: 2019-03-21 10:00:00 +0700
author: yogi
---
--
Pada blog minggu ini, saya akan menceritakan pengalaman saya mengenai GMT, bukan Greenwich Mean Time, melainkan:
Git, Mock, dan TDD.
<!--more-->
Fitur yang saya kerjakan adalah logout dan membuat endpoint server serta pagination.
Pada fitur login dan logout, kami memutuskan untuk menggunakan Django REST Framework dikarenakan kebijakan autentikasinya yang mencakup OAuth1a dan OAuth2 serta Serialization yang mendukung ORM dan non-ORM.
Agar dapat mengimplementasikan fitur logout, saya menambahkan penggunaan REST_FRAMEWORK (TokenAuthentication dan SessionAuthentication) pada file settings.py
Pembuatan tes untuk fitur ini saya buat pada dua buah kondisi, yaitu saat pengguna mengakses /logout/ dalam keadaan belum dan sudah ter-logout.
Sedangkan untuk dapat menjalankan tesnya dengan baik, saya menambahkan fungsi baru berupa post pada file views.py yang akan mengambil token dari pengguna lalu dihapus.
Pada fitur pembuatan endpoint server, kami menggunakan DjangoModelFactory untuk membuat data dummy dan Serializer agar data yang kompleks dapat dikonversi ke dalam datatype milik Python sehingga dapat dirender ke dalam konten lain.
Untuk pengetesannya sendiri, saya mengikuti pengetesan pada fitur logout, yaitu saat pengguna mengakses /servers/ dalam keadaan belum dan sudah ter-logout.
Sedangkan untuk dapat menjalankan tesnya dengan baik, saya menambahkan path baru yang mencakup servers.urls pada file urls.py
Pada fitur paginasi, saya hanya membuat tes yang akan membandingkan panjang dari data yang diterima serta menambahkan penggunaan pagination pada file views.py, ukuran page sebanyak 20 pada settings.py, dan kelas inner meta untuk membantu pengurutan ketika pagination berdasarkan id
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment