|
@@ -3,6 +3,7 @@ package com.chameth.yaotp.algos
|
3
|
3
|
import com.chameth.yaotp.toHexString
|
4
|
4
|
import com.natpryce.hamkrest.assertion.assert
|
5
|
5
|
import com.natpryce.hamkrest.equalTo
|
|
6
|
+import org.junit.Assert.assertEquals
|
6
|
7
|
import org.junit.Test
|
7
|
8
|
|
8
|
9
|
class TotpTest {
|
|
@@ -40,32 +41,47 @@ class TotpTest {
|
40
|
41
|
|
41
|
42
|
@Test
|
42
|
43
|
fun testTotp_withRfcValues_usingSha1() {
|
43
|
|
- assert.that(totp(rfcKeySha1, 59), equalTo(94287082))
|
44
|
|
- assert.that(totp(rfcKeySha1, 1111111109), equalTo(7081804))
|
45
|
|
- assert.that(totp(rfcKeySha1, 1111111111), equalTo(14050471))
|
46
|
|
- assert.that(totp(rfcKeySha1, 1234567890), equalTo(89005924))
|
47
|
|
- assert.that(totp(rfcKeySha1, 2000000000), equalTo(69279037))
|
48
|
|
- assert.that(totp(rfcKeySha1, 20000000000), equalTo(65353130))
|
|
44
|
+ assert.that(totp(rfcKeySha1, 59).otp, equalTo("94287082"))
|
|
45
|
+ assert.that(totp(rfcKeySha1, 1111111109).otp, equalTo("07081804"))
|
|
46
|
+ assert.that(totp(rfcKeySha1, 1111111111).otp, equalTo("14050471"))
|
|
47
|
+ assert.that(totp(rfcKeySha1, 1234567890).otp, equalTo("89005924"))
|
|
48
|
+ assert.that(totp(rfcKeySha1, 2000000000).otp, equalTo("69279037"))
|
|
49
|
+ assert.that(totp(rfcKeySha1, 20000000000).otp, equalTo("65353130"))
|
49
|
50
|
}
|
50
|
51
|
|
51
|
52
|
@Test
|
52
|
53
|
fun testTotp_withRfcValues_usingSha256() {
|
53
|
|
- assert.that(totp(rfcKeySha256, 59), equalTo(46119246))
|
54
|
|
- assert.that(totp(rfcKeySha256, 1111111109), equalTo(68084774))
|
55
|
|
- assert.that(totp(rfcKeySha256, 1111111111), equalTo(67062674))
|
56
|
|
- assert.that(totp(rfcKeySha256, 1234567890), equalTo(91819424))
|
57
|
|
- assert.that(totp(rfcKeySha256, 2000000000), equalTo(90698825))
|
58
|
|
- assert.that(totp(rfcKeySha256, 20000000000), equalTo(77737706))
|
|
54
|
+ assert.that(totp(rfcKeySha256, 59).otp, equalTo("46119246"))
|
|
55
|
+ assert.that(totp(rfcKeySha256, 1111111109).otp, equalTo("68084774"))
|
|
56
|
+ assert.that(totp(rfcKeySha256, 1111111111).otp, equalTo("67062674"))
|
|
57
|
+ assert.that(totp(rfcKeySha256, 1234567890).otp, equalTo("91819424"))
|
|
58
|
+ assert.that(totp(rfcKeySha256, 2000000000).otp, equalTo("90698825"))
|
|
59
|
+ assert.that(totp(rfcKeySha256, 20000000000).otp, equalTo("77737706"))
|
59
|
60
|
}
|
60
|
61
|
|
61
|
62
|
@Test
|
62
|
63
|
fun testTotp_withRfcValues_usingSha512() {
|
63
|
|
- assert.that(totp(rfcKeySha512, 59), equalTo(90693936))
|
64
|
|
- assert.that(totp(rfcKeySha512, 1111111109), equalTo(25091201))
|
65
|
|
- assert.that(totp(rfcKeySha512, 1111111111), equalTo(99943326))
|
66
|
|
- assert.that(totp(rfcKeySha512, 1234567890), equalTo(93441116))
|
67
|
|
- assert.that(totp(rfcKeySha512, 2000000000), equalTo(38618901))
|
68
|
|
- assert.that(totp(rfcKeySha512, 20000000000), equalTo(47863826))
|
|
64
|
+ assert.that(totp(rfcKeySha512, 59).otp, equalTo("90693936"))
|
|
65
|
+ assert.that(totp(rfcKeySha512, 1111111109).otp, equalTo("25091201"))
|
|
66
|
+ assert.that(totp(rfcKeySha512, 1111111111).otp, equalTo("99943326"))
|
|
67
|
+ assert.that(totp(rfcKeySha512, 1234567890).otp, equalTo("93441116"))
|
|
68
|
+ assert.that(totp(rfcKeySha512, 2000000000).otp, equalTo("38618901"))
|
|
69
|
+ assert.that(totp(rfcKeySha512, 20000000000).otp, equalTo("47863826"))
|
|
70
|
+ }
|
|
71
|
+
|
|
72
|
+ @Test
|
|
73
|
+ fun testExpirary_withPartialValues() {
|
|
74
|
+ assertEquals(3000030L, expiry(0L, 30, 3000029L))
|
|
75
|
+ assertEquals(3000030L, expiry(0L, 30, 3000020L))
|
|
76
|
+ assertEquals(3000030L, expiry(0L, 30, 3000010L))
|
|
77
|
+ assertEquals(3000030L, expiry(0L, 30, 3000005L))
|
|
78
|
+ assertEquals(3000030L, expiry(0L, 30, 3000001L))
|
|
79
|
+ }
|
|
80
|
+
|
|
81
|
+ @Test
|
|
82
|
+ fun testExpirary_withStepValues() {
|
|
83
|
+ assertEquals(3000060L, expiry(0L, 30, 3000030L))
|
|
84
|
+ assertEquals(3000030L, expiry(0L, 30, 3000000L))
|
69
|
85
|
}
|
70
|
86
|
|
71
|
87
|
}
|