Skip to content

Commit ab11df5

Browse files
wip: clean up
1 parent f2248c6 commit ab11df5

File tree

5 files changed

+227
-124
lines changed

5 files changed

+227
-124
lines changed

OptimizelySwiftSDK.xcodeproj/project.pbxproj

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2034,6 +2034,18 @@
20342034
984FE51E2CC8AA88004F6F41 /* UserProfileTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 984FE5102CC8AA88004F6F41 /* UserProfileTracker.swift */; };
20352035
984FE51F2CC8AA88004F6F41 /* UserProfileTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 984FE5102CC8AA88004F6F41 /* UserProfileTracker.swift */; };
20362036
984FE5202CC8AA88004F6F41 /* UserProfileTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 984FE5102CC8AA88004F6F41 /* UserProfileTracker.swift */; };
2037+
989428B32DBFA431008BA1C8 /* MockBucketer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989428B22DBFA431008BA1C8 /* MockBucketer.swift */; };
2038+
989428B42DBFA431008BA1C8 /* MockBucketer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989428B22DBFA431008BA1C8 /* MockBucketer.swift */; };
2039+
989428B52DBFA431008BA1C8 /* MockBucketer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989428B22DBFA431008BA1C8 /* MockBucketer.swift */; };
2040+
989428B62DBFA431008BA1C8 /* MockBucketer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989428B22DBFA431008BA1C8 /* MockBucketer.swift */; };
2041+
989428B72DBFA431008BA1C8 /* MockBucketer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989428B22DBFA431008BA1C8 /* MockBucketer.swift */; };
2042+
989428B82DBFA431008BA1C8 /* MockBucketer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989428B22DBFA431008BA1C8 /* MockBucketer.swift */; };
2043+
989428B92DBFA431008BA1C8 /* MockBucketer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989428B22DBFA431008BA1C8 /* MockBucketer.swift */; };
2044+
989428BA2DBFA431008BA1C8 /* MockBucketer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989428B22DBFA431008BA1C8 /* MockBucketer.swift */; };
2045+
989428BB2DBFA431008BA1C8 /* MockBucketer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989428B22DBFA431008BA1C8 /* MockBucketer.swift */; };
2046+
989428BC2DBFA431008BA1C8 /* MockBucketer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989428B22DBFA431008BA1C8 /* MockBucketer.swift */; };
2047+
989428BD2DBFA431008BA1C8 /* MockBucketer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989428B22DBFA431008BA1C8 /* MockBucketer.swift */; };
2048+
989428BE2DBFA431008BA1C8 /* MockBucketer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989428B22DBFA431008BA1C8 /* MockBucketer.swift */; };
20372049
98AC97E22DAE4579001405DD /* HoldoutConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AC97E12DAE4579001405DD /* HoldoutConfig.swift */; };
20382050
98AC97E32DAE4579001405DD /* HoldoutConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AC97E12DAE4579001405DD /* HoldoutConfig.swift */; };
20392051
98AC97E42DAE4579001405DD /* HoldoutConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AC97E12DAE4579001405DD /* HoldoutConfig.swift */; };
@@ -2054,8 +2066,8 @@
20542066
98AC97F42DAE9685001405DD /* HoldoutConfigTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AC97F22DAE9685001405DD /* HoldoutConfigTests.swift */; };
20552067
98AC98462DB7B762001405DD /* BucketTests_HoldoutToVariation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AC98452DB7B762001405DD /* BucketTests_HoldoutToVariation.swift */; };
20562068
98AC98472DB7B762001405DD /* BucketTests_HoldoutToVariation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AC98452DB7B762001405DD /* BucketTests_HoldoutToVariation.swift */; };
2057-
98AC98492DB8FC29001405DD /* DecisionServiceTests_Features_Holdouts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AC98482DB8FC29001405DD /* DecisionServiceTests_Features_Holdouts.swift */; };
2058-
98AC984B2DB8FFE0001405DD /* DecisionServiceTests_Features_Holdouts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AC98482DB8FC29001405DD /* DecisionServiceTests_Features_Holdouts.swift */; };
2069+
98AC98492DB8FC29001405DD /* DecisionServiceTests_Holdouts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AC98482DB8FC29001405DD /* DecisionServiceTests_Holdouts.swift */; };
2070+
98AC984B2DB8FFE0001405DD /* DecisionServiceTests_Holdouts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AC98482DB8FC29001405DD /* DecisionServiceTests_Holdouts.swift */; };
20592071
98AC985E2DBA6721001405DD /* OptimizelyUserContextTests_Decide_With_Holdouts_Reasons.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AC985D2DBA6721001405DD /* OptimizelyUserContextTests_Decide_With_Holdouts_Reasons.swift */; };
20602072
98AC985F2DBA6721001405DD /* OptimizelyUserContextTests_Decide_With_Holdouts_Reasons.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AC985D2DBA6721001405DD /* OptimizelyUserContextTests_Decide_With_Holdouts_Reasons.swift */; };
20612073
98D5AE842DBB91C0000D5844 /* OptimizelyUserContextTests_Decide_Holdouts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98D5AE832DBB91C0000D5844 /* OptimizelyUserContextTests_Decide_Holdouts.swift */; };
@@ -2503,10 +2515,11 @@
25032515
982C071E2D8C82AE0068B1FF /* HoldoutTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HoldoutTests.swift; sourceTree = "<group>"; };
25042516
984FE5102CC8AA88004F6F41 /* UserProfileTracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserProfileTracker.swift; sourceTree = "<group>"; };
25052517
987F11D92AF3F56F0083D3F9 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
2518+
989428B22DBFA431008BA1C8 /* MockBucketer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockBucketer.swift; sourceTree = "<group>"; };
25062519
98AC97E12DAE4579001405DD /* HoldoutConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HoldoutConfig.swift; sourceTree = "<group>"; };
25072520
98AC97F22DAE9685001405DD /* HoldoutConfigTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HoldoutConfigTests.swift; sourceTree = "<group>"; };
25082521
98AC98452DB7B762001405DD /* BucketTests_HoldoutToVariation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BucketTests_HoldoutToVariation.swift; sourceTree = "<group>"; };
2509-
98AC98482DB8FC29001405DD /* DecisionServiceTests_Features_Holdouts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DecisionServiceTests_Features_Holdouts.swift; sourceTree = "<group>"; };
2522+
98AC98482DB8FC29001405DD /* DecisionServiceTests_Holdouts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DecisionServiceTests_Holdouts.swift; sourceTree = "<group>"; };
25102523
98AC985D2DBA6721001405DD /* OptimizelyUserContextTests_Decide_With_Holdouts_Reasons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OptimizelyUserContextTests_Decide_With_Holdouts_Reasons.swift; sourceTree = "<group>"; };
25112524
98D5AE832DBB91C0000D5844 /* OptimizelyUserContextTests_Decide_Holdouts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OptimizelyUserContextTests_Decide_Holdouts.swift; sourceTree = "<group>"; };
25122525
BD6485812491474500F30986 /* Optimizely.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Optimizely.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -3024,7 +3037,7 @@
30243037
6E27ECBD266FD78600B4A6D4 /* DecisionReasonsTests.swift */,
30253038
6E75198022C5211100B2B157 /* DecisionServiceTests_Experiments.swift */,
30263039
6E75199122C5211100B2B157 /* DecisionServiceTests_Features.swift */,
3027-
98AC98482DB8FC29001405DD /* DecisionServiceTests_Features_Holdouts.swift */,
3040+
98AC98482DB8FC29001405DD /* DecisionServiceTests_Holdouts.swift */,
30283041
6E75199422C5211100B2B157 /* DecisionServiceTests_Others.swift */,
30293042
6E75198622C5211100B2B157 /* DecisionServiceTests_UserProfiles.swift */,
30303043
6E75198822C5211100B2B157 /* DefaultLoggerTests.swift */,
@@ -3117,6 +3130,7 @@
31173130
6E7519B722C5211100B2B157 /* MockUrlSession.swift */,
31183131
6E5D121E2638DDF4000ABFC3 /* MockEventDispatcher.swift */,
31193132
6E20050726B4D28400278087 /* MockLogger.swift */,
3133+
989428B22DBFA431008BA1C8 /* MockBucketer.swift */,
31203134
);
31213135
path = TestUtils;
31223136
sourceTree = "<group>";
@@ -4214,6 +4228,7 @@
42144228
isa = PBXSourcesBuildPhase;
42154229
buildActionMask = 2147483647;
42164230
files = (
4231+
989428BB2DBFA431008BA1C8 /* MockBucketer.swift in Sources */,
42174232
6E14CDAB2423F9EB00010234 /* MockUrlSession.swift in Sources */,
42184233
6E14CDAA2423F9C300010234 /* SDKVersion.swift in Sources */,
42194234
845945C3287758A100D13E11 /* OdpConfig.swift in Sources */,
@@ -4350,6 +4365,7 @@
43504365
6E424D0026324B620081004A /* EventForDispatch.swift in Sources */,
43514366
6E424D0126324B620081004A /* SemanticVersion.swift in Sources */,
43524367
6E424D0226324B620081004A /* Audience.swift in Sources */,
4368+
989428B62DBFA431008BA1C8 /* MockBucketer.swift in Sources */,
43534369
6E424D0326324B620081004A /* AttributeValue.swift in Sources */,
43544370
84E2E9482852A378001114AB /* VuidManager.swift in Sources */,
43554371
6E424D0426324B620081004A /* ConditionLeaf.swift in Sources */,
@@ -4530,6 +4546,7 @@
45304546
isa = PBXSourcesBuildPhase;
45314547
buildActionMask = 2147483647;
45324548
files = (
4549+
989428B32DBFA431008BA1C8 /* MockBucketer.swift in Sources */,
45334550
6E75170222C520D400B2B157 /* OptimizelyLogLevel.swift in Sources */,
45344551
6E7516BA22C520D400B2B157 /* DefaultUserProfileService.swift in Sources */,
45354552
845945C7287758A300D13E11 /* OdpConfig.swift in Sources */,
@@ -4726,6 +4743,7 @@
47264743
6E9B11DA22C548A200C22D81 /* OptimizelyClientTests_ObjcAPIs.m in Sources */,
47274744
84518B21287737070023F104 /* OdpConfig.swift in Sources */,
47284745
6E75179A22C520D400B2B157 /* DataStoreQueueStackImpl+Extension.swift in Sources */,
4746+
989428B52DBFA431008BA1C8 /* MockBucketer.swift in Sources */,
47294747
6E75182022C520D400B2B157 /* BatchEventBuilder.swift in Sources */,
47304748
6E5AB69323F6130D007A82B1 /* OptimizelyClientTests_Init_Sync.swift in Sources */,
47314749
6E4544B2270E67C800F2CEBC /* NetworkReachability.swift in Sources */,
@@ -4852,6 +4870,7 @@
48524870
6E7517A922C520D400B2B157 /* Array+Extension.swift in Sources */,
48534871
6E75186B22C520D400B2B157 /* Rollout.swift in Sources */,
48544872
6E75183B22C520D400B2B157 /* EventForDispatch.swift in Sources */,
4873+
989428B42DBFA431008BA1C8 /* MockBucketer.swift in Sources */,
48554874
6E75194322C520D500B2B157 /* OPTDecisionService.swift in Sources */,
48564875
84E2E97D2855875E001114AB /* OdpEventManager.swift in Sources */,
48574876
84861806286CF33700B7F41B /* OdpEvent.swift in Sources */,
@@ -5002,7 +5021,8 @@
50025021
6E7516F722C520D400B2B157 /* OptimizelyError.swift in Sources */,
50035022
84861812286D0B8900B7F41B /* OdpSegmentManagerTests.swift in Sources */,
50045023
6E75189122C520D400B2B157 /* Project.swift in Sources */,
5005-
98AC98492DB8FC29001405DD /* DecisionServiceTests_Features_Holdouts.swift in Sources */,
5024+
98AC98492DB8FC29001405DD /* DecisionServiceTests_Holdouts.swift in Sources */,
5025+
989428B92DBFA431008BA1C8 /* MockBucketer.swift in Sources */,
50065026
6E7517F522C520D400B2B157 /* DataStoreMemory.swift in Sources */,
50075027
6E0207A9272A11CF008C3711 /* NetworkReachabilityTests.swift in Sources */,
50085028
6E75183D22C520D400B2B157 /* EventForDispatch.swift in Sources */,
@@ -5029,6 +5049,7 @@
50295049
6E9B119C22C5488300C22D81 /* ProjectConfigTests.swift in Sources */,
50305050
980CC8FF2D833F0D00E07D24 /* Holdout.swift in Sources */,
50315051
6E7518FE22C520D500B2B157 /* UserAttribute.swift in Sources */,
5052+
989428B82DBFA431008BA1C8 /* MockBucketer.swift in Sources */,
50325053
6E7517F622C520D400B2B157 /* DataStoreMemory.swift in Sources */,
50335054
6E9B119322C5488300C22D81 /* AttributeTests.swift in Sources */,
50345055
845945C9287758A600D13E11 /* OdpConfig.swift in Sources */,
@@ -5283,6 +5304,7 @@
52835304
6E75193F22C520D500B2B157 /* OPTDecisionService.swift in Sources */,
52845305
84E7ABC027D2A1F100447CAE /* ThreadSafeLogger.swift in Sources */,
52855306
6E7516CD22C520D400B2B157 /* OPTLogger.swift in Sources */,
5307+
989428BD2DBFA431008BA1C8 /* MockBucketer.swift in Sources */,
52865308
8428D3D02807337400D0FB0C /* LruCacheTests.swift in Sources */,
52875309
84E2E9772855875E001114AB /* OdpEventManager.swift in Sources */,
52885310
6E7517FB22C520D400B2B157 /* DataStoreUserDefaults.swift in Sources */,
@@ -5357,7 +5379,7 @@
53575379
6EF8DE2124BD1BB2008B9488 /* OptimizelyDecideOption.swift in Sources */,
53585380
8464087928130D3200CCF97D /* Integration.swift in Sources */,
53595381
6E9B118122C5488100C22D81 /* ConditionLeafTests.swift in Sources */,
5360-
98AC984B2DB8FFE0001405DD /* DecisionServiceTests_Features_Holdouts.swift in Sources */,
5382+
98AC984B2DB8FFE0001405DD /* DecisionServiceTests_Holdouts.swift in Sources */,
53615383
6E75184522C520D400B2B157 /* Event.swift in Sources */,
53625384
6E75191122C520D500B2B157 /* BackgroundingCallbacks.swift in Sources */,
53635385
848617D12863DC2700B7F41B /* OdpSegmentManager.swift in Sources */,
@@ -5380,6 +5402,7 @@
53805402
6E75175F22C520D400B2B157 /* AtomicProperty.swift in Sources */,
53815403
C78CAF5E2445AD8D009FE876 /* OptimizelyJSON.swift in Sources */,
53825404
6E7516B722C520D400B2B157 /* DefaultUserProfileService.swift in Sources */,
5405+
989428BC2DBFA431008BA1C8 /* MockBucketer.swift in Sources */,
53835406
6E623F09253F9045000617D0 /* DecisionInfo.swift in Sources */,
53845407
6E4544B3270E67C800F2CEBC /* NetworkReachability.swift in Sources */,
53855408
84E2E96A28540B5E001114AB /* OptimizelySdkSettings.swift in Sources */,
@@ -5492,6 +5515,7 @@
54925515
6E7518BE22C520D400B2B157 /* Variable.swift in Sources */,
54935516
6E7518CA22C520D400B2B157 /* Audience.swift in Sources */,
54945517
98AC97E62DAE4579001405DD /* HoldoutConfig.swift in Sources */,
5518+
989428BA2DBFA431008BA1C8 /* MockBucketer.swift in Sources */,
54955519
848617E42863E21200B7F41B /* OdpSegmentApiManager.swift in Sources */,
54965520
6E75187622C520D400B2B157 /* Variation.swift in Sources */,
54975521
6E7517F222C520D400B2B157 /* DataStoreMemory.swift in Sources */,
@@ -5597,6 +5621,7 @@
55975621
6E7518C322C520D400B2B157 /* Variable.swift in Sources */,
55985622
6E7518CF22C520D400B2B157 /* Audience.swift in Sources */,
55995623
98AC97E42DAE4579001405DD /* HoldoutConfig.swift in Sources */,
5624+
989428B72DBFA431008BA1C8 /* MockBucketer.swift in Sources */,
56005625
848617E92863E21200B7F41B /* OdpSegmentApiManager.swift in Sources */,
56015626
6E75187B22C520D400B2B157 /* Variation.swift in Sources */,
56025627
6E7517F722C520D400B2B157 /* DataStoreMemory.swift in Sources */,
@@ -5732,6 +5757,7 @@
57325757
isa = PBXSourcesBuildPhase;
57335758
buildActionMask = 2147483647;
57345759
files = (
5760+
989428BE2DBFA431008BA1C8 /* MockBucketer.swift in Sources */,
57355761
6E7516FC22C520D400B2B157 /* OptimizelyLogLevel.swift in Sources */,
57365762
6E7516B422C520D400B2B157 /* DefaultUserProfileService.swift in Sources */,
57375763
845945C02877589F00D13E11 /* OdpConfig.swift in Sources */,

Tests/OptimizelyTests-Common/BucketTests_HoldoutToVariation.swift

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class BucketTests_HoldoutToVariation: XCTestCase {
8484
for (index, test) in testCases.enumerated() {
8585
// Mock bucket value to ensure it falls within 0-1000
8686
let mockBucketValue = 500 // Within 10% allocation
87-
let mockBucketer = Mockbucketer(mockBucketValue: mockBucketValue)
87+
let mockBucketer = MockBucketer(mockBucketValue: mockBucketValue)
8888
let response = mockBucketer.bucketToVariation(experiment: holdout, bucketingId: test["userId"]!)
8989
XCTAssertNotNil(response.result, "Variation should not be nil for test case \(index)")
9090
XCTAssertEqual(response.result?.key, test["expectedVariation"], "Wrong variation for test case \(index)")
@@ -101,7 +101,7 @@ class BucketTests_HoldoutToVariation: XCTestCase {
101101
for (index, test) in testCases.enumerated() {
102102
// Mock bucket value to ensure it falls outside 0-1000
103103
let mockBucketValue = 1500 // Outside 10% allocation
104-
let mockBucketer = Mockbucketer(mockBucketValue: mockBucketValue)
104+
let mockBucketer = MockBucketer(mockBucketValue: mockBucketValue)
105105
let response = mockBucketer.bucketToVariation(experiment: holdout, bucketingId: test["userId"]!)
106106
XCTAssertNil(response.result, "Variation should be nil for test case \(index) when outside allocation")
107107
}
@@ -134,26 +134,10 @@ class BucketTests_HoldoutToVariation: XCTestCase {
134134
func testBucketToVariation_EmptyBucketingId() {
135135
// Test with empty bucketing ID, still within allocation
136136
let mockBucketValue = 500
137-
let mockBucketer = Mockbucketer(mockBucketValue: mockBucketValue)
137+
let mockBucketer = MockBucketer(mockBucketValue: mockBucketValue)
138138
let response = mockBucketer.bucketToVariation(experiment: holdout, bucketingId: "")
139139

140140
XCTAssertNotNil(response.result, "Should still bucket with empty bucketing ID")
141141
XCTAssertEqual(response.result?.key, kVariationKeyA, "Should bucket to variation A")
142142
}
143143
}
144-
145-
// MARK: - Helper for mocking bucket value
146-
147-
class Mockbucketer: DefaultBucketer {
148-
var mockBucketValue: Int
149-
150-
init(mockBucketValue: Int) {
151-
self.mockBucketValue = mockBucketValue
152-
super.init()
153-
}
154-
155-
override func generateBucketValue(bucketingId: String) -> Int {
156-
print(mockBucketValue)
157-
return mockBucketValue
158-
}
159-
}

0 commit comments

Comments
 (0)