Skip to content

Commit 30a349e

Browse files
committed
fix(e2ee): version detection
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
1 parent 1f476c0 commit 30a349e

2 files changed

Lines changed: 82 additions & 8 deletions

File tree

library/src/main/java/com/owncloud/android/lib/resources/status/E2EVersion.kt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,19 @@
88
package com.owncloud.android.lib.resources.status
99

1010
enum class E2EVersion(
11-
val value: String
11+
val values: List<String>
1212
) {
13-
V1_0("1.0"),
14-
V1_1("1.1"),
15-
V1_2("1.2"),
16-
V2_0("2.0"),
17-
V2_1("2.1"),
18-
UNKNOWN("");
13+
V1_0(listOf("1", "1.0")),
14+
V1_1(listOf("1.1")),
15+
V1_2(listOf("1.2")),
16+
V2_0(listOf("2", "2.0")),
17+
V2_1(listOf("2.1")),
18+
UNKNOWN(listOf(""));
19+
20+
val value: String = values.last()
1921

2022
companion object {
2123
@JvmStatic
22-
fun fromValue(v: String): E2EVersion = entries.firstOrNull { it.value == v } ?: UNKNOWN
24+
fun fromValue(v: String?): E2EVersion = entries.find { v in it.values } ?: UNKNOWN
2325
}
2426
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
/*
2+
* Nextcloud Android Library
3+
*
4+
* SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
5+
* SPDX-License-Identifier: MIT
6+
*/
7+
package com.owncloud.android.lib.resources.status
8+
9+
import org.junit.Assert.assertEquals
10+
import org.junit.Test
11+
12+
class E2EVersionTests {
13+
@Test
14+
fun testFromValueWhenGiven1ShouldReturnTrue() {
15+
assertEquals(E2EVersion.V1_0, E2EVersion.fromValue("1"))
16+
}
17+
18+
@Test
19+
fun testFromValueWhenGiven1Dot0ShouldReturnTrue() {
20+
assertEquals(E2EVersion.V1_0, E2EVersion.fromValue("1.0"))
21+
}
22+
23+
@Test
24+
fun testFromValueWhenGiven1Dot1ShouldReturnTrue() {
25+
assertEquals(E2EVersion.V1_1, E2EVersion.fromValue("1.1"))
26+
}
27+
28+
@Test
29+
fun testFromValueWhenGiven1Dot2ShouldReturnTrue() {
30+
assertEquals(E2EVersion.V1_2, E2EVersion.fromValue("1.2"))
31+
}
32+
33+
@Test
34+
fun testFromValueWhenGiven2ShouldReturnTrue() {
35+
assertEquals(E2EVersion.V2_0, E2EVersion.fromValue("2"))
36+
}
37+
38+
@Test
39+
fun testFromValueWhenGiven2Dot0ShouldReturnTrue() {
40+
assertEquals(E2EVersion.V2_0, E2EVersion.fromValue("2.0"))
41+
}
42+
43+
@Test
44+
fun testFromValueWhenGiven2Dot1ShouldReturnTrue() {
45+
assertEquals(E2EVersion.V2_1, E2EVersion.fromValue("2.1"))
46+
}
47+
48+
@Test
49+
fun testFromValueWhenGivenEmptyShouldReturnTrue() {
50+
assertEquals(E2EVersion.UNKNOWN, E2EVersion.fromValue(""))
51+
}
52+
53+
@Test
54+
fun testFromValueWhenGivenUnknownShouldReturnTrue() {
55+
assertEquals(E2EVersion.UNKNOWN, E2EVersion.fromValue("3"))
56+
}
57+
58+
@Test
59+
fun testFromValueWhenGivenNullShouldReturnTrue() {
60+
assertEquals(E2EVersion.UNKNOWN, E2EVersion.fromValue(null))
61+
}
62+
63+
@Test
64+
fun testValues() {
65+
assertEquals(E2EVersion.V1_0.value, "1.0")
66+
assertEquals(E2EVersion.V1_1.value, "1.1")
67+
assertEquals(E2EVersion.V1_2.value, "1.2")
68+
assertEquals(E2EVersion.V2_0.value, "2.0")
69+
assertEquals(E2EVersion.V2_1.value, "2.1")
70+
assertEquals(E2EVersion.UNKNOWN.value, "")
71+
}
72+
}

0 commit comments

Comments
 (0)