test_xltunai.py
8.05 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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
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
def test_getLastSNFromMessage():
assert xltunai.getLastSNFromHistoryMessage('Transaksi Terakhir : 20063778248257/5500/12-02-2016 14:37:08/M201312021528418273770285/P201511211752675316198716/RELOAD XL 5000') == '20063778248257'
assert xltunai.getLastSNFromHistoryMessage('Transaksi Terakhir :\n20063778248257/5500/12-02-2016 14:37:08/M201312021528418273770285/P201511211752675316198716/RELOAD XL 5000') == '20063778248257'
def test_getSNFromReceiveTransferMessage():
assert xltunai.getSNFromReceiveTransferMessage('Anda terima uang XLTunai Rp2500000 dr 6287886957792 DIDIT ARIYANTO pada 19/02/2016 16:14:32.Cek saldo di *123*120#.RefID 49498359729433. Info hub 817') == '49498359729433'
def test_getSNFromCashInMessage():
assert xltunai.getSNFromCashInMessage('Terimakasih, transaksi CASH IN ke akun 6287886957792 berhasil. Jumlah transaksi Rp 5000000, biaya 0. Saldo anda saat ini 5000000 . Ref ID: 96346333194106') == '96346333194106'
def test_getSNFromSentTransferMessage():
assert xltunai.getSNFromSentTransferMessage('Kirim uang ke 6287886957795 an DIDIT ARIYANTO sebesar Rp 580000 berhasil pada 20/02/2016 21:48:54.Ref id 79811319924606. Info hub 817') == '79811319924606'
def test_getLastTrxTypeFromMessage():
assert xltunai.getLastTrxTypeFromMessage('Transaksi Terakhir :\n39535056518697/750000/22-02-2016 08:36:59/P201602181759182040246743/P201602181759182039246781/P2P TRANSFER') == 'P2P TRANSFER'
assert xltunai.getLastTrxTypeFromMessage('Transaksi Terakhir :\n99345514064378/5500/21-02-2016 15:34:58/M201312021528418273770285/P201511211752675316198716/RELOAD XL 5000') == 'RELOAD XL 5000'