Skip to content

Commit 3f5d115

Browse files
committed
[ECO-5076] Fixed integration test fixtures in accordance with ObjectValue
union type
1 parent e931f6c commit 3f5d115

3 files changed

Lines changed: 29 additions & 29 deletions

File tree

live-objects/src/test/kotlin/io/ably/lib/objects/integration/DefaultLiveMapTest.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,9 @@ class DefaultLiveMapTest: IntegrationTest() {
108108
val testMapObjectId = restObjects.createMap(
109109
channelName,
110110
data = mapOf(
111-
"name" to ObjectData(value = ObjectValue("Alice")),
112-
"age" to ObjectData(value = ObjectValue(30)),
113-
"isActive" to ObjectData(value = ObjectValue(true))
111+
"name" to ObjectData(value = ObjectValue.String("Alice")),
112+
"age" to ObjectData(value = ObjectValue.Number(30)),
113+
"isActive" to ObjectData(value = ObjectValue.Boolean(true))
114114
)
115115
)
116116
restObjects.setMapRef(channelName, "root", "testMap", testMapObjectId)
@@ -127,7 +127,7 @@ class DefaultLiveMapTest: IntegrationTest() {
127127
assertEquals(true, testMap.get("isActive"), "Initial active status should be true")
128128

129129
// Step 2: Update an existing field (name from "Alice" to "Bob")
130-
restObjects.setMapValue(channelName, testMapObjectId, "name", ObjectValue("Bob"))
130+
restObjects.setMapValue(channelName, testMapObjectId, "name", ObjectValue.String("Bob"))
131131
// Wait for the map to be updated
132132
assertWaiter { testMap.get("name") == "Bob" }
133133

@@ -138,7 +138,7 @@ class DefaultLiveMapTest: IntegrationTest() {
138138
assertEquals(true, testMap.get("isActive"), "Active status should remain unchanged")
139139

140140
// Step 3: Add a new field (email)
141-
restObjects.setMapValue(channelName, testMapObjectId, "email", ObjectValue("bob@example.com"))
141+
restObjects.setMapValue(channelName, testMapObjectId, "email", ObjectValue.String("bob@example.com"))
142142
// Wait for the map to be updated
143143
assertWaiter { testMap.get("email") == "bob@example.com" }
144144

@@ -150,7 +150,7 @@ class DefaultLiveMapTest: IntegrationTest() {
150150
assertEquals("bob@example.com", testMap.get("email"), "Email should be added successfully")
151151

152152
// Step 4: Add another new field with different data type (score as number)
153-
restObjects.setMapValue(channelName, testMapObjectId, "score", ObjectValue(85))
153+
restObjects.setMapValue(channelName, testMapObjectId, "score", ObjectValue.Number(85))
154154
// Wait for the map to be updated
155155
assertWaiter { testMap.get("score") == 85.0 }
156156

@@ -163,7 +163,7 @@ class DefaultLiveMapTest: IntegrationTest() {
163163
assertEquals(85.0, testMap.get("score"), "Score should be added as numeric value")
164164

165165
// Step 5: Update the boolean field
166-
restObjects.setMapValue(channelName, testMapObjectId, "isActive", ObjectValue(false))
166+
restObjects.setMapValue(channelName, testMapObjectId, "isActive", ObjectValue.Boolean(false))
167167
// Wait for the map to be updated
168168
assertWaiter { testMap.get("isActive") == false }
169169

live-objects/src/test/kotlin/io/ably/lib/objects/integration/helpers/fixtures/DataFixtures.kt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,42 +9,42 @@ import io.ably.lib.objects.ObjectValue
99
internal object DataFixtures {
1010

1111
/** Test fixture for string value ("stringValue") data type */
12-
internal val stringData = ObjectData(value = ObjectValue("stringValue"))
12+
internal val stringData = ObjectData(value = ObjectValue.String("stringValue"))
1313

1414
/** Test fixture for empty string data type */
15-
internal val emptyStringData = ObjectData(value = ObjectValue(""))
15+
internal val emptyStringData = ObjectData(value = ObjectValue.String(""))
1616

1717
/** Test fixture for binary data containing encoded JSON */
1818
internal val bytesData = ObjectData(
19-
value = ObjectValue(Binary("eyJwcm9kdWN0SWQiOiAiMDAxIiwgInByb2R1Y3ROYW1lIjogImNhciJ9".toByteArray())))
19+
value = ObjectValue.Binary(Binary("eyJwcm9kdWN0SWQiOiAiMDAxIiwgInByb2R1Y3ROYW1lIjogImNhciJ9".toByteArray())))
2020

2121
/** Test fixture for empty binary data (zero-length byte array) */
22-
internal val emptyBytesData = ObjectData(value = ObjectValue(Binary(ByteArray(0))))
22+
internal val emptyBytesData = ObjectData(value = ObjectValue.Binary(Binary(ByteArray(0))))
2323

2424
/** Test fixture for maximum safe number value */
25-
internal val maxSafeNumberData = ObjectData(value = ObjectValue(99999999.0))
25+
internal val maxSafeNumberData = ObjectData(value = ObjectValue.Number(99999999.0))
2626

2727
/** Test fixture for minimum safe number value */
28-
internal val negativeMaxSafeNumberData = ObjectData(value = ObjectValue(-99999999.0))
28+
internal val negativeMaxSafeNumberData = ObjectData(value = ObjectValue.Number(-99999999.0))
2929

3030
/** Test fixture for positive number value (1) */
31-
internal val numberData = ObjectData(value = ObjectValue(1.0))
31+
internal val numberData = ObjectData(value = ObjectValue.Number(1.0))
3232

3333
/** Test fixture for zero number value */
34-
internal val zeroData = ObjectData(value = ObjectValue(0.0))
34+
internal val zeroData = ObjectData(value = ObjectValue.Number(0.0))
3535

3636
/** Test fixture for boolean true value */
37-
internal val trueData = ObjectData(value = ObjectValue(true))
37+
internal val trueData = ObjectData(value = ObjectValue.Boolean(true))
3838

3939
/** Test fixture for boolean false value */
40-
internal val falseData = ObjectData(value = ObjectValue(false))
40+
internal val falseData = ObjectData(value = ObjectValue.Boolean(false))
4141

4242
/** Test fixture for JSON object value with single property */
43-
internal val objectData = ObjectData(value = ObjectValue(JsonObject().apply { addProperty("foo", "bar")}))
43+
internal val objectData = ObjectData(value = ObjectValue.JsonObject(JsonObject().apply { addProperty("foo", "bar")}))
4444

4545
/** Test fixture for JSON array value with three string elements */
4646
internal val arrayData = ObjectData(
47-
value = ObjectValue(JsonArray().apply {
47+
value = ObjectValue.JsonArray(JsonArray().apply {
4848
add("foo")
4949
add("bar")
5050
add("baz")

live-objects/src/test/kotlin/io/ably/lib/objects/integration/helpers/fixtures/MapFixtures.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,10 @@ internal fun RestObjects.createUserMapObject(channelName: String): String {
115115
val preferencesMapObjectId = createMap(
116116
channelName,
117117
data = mapOf(
118-
"theme" to ObjectData(value = ObjectValue("dark")),
119-
"notifications" to ObjectData(value = ObjectValue(true)),
120-
"language" to ObjectData(value = ObjectValue("en")),
121-
"maxRetries" to ObjectData(value = ObjectValue(3))
118+
"theme" to ObjectData(value = ObjectValue.String("dark")),
119+
"notifications" to ObjectData(value = ObjectValue.Boolean(true)),
120+
"language" to ObjectData(value = ObjectValue.String("en")),
121+
"maxRetries" to ObjectData(value = ObjectValue.Number(3))
122122
)
123123
)
124124

@@ -128,19 +128,19 @@ internal fun RestObjects.createUserMapObject(channelName: String): String {
128128
data = mapOf(
129129
"totalLogins" to DataFixtures.mapRef(loginCounterObjectId),
130130
"activeSessions" to DataFixtures.mapRef(sessionCounterObjectId),
131-
"lastLoginTime" to ObjectData(value = ObjectValue("2024-01-01T08:30:00Z")),
132-
"profileViews" to ObjectData(value = ObjectValue(42))
131+
"lastLoginTime" to ObjectData(value = ObjectValue.String("2024-01-01T08:30:00Z")),
132+
"profileViews" to ObjectData(value = ObjectValue.Number(42))
133133
)
134134
)
135135

136136
// Create a user profile map with mixed data types and references
137137
val userProfileMapObjectId = createMap(
138138
channelName,
139139
data = mapOf(
140-
"userId" to ObjectData(value = ObjectValue("user123")),
141-
"name" to ObjectData(value = ObjectValue("John Doe")),
142-
"email" to ObjectData(value = ObjectValue("john@example.com")),
143-
"isActive" to ObjectData(value = ObjectValue(true)),
140+
"userId" to ObjectData(value = ObjectValue.String("user123")),
141+
"name" to ObjectData(value = ObjectValue.String("John Doe")),
142+
"email" to ObjectData(value = ObjectValue.String("john@example.com")),
143+
"isActive" to ObjectData(value = ObjectValue.Boolean(true)),
144144
"metrics" to DataFixtures.mapRef(metricsMapObjectId),
145145
"preferences" to DataFixtures.mapRef(preferencesMapObjectId)
146146
)

0 commit comments

Comments
 (0)