@@ -33,25 +33,38 @@ class OptimizelyUserContextTests_ODP: XCTestCase {
3333
3434 optimizely = OptimizelyClient ( sdkKey: sdkKey)
3535 optimizely. odpManager = odpManager
36-
37- user = optimizely. createUserContext ( userId: kUserId)
3836 }
3937
4038 // MARK: - identify
4139
4240 func testIdentifyCalledAutomatically( ) {
41+ user = optimizely. createUserContext ( userId: kUserId)
4342 sleep ( 1 )
44- XCTAssertEqual ( true , odpManager. identifyCalled, " identifyUser is implicitly called on UserContext init " )
43+ XCTAssert ( odpManager. identifyCalled, " identifyUser is implicitly called on UserContext init " )
4544 XCTAssertEqual ( kUserId, odpManager. userId)
4645 }
4746
47+ func testIdentifyNotCalledForLegacyAPIs( ) {
48+ try ? optimizely. start ( datafile: datafile)
49+ _ = try ? optimizely. activate ( experimentKey: " experiment-segment " , userId: kUserId)
50+ _ = try ? optimizely. getVariation ( experimentKey: " experiment-segment " , userId: kUserId)
51+ _ = try ? optimizely. getAllFeatureVariables ( featureKey: " flag-segment " , userId: kUserId)
52+ _ = optimizely. isFeatureEnabled ( featureKey: " flag-segment " , userId: kUserId)
53+ try ? optimizely. track ( eventKey: " event1 " , userId: kUserId)
54+
55+ sleep ( 1 )
56+ XCTAssertFalse ( odpManager. identifyCalled, " identifyUser is implicitly called on UserContext init " )
57+ }
58+
4859 // MARK: - isQualifiedFor
4960
5061 func testIsQualifiedFor( ) {
62+ user = optimizely. createUserContext ( userId: kUserId)
63+
5164 XCTAssertFalse ( user. isQualifiedFor ( segment: " a " ) )
5265
5366 user. qualifiedSegments = [ " a " , " b " ]
54- XCTAssertTrue ( user. isQualifiedFor ( segment: " a " ) )
67+ XCTAssert ( user. isQualifiedFor ( segment: " a " ) )
5568 XCTAssertFalse ( user. isQualifiedFor ( segment: " x " ) )
5669
5770 user. qualifiedSegments = [ ]
@@ -62,6 +75,7 @@ class OptimizelyUserContextTests_ODP: XCTestCase {
6275
6376 func testFetchQualifiedSegments_successDefaultUser( ) {
6477 try ? optimizely. start ( datafile: datafile)
78+ user = optimizely. createUserContext ( userId: kUserId)
6579
6680 let sem = DispatchSemaphore ( value: 0 )
6781 user. fetchQualifiedSegments { segments, error in
@@ -76,6 +90,7 @@ class OptimizelyUserContextTests_ODP: XCTestCase {
7690 // MARK: - Failure
7791
7892 func testFetchQualifiedSegments_sdkNotReady( ) {
93+ user = optimizely. createUserContext ( userId: kUserId)
7994 user. optimizely = nil
8095 user. qualifiedSegments = [ " dummy " ]
8196
@@ -90,6 +105,7 @@ class OptimizelyUserContextTests_ODP: XCTestCase {
90105 }
91106
92107 func testFetchQualifiedSegments_fetchFailed( ) {
108+ user = optimizely. createUserContext ( userId: kUserId)
93109 user. qualifiedSegments = [ " dummy " ]
94110
95111 // ODP apiKey is not available
@@ -108,7 +124,8 @@ class OptimizelyUserContextTests_ODP: XCTestCase {
108124
109125 func testFetchQualifiedSegments_segmentsToCheck_validAfterStart( ) {
110126 try ? optimizely. start ( datafile: datafile)
111-
127+ user = optimizely. createUserContext ( userId: kUserId)
128+
112129 let sem = DispatchSemaphore ( value: 0 )
113130 user. fetchQualifiedSegments { _, _ in
114131 sem. signal ( )
@@ -121,7 +138,8 @@ class OptimizelyUserContextTests_ODP: XCTestCase {
121138 func testFetchQualifiedSegments_segmentsNotUsed( ) {
122139 let datafile = OTUtils . loadJSONDatafile ( " odp_integrated_no_segments " ) !
123140 try ? optimizely. start ( datafile: datafile)
124-
141+ user = optimizely. createUserContext ( userId: kUserId)
142+
125143 let sem = DispatchSemaphore ( value: 0 )
126144 user. fetchQualifiedSegments { segments, error in
127145 XCTAssertNil ( error)
@@ -139,6 +157,7 @@ extension OptimizelyUserContextTests_ODP {
139157
140158 func testFetchQualifiedSegments_parameters( ) {
141159 try ? optimizely. start ( datafile: datafile)
160+ user = optimizely. createUserContext ( userId: kUserId)
142161
143162 let sem = DispatchSemaphore ( value: 0 )
144163 user. fetchQualifiedSegments ( options: [ . ignoreCache] ) { segments, error in
@@ -158,6 +177,7 @@ extension OptimizelyUserContextTests_ODP {
158177 XCTAssertNil ( odpManager. odpConfig. apiHost)
159178
160179 try ? optimizely. start ( datafile: " invalid " )
180+ user = optimizely. createUserContext ( userId: kUserId)
161181
162182 XCTAssertNil ( odpManager. odpConfig. apiKey)
163183 XCTAssertNil ( odpManager. odpConfig. apiHost)
0 commit comments