Skip to content

Commit b29897e

Browse files
authored
add middlewareSettings to Settings data object (#92)
1 parent a9d3780 commit b29897e

File tree

5 files changed

+56
-18
lines changed

5 files changed

+56
-18
lines changed

core/src/main/java/com/segment/analytics/kotlin/core/Settings.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ data class Settings(
2222
var integrations: JsonObject = emptyJsonObject,
2323
var plan: JsonObject = emptyJsonObject,
2424
var edgeFunction: JsonObject = emptyJsonObject,
25+
var middlewareSettings: JsonObject = emptyJsonObject,
2526
) {
2627
inline fun <reified T : Any> destinationSettings(
2728
name: String,

core/src/test/kotlin/com/segment/analytics/kotlin/core/AnalyticsTests.kt

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,33 @@ package com.segment.analytics.kotlin.core
33
import com.segment.analytics.kotlin.core.platform.DestinationPlugin
44
import com.segment.analytics.kotlin.core.platform.Plugin
55
import com.segment.analytics.kotlin.core.platform.plugins.ContextPlugin
6-
import com.segment.analytics.kotlin.core.utils.*
7-
import io.mockk.*
8-
import kotlinx.coroutines.test.UnconfinedTestDispatcher
6+
import com.segment.analytics.kotlin.core.utils.StubPlugin
7+
import com.segment.analytics.kotlin.core.utils.TestRunPlugin
8+
import com.segment.analytics.kotlin.core.utils.clearPersistentStorage
9+
import com.segment.analytics.kotlin.core.utils.mockHTTPClient
10+
import com.segment.analytics.kotlin.core.utils.testAnalytics
11+
import io.mockk.coEvery
12+
import io.mockk.every
13+
import io.mockk.mockk
14+
import io.mockk.mockkStatic
15+
import io.mockk.slot
16+
import io.mockk.spyk
17+
import io.mockk.verify
918
import kotlinx.coroutines.test.TestScope
19+
import kotlinx.coroutines.test.UnconfinedTestDispatcher
1020
import kotlinx.coroutines.test.runTest
1121
import kotlinx.serialization.json.buildJsonObject
1222
import kotlinx.serialization.json.put
1323
import org.junit.jupiter.api.Assertions
24+
import org.junit.jupiter.api.Assertions.assertDoesNotThrow
1425
import org.junit.jupiter.api.Assertions.assertEquals
1526
import org.junit.jupiter.api.Assertions.assertTrue
1627
import org.junit.jupiter.api.BeforeEach
28+
import org.junit.jupiter.api.Disabled
1729
import org.junit.jupiter.api.Nested
1830
import org.junit.jupiter.api.Test
1931
import org.junit.jupiter.api.TestInstance
20-
import org.junit.jupiter.api.*
21-
import org.junit.jupiter.api.Assertions.*
32+
import org.junit.jupiter.api.assertThrows
2233
import java.io.ByteArrayInputStream
2334
import java.net.HttpURLConnection
2435
import java.time.Instant
@@ -469,7 +480,8 @@ class AnalyticsTests {
469480
put("int2", false)
470481
},
471482
plan = emptyJsonObject,
472-
edgeFunction = emptyJsonObject
483+
edgeFunction = emptyJsonObject,
484+
middlewareSettings = emptyJsonObject
473485
)
474486
analytics.store.dispatch(System.UpdateSettingsAction(settings), System::class)
475487
assertEquals(settings, analytics.settings())

core/src/test/kotlin/com/segment/analytics/kotlin/core/SettingsTests.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import com.segment.analytics.kotlin.core.utils.mockHTTPClient
77
import com.segment.analytics.kotlin.core.utils.testAnalytics
88
import io.mockk.spyk
99
import io.mockk.verify
10-
import kotlinx.coroutines.test.UnconfinedTestDispatcher
1110
import kotlinx.coroutines.test.TestScope
11+
import kotlinx.coroutines.test.UnconfinedTestDispatcher
1212
import kotlinx.coroutines.test.runTest
1313
import kotlinx.serialization.Serializable
1414
import kotlinx.serialization.json.buildJsonObject
@@ -54,7 +54,8 @@ class SettingsTests {
5454
buildJsonObject { put("apiKey", "1vNgUqwJeCHmqgI9S1sOm9UHCyfYqbaQ") })
5555
},
5656
plan = emptyJsonObject,
57-
edgeFunction = emptyJsonObject
57+
edgeFunction = emptyJsonObject,
58+
middlewareSettings = emptyJsonObject
5859
),
5960
curSettings
6061
)
@@ -78,7 +79,8 @@ class SettingsTests {
7879
})
7980
},
8081
plan = emptyJsonObject,
81-
edgeFunction = emptyJsonObject
82+
edgeFunction = emptyJsonObject,
83+
middlewareSettings = emptyJsonObject
8284
),
8385
Plugin.UpdateType.Initial
8486
)

core/src/test/kotlin/com/segment/analytics/kotlin/core/compat/JavaAnalyticsTest.kt

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,38 @@
11
package com.segment.analytics.kotlin.core.compat
22

3-
import com.segment.analytics.kotlin.core.*
3+
import com.segment.analytics.kotlin.core.AliasEvent
4+
import com.segment.analytics.kotlin.core.Analytics
5+
import com.segment.analytics.kotlin.core.BaseEvent
6+
import com.segment.analytics.kotlin.core.Constants
7+
import com.segment.analytics.kotlin.core.GroupEvent
8+
import com.segment.analytics.kotlin.core.IdentifyEvent
9+
import com.segment.analytics.kotlin.core.ScreenEvent
10+
import com.segment.analytics.kotlin.core.Settings
11+
import com.segment.analytics.kotlin.core.System
12+
import com.segment.analytics.kotlin.core.TrackEvent
13+
import com.segment.analytics.kotlin.core.emptyJsonObject
414
import com.segment.analytics.kotlin.core.platform.DestinationPlugin
515
import com.segment.analytics.kotlin.core.platform.Plugin
616
import com.segment.analytics.kotlin.core.platform.plugins.ContextPlugin
7-
import com.segment.analytics.kotlin.core.utils.*
8-
import io.mockk.*
9-
import kotlinx.coroutines.test.UnconfinedTestDispatcher
17+
import com.segment.analytics.kotlin.core.utils.StubPlugin
18+
import com.segment.analytics.kotlin.core.utils.TestRunPlugin
19+
import com.segment.analytics.kotlin.core.utils.mockHTTPClient
20+
import com.segment.analytics.kotlin.core.utils.testAnalytics
21+
import io.mockk.CapturingSlot
22+
import io.mockk.every
23+
import io.mockk.mockkStatic
24+
import io.mockk.slot
25+
import io.mockk.spyk
26+
import io.mockk.verify
1027
import kotlinx.coroutines.test.TestScope
28+
import kotlinx.coroutines.test.UnconfinedTestDispatcher
1129
import kotlinx.coroutines.test.runTest
1230
import kotlinx.serialization.json.JsonObject
1331
import kotlinx.serialization.json.buildJsonObject
1432
import kotlinx.serialization.json.put
15-
import org.junit.jupiter.api.Assertions.*
33+
import org.junit.jupiter.api.Assertions.assertEquals
34+
import org.junit.jupiter.api.Assertions.assertNotNull
35+
import org.junit.jupiter.api.Assertions.fail
1636
import org.junit.jupiter.api.BeforeEach
1737
import org.junit.jupiter.api.Nested
1838
import org.junit.jupiter.api.Test
@@ -458,7 +478,8 @@ internal class JavaAnalyticsTest {
458478
put("int2", false)
459479
},
460480
plan = emptyJsonObject,
461-
edgeFunction = emptyJsonObject
481+
edgeFunction = emptyJsonObject,
482+
middlewareSettings = emptyJsonObject
462483
)
463484
analytics.store.dispatch(System.UpdateSettingsAction(settings), System::class)
464485
assertEquals(settings, analytics.settings())

core/src/test/kotlin/com/segment/analytics/kotlin/core/utilities/StorageImplTest.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import com.segment.analytics.kotlin.core.UserInfo
99
import com.segment.analytics.kotlin.core.emptyJsonObject
1010
import com.segment.analytics.kotlin.core.utils.clearPersistentStorage
1111
import com.segment.analytics.kotlin.core.utils.spyStore
12-
import kotlinx.coroutines.test.UnconfinedTestDispatcher
1312
import kotlinx.coroutines.test.TestScope
13+
import kotlinx.coroutines.test.UnconfinedTestDispatcher
1414
import kotlinx.coroutines.test.runTest
1515
import kotlinx.serialization.decodeFromString
1616
import kotlinx.serialization.encodeToString
@@ -108,7 +108,8 @@ internal class StorageImplTest {
108108
})
109109
},
110110
plan = emptyJsonObject,
111-
edgeFunction = emptyJsonObject
111+
edgeFunction = emptyJsonObject,
112+
middlewareSettings = emptyJsonObject
112113
),
113114
running = false,
114115
initialSettingsDispatched = false
@@ -126,7 +127,8 @@ internal class StorageImplTest {
126127
buildJsonObject { put("apiKey", "1vNgUqwJeCHmqgI9S1sOm9UHCyfYqbaQ") })
127128
},
128129
plan = emptyJsonObject,
129-
edgeFunction = emptyJsonObject
130+
edgeFunction = emptyJsonObject,
131+
middlewareSettings = emptyJsonObject
130132
), Json.decodeFromString(Settings.serializer(), settings)
131133
)
132134
}

0 commit comments

Comments
 (0)