1
+ package com.owncloud.android.lib
2
+
3
+ import com.owncloud.android.lib.common.http.CookieJarImpl
4
+ import junit.framework.Assert.assertEquals
5
+ import junit.framework.Assert.assertFalse
6
+ import junit.framework.Assert.assertTrue
7
+ import okhttp3.Cookie
8
+ import okhttp3.HttpUrl.Companion.toHttpUrl
9
+ import org.junit.Test
10
+
11
+ class CookieJarImplTest {
12
+
13
+ private val oldCookies = ArrayList <Cookie >().apply {
14
+ add(COOKIE_A )
15
+ add(COOKIE_B_OLD )
16
+ }
17
+
18
+ private val newCookies = ArrayList <Cookie >().apply {
19
+ add(COOKIE_B_NEW )
20
+ }
21
+
22
+ private val updatedCookies = ArrayList <Cookie >().apply {
23
+ add(COOKIE_A )
24
+ add(COOKIE_B_NEW )
25
+ }
26
+
27
+ private val cookieStore = HashMap <String , List <Cookie >>().apply {
28
+ put(SOME_HOST , oldCookies)
29
+ }
30
+
31
+ private val cookieJarImpl = CookieJarImpl (cookieStore)
32
+
33
+ @Test
34
+ fun testContainsCookieWithNameReturnsTrue () {
35
+ assertTrue(cookieJarImpl.containsCookieWithName(oldCookies, COOKIE_B_OLD .name))
36
+ }
37
+
38
+ @Test
39
+ fun testContainsCookieWithNameReturnsFalse () {
40
+ assertFalse(cookieJarImpl.containsCookieWithName(newCookies, COOKIE_A .name))
41
+ }
42
+
43
+ @Test
44
+ fun testGetUpdatedCookies () {
45
+ val generatedUpdatedCookies = cookieJarImpl.getUpdatedCookies(oldCookies, newCookies)
46
+ assertEquals(2 , generatedUpdatedCookies.size)
47
+ assertEquals(updatedCookies[0 ], generatedUpdatedCookies[1 ])
48
+ assertEquals(updatedCookies[1 ], generatedUpdatedCookies[0 ])
49
+ }
50
+
51
+ @Test
52
+ fun testCookieStoreUpdateViaSaveFromResponse () {
53
+ cookieJarImpl.saveFromResponse(SOME_URL , newCookies)
54
+ val generatedUpdatedCookies = cookieStore[SOME_HOST ]
55
+ assertEquals(2 , generatedUpdatedCookies?.size)
56
+ assertEquals(updatedCookies[0 ], generatedUpdatedCookies?.get(1 ))
57
+ assertEquals(updatedCookies[1 ], generatedUpdatedCookies?.get(0 ))
58
+ }
59
+
60
+ @Test
61
+ fun testLoadForRequest () {
62
+ val cookies = cookieJarImpl.loadForRequest(SOME_URL )
63
+ assertEquals(oldCookies[0 ], cookies[0 ])
64
+ assertEquals(oldCookies[1 ], cookies[1 ])
65
+ }
66
+
67
+ companion object {
68
+ const val SOME_HOST = " some.host.com"
69
+ val SOME_URL = " https://$SOME_HOST " .toHttpUrl()
70
+ val COOKIE_A = Cookie .parse(SOME_URL , " CookieA=CookieValueA" )!!
71
+ val COOKIE_B_OLD = Cookie .parse(SOME_URL , " CookieB=CookieOldValueB" )!!
72
+ val COOKIE_B_NEW = Cookie .parse(SOME_URL , " CookieB=CookieNewValueB" )!!
73
+ }
74
+ }
0 commit comments