![]() | |
ADVAN Laptop Notebook i3 GenADVAN Laptop Notebook Soulmate 14 inch FHD IPS INTEL i3 8GB+256GB WINDOWS 11 Original. ADVAN kembali menghadirkan produk laptop di Indonesia yang ditenagai oleh Otak INTEL i3 Gen 11 untuk Para Mahasiswa, pekerja, conten creator, editing foto dan video dengan design yang sangat Modern. Free Klik Disini ! |
Di tutorial sebelumnya kita telah belajar tentang Models dan Serializers. Sebagaimana kita tau unit test begitu penting bagi developer. Dengan unit test developer bisa menguji secara mandiri logika program yang sudah dibuat.
Dibagian ke-4 dari tutorial Membuat Service OTP Django Mysql, kita akan belajar bagaimana caranya memvalidasi OTP.
Jika kita kembali ke sequence diagram, kita akan menemukan logika bagaimana cara membuat validasi OTP.
Di bagian validasi token ini kita perlu melakukan pengecekan data terlebih dahulu apakah OTP Number yang di kirim oleh service client ada di database atau tidak.
Kemudian kita juga perlu melakukan pengecekan masa expired dari OTP Number yang dikirim oleh service client.
Ada beberapa hal yang akan kita pelajari di bagian ke-4 ini, diantara seperti dibawah ini :
def checkExistOtp(data):
try:
checkOTP = Otpservice.objects.filter(phone_number=data['phone_number'], otp_number=data['otp_number'])
if len(checkOTP) > 0:
return True, checkOTP[0], ""
return False, "", "OTP Number not found"
except Exception as e:
return False, "", str(e)
def checkOTPExpired(expired_unixtime):
curent_time = datetime.now()
curent_unix_time = curent_time.timestamp()
if int(curent_unix_time) < int(expired_unixtime):
return True, "OTP valid"
else:
return False, "OTP Expired"
def validateOTP(data):
try:
pass
except Exception as e:
pass
class ValidateOTPTestCase(TestCase):
payload_create_otp = {
'phone_number':'62878787123'
}
def test_validate_otp_succes(self):
status, otp = create_otp(self.payload_create_otp)
payload_validate_otp = {
'phone_number':'62878787123',
'otp_number': otp
}
status, message = validateOTP(payload_validate_otp)
self.assertEqual(status, True)
Github: https://github.com/halovina/otpservice/tree/validate-otp
Baca artikel lainya: