Skip to content

Commit 94910e2

Browse files
[WIP] Update test cases
1 parent b89e594 commit 94910e2

6 files changed

+45
-40
lines changed

Tests/OptimizelyTests-APIs/OptimizelyClientTests_ODP.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class OptimizelyClientTests_ODP: XCTestCase {
6666
// MARK: - sendOdpEvent
6767

6868
func testSendOdpEvent_success() {
69-
let odpManager = MockOdpManager(sdkKey: "any", disable: false, enableVuid: true, cacheSize: 12, cacheTimeoutInSecs: 123)
69+
let odpManager = MockOdpManager(sdkKey: "any", disable: false, cacheSize: 12, cacheTimeoutInSecs: 123)
7070
optimizely.odpManager = odpManager
7171

7272
try? optimizely.sendOdpEvent(type: "t1", action: "a1", identifiers: ["k1": "v1"], data: ["k21": "v2", "k22": true, "k23": 3.5, "k24": nil])
@@ -92,7 +92,7 @@ class OptimizelyClientTests_ODP: XCTestCase {
9292

9393
func testSendOdpEvent_customClientNameAndVersion() {
9494
let odpEventManager = MockOdpEventManager(sdkKey: "any")
95-
let odpManager = OdpManager(sdkKey: "any", disable: false, enableVuid: true, cacheSize: 12, cacheTimeoutInSecs: 123, eventManager: odpEventManager)
95+
let odpManager = OdpManager(sdkKey: "any", disable: false, cacheSize: 12, cacheTimeoutInSecs: 123, eventManager: odpEventManager)
9696

9797
let datafile = OTUtils.loadJSONDatafile("decide_audience_segments")!
9898
let tmpOptimizely = OptimizelyClient(sdkKey: OTUtils.randomSdkKey, odpManager: odpManager, settings: OptimizelySdkSettings(sdkName: "flutter-sdk", sdkVersion: "1234"))
@@ -203,7 +203,7 @@ class OptimizelyClientTests_ODP: XCTestCase {
203203
// MARK: - OdpConfig Update
204204

205205
func testUpdateOpdConfigCalled_wheneverProjectConfigUpdated_initialOrPolling() {
206-
let odpManager = MockOdpManager(sdkKey: "any", disable: false, enableVuid: true, cacheSize: 12, cacheTimeoutInSecs: 123)
206+
let odpManager = MockOdpManager(sdkKey: "any", disable: false, cacheSize: 12, cacheTimeoutInSecs: 123)
207207
optimizely.odpManager = odpManager
208208

209209
XCTAssertNil(odpManager.apiKey)

Tests/OptimizelyTests-Common/OdpManagerTests.swift

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,18 @@ class OdpManagerTests: XCTestCase {
2323
var segmentManager: MockOdpSegmentManager!
2424
var eventManager: MockOdpEventManager!
2525
var manager: OdpManager!
26-
2726
override func setUp() {
2827
OTUtils.clearAllEventQueues()
2928
segmentManager = MockOdpSegmentManager(cacheSize: cacheSize,
3029
cacheTimeoutInSecs: cacheTimeout)
3130
eventManager = MockOdpEventManager(sdkKey: sdkKey)
3231
manager = OdpManager(sdkKey: sdkKey,
3332
disable: false,
34-
enableVuid: true,
3533
cacheSize: cacheSize,
3634
cacheTimeoutInSecs: cacheTimeout,
3735
segmentManager: segmentManager,
3836
eventManager: eventManager)
37+
manager.vuid = nil
3938
}
4039

4140
override func tearDown() {
@@ -47,7 +46,7 @@ class OdpManagerTests: XCTestCase {
4746
func testConfigurations_cache() {
4847
let manager = OdpManager(sdkKey: sdkKey,
4948
disable: false,
50-
enableVuid: true,
49+
5150
cacheSize: cacheSize,
5251
cacheTimeoutInSecs: cacheTimeout)
5352
XCTAssertEqual(manager.segmentManager?.segmentsCache.maxSize, cacheSize)
@@ -59,10 +58,8 @@ class OdpManagerTests: XCTestCase {
5958
func testConfigurations_disableOdp() {
6059
let manager = OdpManager(sdkKey: sdkKey,
6160
disable: true,
62-
enableVuid: true,
6361
cacheSize: cacheSize,
6462
cacheTimeoutInSecs: cacheTimeout)
65-
XCTAssertTrue(manager.vuid.starts(with: "vuid_"), "vuid should be serverved even when ODP is disabled.")
6663

6764
let sem = DispatchSemaphore(value: 0)
6865
manager.fetchQualifiedSegments(userId: "user1", options: []) { segments, error in
@@ -76,8 +73,8 @@ class OdpManagerTests: XCTestCase {
7673
XCTAssertNil(manager.odpConfig)
7774

7875
// these calls should be dropped gracefully with nil
79-
80-
manager.identifyUser(userId: "user1")
76+
let vuid = "vuid_123"
77+
manager.identifyUser(userId: "user1", vuid: vuid)
8178
try? manager.sendEvent(type: "t1", action: "a1", identifiers: [:], data: [:])
8279

8380
XCTAssertNil(manager.eventManager)
@@ -102,18 +99,12 @@ class OdpManagerTests: XCTestCase {
10299
XCTAssertEqual(segmentManager.receivedOptions, [])
103100
}
104101

105-
// MARK: - registerVuid
106-
107-
func testRegisterVUIDCalledAutomatically() {
108-
XCTAssertEqual(eventManager.receivedRegisterVuid, manager.vuid, "registerVUID is implicitly called on OdpManager init")
109-
}
110102

111103
func testRegisterVUIDDoesNotCallAutomatically_vuidDisabled() {
112104
let newEventManager = MockOdpEventManager(sdkKey: sdkKey)
113105

114106
_ = OdpManager(sdkKey: sdkKey,
115107
disable: false,
116-
enableVuid: false,
117108
cacheSize: cacheSize,
118109
cacheTimeoutInSecs: cacheTimeout,
119110
segmentManager: segmentManager,
@@ -127,7 +118,6 @@ class OdpManagerTests: XCTestCase {
127118

128119
_ = OdpManager(sdkKey: sdkKey,
129120
disable: true,
130-
enableVuid: true,
131121
cacheSize: cacheSize,
132122
cacheTimeoutInSecs: cacheTimeout,
133123
segmentManager: segmentManager,
@@ -139,14 +129,17 @@ class OdpManagerTests: XCTestCase {
139129
// MARK: - identifyUser
140130

141131
func testIdentifyUser_datafileNotReady() {
142-
manager.identifyUser(userId: "user-1")
132+
let vuid = "vuid_123"
133+
manager.identifyUser(userId: "user-1", vuid: vuid)
143134

144135
XCTAssertEqual(eventManager.receivedIdentifyUserId, "user-1")
145136
}
146137

147138
func testIdentifyUser_odpIntegrated() {
139+
let vuid = "vuid_123"
140+
manager.vuid = vuid
148141
manager.updateOdpConfig(apiKey: "key-1", apiHost: "host-1", segmentsToCheck: [])
149-
manager.identifyUser(userId: "user-1")
142+
manager.identifyUser(userId: "user-1", vuid: "vuid_123")
150143

151144
XCTAssert(OdpVuidManager.isVuid(eventManager.receivedIdentifyVuid))
152145
XCTAssertEqual(eventManager.receivedIdentifyUserId, "user-1")
@@ -156,34 +149,37 @@ class OdpManagerTests: XCTestCase {
156149
manager.updateOdpConfig(apiKey: "key-1", apiHost: "host-1", segmentsToCheck: [])
157150

158151
let vuidAsUserId = OdpVuidManager.newVuid
159-
manager.identifyUser(userId: vuidAsUserId)
152+
manager.identifyUser(userId: vuidAsUserId, vuid: "")
160153

161154
XCTAssertEqual(eventManager.receivedIdentifyVuid, vuidAsUserId)
162155
XCTAssertNil(eventManager.receivedIdentifyUserId)
163156
}
164157

165158
func testIdentifyUser_odpNotIntegrated() {
166159
manager.updateOdpConfig(apiKey: nil, apiHost: nil, segmentsToCheck: [])
167-
manager.identifyUser(userId: "user-1")
160+
manager.identifyUser(userId: "user-1", vuid: "")
168161

169162
XCTAssertNil(eventManager.receivedIdentifyUserId, "identifyUser event requeut should be discarded if ODP not integrated.")
170163
}
171164

172165
func testIdentifyUser_odpDisabled() {
173166
manager.enabled = false
174-
manager.identifyUser(userId: "user-1")
167+
manager.identifyUser(userId: "user-1", vuid: "")
175168

176169
XCTAssertNil(eventManager.receivedIdentifyUserId, "identifyUser event requeut should be discarded if ODP disabled.")
177170
}
178171

179172
// MARK: - sendEvent
180173

181174
func testSendEvent_datafileNotReady() {
175+
let vuid = "vuid_123"
176+
manager.vuid = vuid
177+
182178
try? manager.sendEvent(type: "t1", action: "a1", identifiers: ["id-key1": "id-val-1"], data: ["key1" : "val1"])
183179

184180
XCTAssertEqual(eventManager.receivedType, "t1")
185181
XCTAssertEqual(eventManager.receivedAction, "a1")
186-
XCTAssertEqual(eventManager.receivedIdentifiers, ["vuid": manager.vuid,"id-key1": "id-val-1"])
182+
XCTAssertEqual(eventManager.receivedIdentifiers, ["vuid": "vuid_123","id-key1": "id-val-1"])
187183
XCTAssert(eventManager.receivedData.count == 1)
188184
XCTAssert((eventManager.receivedData["key1"] as! String) == "val1")
189185

@@ -235,20 +231,23 @@ class OdpManagerTests: XCTestCase {
235231
}
236232

237233
func testSendEvent_aliasIdentifiers() {
234+
let vuid = "vuid_123"
235+
manager.vuid = vuid
236+
238237
try? manager.sendEvent(type: nil, action: "a1", identifiers: ["fs_user_id": "v1"], data: [:])
239-
XCTAssertEqual(eventManager.receivedIdentifiers, ["fs_user_id": "v1", "vuid": manager.vuid])
238+
XCTAssertEqual(eventManager.receivedIdentifiers, ["fs_user_id": "v1", "vuid": vuid])
240239

241240
try? manager.sendEvent(type: nil, action: "a1", identifiers: ["fs-user-id": "v1"], data: [:])
242-
XCTAssertEqual(eventManager.receivedIdentifiers, ["fs_user_id": "v1", "vuid": manager.vuid])
241+
XCTAssertEqual(eventManager.receivedIdentifiers, ["fs_user_id": "v1", "vuid": vuid])
243242

244243
try? manager.sendEvent(type: nil, action: "a1", identifiers: ["FS_USER_ID": "v1"], data: [:])
245-
XCTAssertEqual(eventManager.receivedIdentifiers, ["fs_user_id": "v1", "vuid": manager.vuid])
244+
XCTAssertEqual(eventManager.receivedIdentifiers, ["fs_user_id": "v1", "vuid": vuid])
246245

247246
try? manager.sendEvent(type: nil, action: "a1", identifiers: ["FS-USER-ID": "v1"], data: [:])
248-
XCTAssertEqual(eventManager.receivedIdentifiers, ["fs_user_id": "v1", "vuid": manager.vuid])
247+
XCTAssertEqual(eventManager.receivedIdentifiers, ["fs_user_id": "v1", "vuid": vuid])
249248

250249
try? manager.sendEvent(type: nil, action: "a1", identifiers: ["email": "e1", "FS-USER-ID": "v1"], data: [:])
251-
XCTAssertEqual(eventManager.receivedIdentifiers, ["email": "e1", "fs_user_id": "v1", "vuid": manager.vuid])
250+
XCTAssertEqual(eventManager.receivedIdentifiers, ["email": "e1", "fs_user_id": "v1", "vuid": vuid])
252251
}
253252

254253
// MARK: - updateConfig
@@ -338,7 +337,6 @@ class OdpManagerTests: XCTestCase {
338337
func testUpdateOdpConfig_odpConfigPropagatedProperly() {
339338
let manager = OdpManager(sdkKey: sdkKey,
340339
disable: false,
341-
enableVuid: true,
342340
cacheSize: cacheSize,
343341
cacheTimeoutInSecs: cacheTimeout)
344342

@@ -371,11 +369,6 @@ class OdpManagerTests: XCTestCase {
371369
XCTAssertEqual(eventManager.flushApiKeys.count, 1, "flush called when app goes to background")
372370
}
373371

374-
// MARK: - vuid
375-
376-
func testVuid() {
377-
XCTAssertEqual(manager.vuid, manager.vuidManager.vuid)
378-
}
379372

380373
// MARK: - Helpers
381374

Tests/OptimizelyTests-Common/OdpVuidManagerTests.swift

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,17 @@ class OdpVuidManagerTests: XCTestCase {
5252

5353
XCTAssertTrue(vuid1 != vuid3)
5454
}
55+
56+
func testRemoveOldVuid() {
57+
manager = OdpVuidManager(enabled: true)
58+
let cahcedVuid1 = UserDefaults.standard.string(forKey: "optimizely-vuid")
59+
XCTAssertNotNil(cahcedVuid1)
60+
XCTAssertTrue(cahcedVuid1 == manager.vuid)
61+
62+
_ = OdpVuidManager(enabled: false)
63+
let cahcedVuid2 = UserDefaults.standard.string(forKey: "optimizely-vuid")
64+
XCTAssertNil(cahcedVuid2)
65+
66+
}
67+
5568
}

Tests/OptimizelyTests-Common/OptimizelyUserContextTests_ODP.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ class MockOdpManager: OdpManager {
315315
var identifyCalled = false
316316

317317
init(sdkKey: String, disable: Bool, cacheSize: Int, cacheTimeoutInSecs: Int) {
318-
super.init(sdkKey: sdkKey, disable: disable, enableVuid: true, cacheSize: cacheSize, cacheTimeoutInSecs: cacheTimeoutInSecs)
318+
super.init(sdkKey: sdkKey, disable: disable, cacheSize: cacheSize, cacheTimeoutInSecs: cacheTimeoutInSecs)
319319
self.segmentManager?.apiMgr = MockOdpSegmentApiManager()
320320
}
321321

@@ -327,7 +327,7 @@ class MockOdpManager: OdpManager {
327327
super.fetchQualifiedSegments(userId: userId, options: options, completionHandler: completionHandler)
328328
}
329329

330-
override func identifyUser(userId: String) {
330+
override func identifyUser(userId: String, vuid: String) {
331331
self.userId = userId
332332
self.identifyCalled = true
333333
}

Tests/OptimizelyTests-Common/OptimizelyUserContextTests_ODP_2.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class OptimizelyUserContextTests_ODP_2: XCTestCase {
2727
// odp disabled to avoid initial noise
2828

2929
let optimizely = OptimizelyClient(sdkKey: sdkKey,
30-
settings: OptimizelySdkSettings(disableOdp: true))
30+
settings: OptimizelySdkSettings(disableOdp: true, enabledVuid: true))
3131

3232
// override with a custom enabled odpManager.
3333
// - client_inializatied event will be sent automatically
@@ -36,7 +36,6 @@ class OptimizelyUserContextTests_ODP_2: XCTestCase {
3636
let odpEventApiManager = MockOdpEventApiManager()
3737
optimizely.odpManager = OdpManager(sdkKey: sdkKey,
3838
disable: false,
39-
enableVuid: true,
4039
cacheSize: 10,
4140
cacheTimeoutInSecs: 10,
4241
eventManager: OdpEventManager(sdkKey: sdkKey,

Tests/OptimizelyTests-Common/OptimizelyUserContextTests_ODP_Aync_Await.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ extension OptimizelyUserContextTests_ODP_Aync_Await {
128128
var identifyCalled = false
129129

130130
init(sdkKey: String, disable: Bool, cacheSize: Int, cacheTimeoutInSecs: Int) {
131-
super.init(sdkKey: sdkKey, disable: disable, enableVuid: true, cacheSize: cacheSize, cacheTimeoutInSecs: cacheTimeoutInSecs)
131+
super.init(sdkKey: sdkKey, disable: disable, cacheSize: cacheSize, cacheTimeoutInSecs: cacheTimeoutInSecs)
132132
self.segmentManager?.apiMgr = MockOdpSegmentApiManager()
133133
}
134134

@@ -140,7 +140,7 @@ extension OptimizelyUserContextTests_ODP_Aync_Await {
140140
super.fetchQualifiedSegments(userId: userId, options: options, completionHandler: completionHandler)
141141
}
142142

143-
override func identifyUser(userId: String) {
143+
override func identifyUser(userId: String, vuid: String) {
144144
self.userId = userId
145145
self.identifyCalled = true
146146
}

0 commit comments

Comments
 (0)