Skip to content

Commit 8ba4439

Browse files
committed
add utf-8 encoding tests
1 parent 10bc695 commit 8ba4439

9 files changed

+84
-1
lines changed

example_export.txt

+4
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,7 @@ otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXB
1212

1313
# otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4
1414
otpauth-migration://offline?data=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6%2F%2F%2F%2F%2FwE%3D
15+
16+
# otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY
17+
# Name: "encoding: ¿äÄéÉ? (demo)"
18+
otpauth-migration://offline?data=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv%2F%2F%2F%2F%2F%2FAQ%3D%3D

example_keepass_output.totp.csv

+1
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ raspberrypi,pi@raspberrypi,7KSQL2JTUDIS5EF65KLMRQIIGY,OTP/TOTP
33
,pi@raspberrypi,7KSQL2JTUDIS5EF65KLMRQIIGY,OTP/TOTP
44
,pi@raspberrypi,7KSQL2JTUDIS5EF65KLMRQIIGY,OTP/TOTP
55
raspberrypi,pi@raspberrypi,7KSQL2JTUDIS5EF65KLMRQIIGY,OTP/TOTP
6+
,encoding: ¿äÄéÉ? (demo),7KSQL2JTUDIS5EF65KLMRQIIGY,OTP/TOTP

example_output.csv

+1
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ pi@raspberrypi,7KSQL2JTUDIS5EF65KLMRQIIGY,,totp,,otpauth://totp/pi%40raspberrypi
44
pi@raspberrypi,7KSQL2JTUDIS5EF65KLMRQIIGY,,totp,,otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY
55
pi@raspberrypi,7KSQL2JTUDIS5EF65KLMRQIIGY,raspberrypi,totp,,otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi
66
hotp demo,7KSQL2JTUDIS5EF65KLMRQIIGY,,hotp,4,otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4
7+
encoding: ¿äÄéÉ? (demo),7KSQL2JTUDIS5EF65KLMRQIIGY,,totp,,otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY

example_output.json

+9-1
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,13 @@
3838
"type": "hotp",
3939
"counter": 4,
4040
"url": "otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4"
41+
},
42+
{
43+
"name": "encoding: ¿äÄéÉ? (demo)",
44+
"secret": "7KSQL2JTUDIS5EF65KLMRQIIGY",
45+
"issuer": "",
46+
"type": "totp",
47+
"counter": null,
48+
"url": "otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY"
4149
}
42-
]
50+
]

test/example_export_only_totp.txt

+4
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,7 @@ otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXB
99
# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi
1010
# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY
1111
otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa%2Bf%2F%2F%2F%2F8B
12+
13+
# otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY
14+
# Name: "encoding: ¿äÄéÉ? (demo)"
15+
otpauth-migration://offline?data=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv%2F%2F%2F%2F%2F%2FAQ%3D%3D

test/print_verbose_output.txt

+24
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,27 @@ Type: hotp
112112
Counter: 4
113113
otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4
114114

115+
116+
# otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY
117+
# Name: "encoding: ¿äÄéÉ? (demo)"
118+
otpauth-migration://offline?data=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv%2F%2F%2F%2F%2F%2FAQ%3D%3D
119+
120+
5. Payload Line
121+
otp_parameters {
122+
secret: "\372\245\005\3513\240\321.\220\276\352\226\310\301\0106"
123+
name: "encoding: ¿äÄéÉ? (demo)"
124+
algorithm: ALGO_SHA1
125+
digits: 1
126+
type: OTP_TOTP
127+
}
128+
version: 1
129+
batch_size: 1
130+
batch_id: -171198419
131+
132+
133+
6. Secret Key
134+
Name: encoding: ¿äÄéÉ? (demo)
135+
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
136+
Type: totp
137+
otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY
138+

test/printqr_output.txt

+29
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,32 @@ Counter: 4
132132

133133

134134

135+
Name: encoding: ¿äÄéÉ? (demo)
136+
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
137+
Type: totp
138+
                                                 
139+
                                                 
140+
    █▀▀▀▀▀█ ▄▀▀  ▀  ▄▀█ ▄▄▄██▀ ▄▀█▄█▀ █▀▀▀▀▀█    
141+
    █ ███ █ █▄▀█▄▄ ▀  ▄▀█  █  █  ▀▀▀▄ █ ███ █    
142+
    █ ▀▀▀ █  ▄ ▀ ▀▄▀▄ ▄▄▀▄▄█▄ ▀▄ █▀▀█ █ ▀▀▀ █    
143+
    ▀▀▀▀▀▀▀ █ █ █▄█▄▀ ▀▄▀ █▄█ ▀ █ ▀ █ ▀▀▀▀▀▀▀    
144+
    ▀   ▄ ▀ █▀▀▄▀ ▄▄▀▀▄█▄ █▄▀▀▄█▀██▄▄█▀ ▄█▀▀▄    
145+
    ▄▀█▄█ ▀ ▀ █▄█▄▄    ▄███▄▄▀▀▀▄▄▀▄    ▄█▀▄▄    
146+
     ▀█▀ ▄▀▄▄█ ▄▀███▀ ▄▀█▀▄▀▄  ▀██▄▄ ▄█▀█  ▀▄    
147+
     ▄▀ █▄▀▀ █▀▄▄▄  ▄█▄█ ▀▄ ▄▄ ▄  ▀▀█▄▄ ▀█▄▄▄    
148+
    ▀ ▄▄▄▀▀▄▄█▀▄ ▀▀▀█▄ █▄ ▀ ▄█▄▄▀▄▀▀▀▄▄█▄ ▀ ▀    
149+
    █ ▄   ▀█ ▄▀ ██ █ ▄▄▀▀▀███▄     ▄▄██ ██▀█▀    
150+
    █▀█▀██▀▀███▄  ▀▀▄▄▄▄█▀ █ ▄█▄█▄▀ ▄▄▀  ▄▄ ▀    
151+
    ▄██▄▄ ▀ ▀   ▀▀  ██▄▄▄▀▀▄█▀█▄ ▀ █▄▀▄   ▀▄▄    
152+
      ███▄▀█▄█▄▄█ ▀█▄ ▀▄█  ▄▀▄ █▄  ▄ █▄  ▄▀▄▀    
153+
    █  ▄ ▄▀▀▄▄█▄▄█▄█ ▄▄▄ █▄▄▀█ █▀█▄ ▄▀▀█▄▄▄▀▀    
154+
    ▄  ▀▄▀▀ ▄▄▀██  ▀▀▄█▀▀▄ ▀▀█   ▄ ████ █▀█▀█    
155+
    █▀▄▀█ ▀▄▄ ▄ ▀▀▀ ▄▀ ▀ █▀▄▀▀█▀▀█▄▀█ ▀▄▀▄ █     
156+
    ▀ ▀  ▀▀ ▄ █▄▀█▀▀▄▀█ ▀▄▄█▄▀ ██ ▀██▀▀▀█▀▄▄     
157+
    █▀▀▀▀▀█  ▀█ ▄▄██▀ ▀██▄▀██ ▄▄██ ▀█ ▀ █ ▀█     
158+
    █ ███ █  █▄ █▀▀█▀▀▀█▀█ ▀ ▀█ █▀▀ ██▀▀▀███▀    
159+
    █ ▀▀▀ █  ▄ ▄▀█▄▄ ▀█ ▀▀  ▄ ▀█▀ ▄▀ █▀▀██ ▀▄    
160+
    ▀▀▀▀▀▀▀ ▀ ▀ ▀ ▀▀   ▀  ▀ ▀▀▀▀ ▀  ▀   ▀ ▀      
161+
                                                 
162+
                                                 
163+

test_extract_otp_secret_keys_pytest.py

+4
Original file line numberDiff line numberDiff line change
@@ -476,4 +476,8 @@ def cleanup():
476476
Type: hotp
477477
Counter: 4
478478
479+
Name: encoding: ¿äÄéÉ? (demo)
480+
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
481+
Type: totp
482+
479483
'''

test_extract_otp_secret_keys_unittest.py

+8
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ def test_extract_stdout_1(self):
7373
'Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY',
7474
'Type: hotp',
7575
'Counter: 4',
76+
'',
77+
'Name: encoding: ¿äÄéÉ? (demo)',
78+
'Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY',
79+
'Type: totp',
7680
''
7781
]
7882
self.assertEqual(output, expected_output)
@@ -107,6 +111,10 @@ def test_extract_stdout_2(self):
107111
Type: hotp
108112
Counter: 4
109113
114+
Name: encoding: ¿äÄéÉ? (demo)
115+
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
116+
Type: totp
117+
110118
'''
111119
self.assertEqual(actual_output, expected_output)
112120

0 commit comments

Comments
 (0)