13
13
// limitations under the License.
14
14
15
15
package com.optimizely.ab.android.odp
16
-
16
+ import com.optimizely.ab.android.shared.OptlyStorage
17
17
import android.content.Context
18
18
import android.content.SharedPreferences
19
19
import androidx.test.ext.junit.runners.AndroidJUnit4
20
20
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
21
21
import org.junit.After
22
22
import org.junit.Assert.assertEquals
23
+ import org.junit.Assert.assertNull
23
24
import org.junit.Assert.assertFalse
24
25
import org.junit.Assert.assertNotEquals
25
26
import org.junit.Assert.assertTrue
@@ -37,10 +38,8 @@ class VuidManagerTest {
37
38
fun setUp () {
38
39
// remove vuid storage
39
40
cleanSharedPrefs()
40
- // remove a singleton instance
41
- VuidManager .removeSharedForTesting()
42
41
43
- vuidManager = VuidManager .getShared (context)
42
+ vuidManager = VuidManager (context, true )
44
43
}
45
44
46
45
@After
@@ -89,36 +88,31 @@ class VuidManagerTest {
89
88
}
90
89
91
90
@Test
92
- fun autoLoaded () {
93
- val vuidManager1 = VuidManager (context, true )
94
- val vuid1 = vuidManager1.vuid
95
- assertTrue(" vuid should be auto loaded when constructed" , vuid1.startsWith(" vuid_" ))
96
- val savedVuid = vuidManager1.load(context)
97
- assertEquals(" Vuid should be same" , vuid1, savedVuid)
91
+ fun autoLoadedWhenVuidEnable () {
92
+ // Save vuid for context
93
+ val storage = OptlyStorage (context)
94
+ storage.saveString(" vuid" , " vuid_123" )
98
95
99
- val vuidManager2 = VuidManager (context, false )
100
- val vuid2 = vuidManager2.vuid
101
- assertTrue(vuid2 == " " )
102
- assertFalse(" vuid should be auto loaded when constructed" , vuid2.startsWith(" vuid_" ))
96
+ val vuidManager = VuidManager (context, true )
97
+ val vuid = vuidManager.getVuid()
98
+ assertTrue(" vuid should be auto loaded when constructed" , vuid!! .startsWith(" vuid_" ))
99
+ assertEquals(" Vuid should be same" , vuid, " vuid_123" )
100
+ }
103
101
102
+ @Test
103
+ fun autoRemoveWhenVuidDisable () {
104
+ val vuidManager1 = VuidManager (context, true )
105
+ val vuid1 = vuidManager1.getVuid()
106
+ assertTrue(" Vuid is created succesfully" , vuid1!! .startsWith(" vuid_" ))
107
+ val storage = OptlyStorage (context)
108
+ val cachedVuid = storage.getString(" vuid" , null )
109
+ assertEquals(" Vuid should be same" , vuid1, cachedVuid)
104
110
111
+ // / Remove previous vuid when disable
112
+ val vuidManager2 = VuidManager (context, false )
113
+ assertNull(vuidManager2.getVuid());
114
+ val cachedVuid2 = storage.getString(" vuid" , null )
115
+ assertNull(cachedVuid2);
105
116
106
- // val vuid2 = VuidManager.getShared(context).vuid
107
- // assertEquals("the same vuid should be returned when getting a singleton", vuid1, vuid2)
108
- //
109
- // // remove shared instance, so will be re-instantiated
110
- // VuidManager.removeSharedForTesting()
111
- //
112
- // val vuid3 = VuidManager.getShared(context).vuid
113
- // assertEquals("the saved vuid should be returned when instantiated again", vuid2, vuid3)
114
- //
115
- // // remove saved vuid
116
- // cleanSharedPrefs()
117
- // // remove shared instance, so will be re-instantiated
118
- // VuidManager.removeSharedForTesting()
119
- //
120
- // val vuid4 = VuidManager.getShared(context).vuid
121
- // assertNotEquals("a new vuid should be returned when storage cleared and re-instantiated", vuid3, vuid4)
122
- // assertTrue(vuid4.startsWith("vuid_"))
123
117
}
124
118
}
0 commit comments