Skip to content

Commit de827c5

Browse files
committed
try to fix flaky test
1 parent b5d4eef commit de827c5

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

android/src/test/java/com/segment/analytics/kotlin/android/AndroidContextCollectorTests.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ class AndroidContextCollectorTests {
109109
val contextCollector = AndroidContextPlugin()
110110
contextCollector.setup(analytics)
111111
val deviceId = contextCollector.getDeviceId(false)
112-
Analytics.segmentLog(deviceId, LogFilterKind.DEBUG)
113112
assertEquals(deviceId, "anonId")
114113
}
115114

android/src/test/java/com/segment/analytics/kotlin/android/StorageTests.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import java.util.*
2222
import kotlinx.serialization.encodeToString
2323
import kotlinx.serialization.json.*
2424
import org.junit.jupiter.api.Assertions.*
25+
import java.util.concurrent.ConcurrentHashMap
2526

2627
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
2728
class StorageTests {
@@ -317,7 +318,7 @@ class StorageTests {
317318
}
318319
}
319320

320-
fun getWorkingMap(sharedPreferences: SharedPreferences): HashMap<String, Any?> {
321+
fun getWorkingMap(sharedPreferences: SharedPreferences): ConcurrentHashMap<String, Any?> {
321322
return (sharedPreferences as MemorySharedPreferences).preferenceMap
322323
}
323324
}

android/src/test/java/com/segment/analytics/kotlin/android/utils/MockPreferences.kt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@ package com.segment.analytics.kotlin.android.utils
33
import android.content.SharedPreferences
44
import android.content.SharedPreferences.OnSharedPreferenceChangeListener
55
import androidx.annotation.Nullable
6+
import java.util.concurrent.ConcurrentHashMap
67

78
/**
89
* Mock implementation of shared preference, which just saves data in memory using map.
910
*/
1011
class MemorySharedPreferences : SharedPreferences {
11-
internal val preferenceMap: HashMap<String, Any?> = HashMap()
12+
internal val preferenceMap: ConcurrentHashMap<String, Any?> = ConcurrentHashMap()
1213
private val preferenceEditor: MockSharedPreferenceEditor
1314
override fun getAll(): Map<String, *> {
1415
return preferenceMap
@@ -74,18 +75,28 @@ class MemorySharedPreferences : SharedPreferences {
7475

7576
override fun registerOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener: OnSharedPreferenceChangeListener) {}
7677
override fun unregisterOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener: OnSharedPreferenceChangeListener) {}
77-
class MockSharedPreferenceEditor(private val preferenceMap: HashMap<String, Any?>) :
78+
class MockSharedPreferenceEditor(private val preferenceMap: ConcurrentHashMap<String, Any?>) :
7879
SharedPreferences.Editor {
7980
override fun putString(s: String, @Nullable s1: String?): SharedPreferences.Editor {
80-
preferenceMap[s] = s1
81+
if (s1 == null) {
82+
remove(s)
83+
}
84+
else {
85+
preferenceMap[s] = s1
86+
}
8187
return this
8288
}
8389

8490
override fun putStringSet(
8591
s: String,
8692
@Nullable set: Set<String>?
8793
): SharedPreferences.Editor {
88-
preferenceMap[s] = set
94+
if (set == null) {
95+
remove(s)
96+
}
97+
else {
98+
preferenceMap[s] = set
99+
}
89100
return this
90101
}
91102

0 commit comments

Comments
 (0)