1313// limitations under the License.
1414
1515package com.optimizely.ab.android.odp
16-
16+ import com.optimizely.ab.android.shared.OptlyStorage
1717import android.content.Context
1818import android.content.SharedPreferences
1919import androidx.test.ext.junit.runners.AndroidJUnit4
2020import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
2121import org.junit.After
2222import org.junit.Assert.assertEquals
23+ import org.junit.Assert.assertNull
2324import org.junit.Assert.assertFalse
2425import org.junit.Assert.assertNotEquals
2526import org.junit.Assert.assertTrue
@@ -37,10 +38,8 @@ class VuidManagerTest {
3738 fun setUp () {
3839 // remove vuid storage
3940 cleanSharedPrefs()
40- // remove a singleton instance
41- VuidManager .removeSharedForTesting()
4241
43- vuidManager = VuidManager .getShared (context)
42+ vuidManager = VuidManager (context, true )
4443 }
4544
4645 @After
@@ -89,36 +88,31 @@ class VuidManagerTest {
8988 }
9089
9190 @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" )
9895
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+ }
103101
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)
104110
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);
105116
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_"))
123117 }
124118}
0 commit comments