test_xltunai.py
6.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import xltunai
def test_getOperatorFromProduct():
assert xltunai.getOperatorFromProduct('XL5') == 'XL'
assert xltunai.getOperatorFromProduct('XL10') == 'XL'
assert xltunai.getOperatorFromProduct('XL25') == 'XL'
assert xltunai.getOperatorFromProduct('XL50') == 'XL'
assert xltunai.getOperatorFromProduct('XL100') == 'XL'
assert xltunai.getOperatorFromProduct('XA5') == 'XA'
assert xltunai.getOperatorFromProduct('XA10') == 'XA'
assert xltunai.getOperatorFromProduct('XA25') == 'XA'
assert xltunai.getOperatorFromProduct('XA50') == 'XA'
assert xltunai.getOperatorFromProduct('XA100') == 'XA'
assert xltunai.getOperatorFromProduct('XL100H') == 'XL'
def test_getNominalFromProduct():
assert xltunai.getNominalFromProduct('XL5') == 5000
assert xltunai.getNominalFromProduct('XL10') == 10000
assert xltunai.getNominalFromProduct('XL25') == 25000
assert xltunai.getNominalFromProduct('XL50') == 50000
assert xltunai.getNominalFromProduct('XL100') == 100000
assert xltunai.getNominalFromProduct('XA5') == 5000
assert xltunai.getNominalFromProduct('XA10') == 10000
assert xltunai.getNominalFromProduct('XA25') == 25000
assert xltunai.getNominalFromProduct('XA50') == 50000
assert xltunai.getNominalFromProduct('XA100') == 100000
assert xltunai.getNominalFromProduct('XL100H') == 100000
def test_getDenomCodeFromProduct():
assert xltunai.getDenomCodeFromProduct('XL5') == 1
assert xltunai.getDenomCodeFromProduct('XL10') == 2
assert xltunai.getDenomCodeFromProduct('XL25') == 3
assert xltunai.getDenomCodeFromProduct('XL50') == 4
assert xltunai.getDenomCodeFromProduct('XL100') == 5
assert xltunai.getDenomCodeFromProduct('XL200') == 6
assert xltunai.getDenomCodeFromProduct('XL300') == None
def test_getCostFromProduct():
assert xltunai.getCostFromProduct('XL5') == 5500
assert xltunai.getCostFromProduct('XL10') == 10500
assert xltunai.getCostFromProduct('XL25') == 25000
assert xltunai.getCostFromProduct('XL50') == 50000
assert xltunai.getCostFromProduct('XL100') == 100000
assert xltunai.getCostFromProduct('XL200') == 200000
assert xltunai.getCostFromProduct('XL300') == 0
def test_getSNFromMessage():
assert xltunai.getSNFromMessage('Nomor 6287884153131 telah berhasil diisi pulsa sebesar Rp.5000. Nikmati transaksi XL Tunai lainnya. Ref ID :75614092695337') == '75614092695337'
assert xltunai.getSNFromMessage('Nomor 6287884153131 telah berhasil diisi pulsa sebesar Rp.5000. Nikmati transaksi XL Tunai lainnya. SN ID :75614092695337') == ''
assert xltunai.getSNFromMessage('Nomor 6287889517766 telah berhasil diisi pulsa sebesar Rp 10000.Sisa Saldo Rp 3004500. Ref No 43280489064186') == '43280489064186'
def test_toInternationalNumber():
assert xltunai.toInternationalNumber('081808180818') == '6281808180818'
assert xltunai.toInternationalNumber('6281808180818') == '6281808180818'
assert xltunai.toInternationalNumber('4114') == '4114'
def test_getDestinationFromMessage():
assert xltunai.getDestinationFromMessage('Nomor 6287884153131 telah berhasil diisi pulsa sebesar Rp.5000. Nikmati transaksi XL Tunai lainnya. Ref ID :75614092695337') == '6287884153131'
def test_getNominalFromMessage():
assert xltunai.getNominalFromMessage('Nomor 6287770722609 telah berhasil diisi pulsa sebesar 5000. Sisa Saldo Rp 1949500. Ref No 41040432037489') == '5000'
assert xltunai.getNominalFromMessage('Bla bla') == ''
def test_getBalanceFromMessage():
assert xltunai.getBalanceFromMessage('Nomor 6287889517766 telah berhasil diisi pulsa sebesar Rp 10000.Sisa Saldo Rp 3004500. Ref No 43280489064186') == 3004500
def test_getBalanceFromUSSDResponse():
message = """USSD response message: Saldo Rp134500
Isi Pulsa 5000, Pilih menu no.2
1 Belanja di toko
2 Isi Pulsa
3 Pembayaran
4 Belanja Online
5 Kirim Uang
6 Tarik Uang
7 Pengaturan
8 Info"""
assert xltunai.getBalanceFromUSSDResponse(message) == 134500
def test_getTopupUSSDCommand():
assert xltunai.getTopupUSSDCommand('081808180818', 'XL2', '1234') == None
assert xltunai.getTopupUSSDCommand('081808180818', 'XL5', '1234') == '*123*120*2*2*081808180818*1*1234#'
assert xltunai.getTopupUSSDCommand('6281808180818', 'XL5', '1234') == '*123*120*2*2*6281808180818*1*1234#'
assert xltunai.getTopupUSSDCommand('081808180818', 'XL50', '1234') == '*123*120*2*2*081808180818*4*1234#'
def test_valid_sender():
assert xltunai.isValidSender('120') == True
assert xltunai.isValidSender('121') == False
def test_getResponseCodeByMessage():
assert xltunai.getResponseCodeByMessage('Nomor 6287884153131 telah berhasil diisi pulsa sebesar Rp.5000. Nikmati transaksi XL Tunai lainnya. Ref ID :75614092695337') == '00'
assert xltunai.getResponseCodeByMessage('Bla bla bla') == '68'
def test_getResponseCodeByUSSDResponse():
assert xltunai.getResponseCodeByUSSDResponse('Mohon maaf, nomor yang Anda masukkan tidak valid') == '14'
assert xltunai.getResponseCodeByUSSDResponse('Bla bla bla') == '68'
def test_getMSISDNFromSIMCardInfo():
assert xltunai.getMSISDNFromSIMCardInfo('Nomor 6287880852347 adalah nomor dengan POC JK0 dengan ICCID 8962116820756544479') == '6287880852347'
assert xltunai.getMSISDNFromSIMCardInfo('bla bla bla') == ''
def test_getIMSIFromSIMCardInfo():
assert xltunai.getIMSIFromSIMCardInfo('Nomor 6287880852347 adalah nomor dengan POC JK0 dengan ICCID 8962116820756544479') == '8962116820756544479'
assert xltunai.getIMSIFromSIMCardInfo('bla bla bla') == ''
def test_getPulsaFromUssdResponseMessage():
assert xltunai.getPulsaFromUssdResponseMessage('Pulsa 41875 s/d 16Sep15. Mendadak DISKON 1 JUTA pelanggan pertama!') == 41875
assert xltunai.getPulsaFromUssdResponseMessage('''Pulsa 41875 s/d 16Sep15. Mendadak DISKON 1 JUTA pelanggan pertama!
1 Mau
2 Info 4G
3 Internet
4 Pkt Nelp&SMS
5 Pkt Seru
6 mPulsa
7 60Mazda2''') == 41875
assert xltunai.getPulsaFromUssdResponseMessage('') == None
assert xltunai.getPulsaFromUssdResponseMessage('Pulsa habis s/d') == None
def test_getPulsaFromUssdResponseMessage():
assert xltunai.getMasaAktifFromUssdResponseMessage('Pulsa 41875 s/d 16Sep15. Mendadak DISKON 1 JUTA pelanggan pertama!') == '2015-09-16'
assert xltunai.getMasaAktifFromUssdResponseMessage('Pulsa 53000 s.d 10Sep15. Pkt TalkMania-XTRA 250Mnt, Rp3375!') == '2015-09-10'
assert xltunai.getMasaAktifFromUssdResponseMessage('Pulsa 41875 s/d. Mendadak DISKON 1 JUTA pelanggan pertama!') == None