Skip to content

Commit 3b43924

Browse files
committed
Recommended changes made.
1 parent 8acea8a commit 3b43924

File tree

4 files changed

+40
-21
lines changed

4 files changed

+40
-21
lines changed

OptimizelySDK/Optimizely/OptimizelyManager.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -325,12 +325,12 @@ open class OptimizelyManager: NSObject {
325325
}
326326

327327
var args = Array<Any?>()
328-
args.append(Constants.NotificationKeys.OptimizelyDecisionTypeExperiment)
328+
args.append(Constants.DecisionTypeKeys.experiment)
329329
args.append(userId)
330330
args.append(attributes ?? OptimizelyAttributes())
331331
var decisionInfo = Dictionary<String,Any>()
332-
decisionInfo[Constants.NotificationKeys.OptimizelyNotificationExperiment] = nil
333-
decisionInfo[Constants.NotificationKeys.OptimizelyNotificationVariation] = nil
332+
decisionInfo[Constants.NotificationKeys.experiment] = nil
333+
decisionInfo[Constants.NotificationKeys.variation] = nil
334334

335335
// fix DecisionService to throw error
336336
guard let variation = decisionService.getVariation(config: config, userId: userId, experiment: experiment, attributes: attributes ?? OptimizelyAttributes()) else {
@@ -339,8 +339,8 @@ open class OptimizelyManager: NSObject {
339339
throw OptimizelyError.variationUnknown
340340
}
341341

342-
decisionInfo[Constants.NotificationKeys.OptimizelyNotificationExperiment] = experimentKey
343-
decisionInfo[Constants.NotificationKeys.OptimizelyNotificationVariation] = variation.key
342+
decisionInfo[Constants.NotificationKeys.experiment] = experimentKey
343+
decisionInfo[Constants.NotificationKeys.variation] = variation.key
344344
args.append(decisionInfo)
345345
self.notificationCenter.sendNotifications(type: NotificationType.Decision.rawValue, args: args)
346346

OptimizelySDK/OptimizelyTests/OptimizelyTests-Common/DecisionListenerTests.swift

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ class DecisionListenerTests: XCTestCase {
3131
var notificationType: String?
3232

3333
_ = optimizely?.notificationCenter.addDecisionNotificationListener(decisionListener: { (type, userId, attributes, decisionInfo) in
34-
notificationExperiment = decisionInfo[Constants.NotificationKeys.OptimizelyNotificationExperiment] as? String
35-
notificationVariation = decisionInfo[Constants.NotificationKeys.OptimizelyNotificationVariation] as? String
34+
notificationExperiment = decisionInfo[Constants.NotificationKeys.experiment] as? String
35+
notificationVariation = decisionInfo[Constants.NotificationKeys.variation] as? String
3636
notificationType = type
3737
})
3838

@@ -44,7 +44,7 @@ class DecisionListenerTests: XCTestCase {
4444
XCTAssertEqual(variation, "all_traffic_variation")
4545
XCTAssertEqual(notificationExperiment, "ab_running_exp_audience_combo_empty_conditions")
4646
XCTAssertEqual(notificationVariation, "all_traffic_variation")
47-
XCTAssertEqual(notificationType, Constants.NotificationKeys.OptimizelyDecisionTypeExperiment)
47+
XCTAssertEqual(notificationType, Constants.DecisionTypeKeys.experiment)
4848
}
4949

5050
func testDecisionListenerWithActivateWhenUserNotInExperiment() {
@@ -54,8 +54,8 @@ class DecisionListenerTests: XCTestCase {
5454
var notificationType: String?
5555

5656
_ = optimizely?.notificationCenter.addDecisionNotificationListener(decisionListener: { (type, userId, attributes, decisionInfo) in
57-
notificationExperiment = decisionInfo[Constants.NotificationKeys.OptimizelyNotificationExperiment] as? String
58-
notificationVariation = decisionInfo[Constants.NotificationKeys.OptimizelyNotificationVariation] as? String
57+
notificationExperiment = decisionInfo[Constants.NotificationKeys.experiment] as? String
58+
notificationVariation = decisionInfo[Constants.NotificationKeys.variation] as? String
5959
notificationType = type
6060
})
6161

@@ -66,7 +66,7 @@ class DecisionListenerTests: XCTestCase {
6666

6767
XCTAssertEqual(notificationExperiment, nil)
6868
XCTAssertEqual(notificationVariation, nil)
69-
XCTAssertEqual(notificationType, Constants.NotificationKeys.OptimizelyDecisionTypeExperiment)
69+
XCTAssertEqual(notificationType, Constants.DecisionTypeKeys.experiment)
7070
}
7171

7272
func testDecisionListenerWithGetVariationWhenUserInExperiment() {
@@ -80,8 +80,8 @@ class DecisionListenerTests: XCTestCase {
8080
var notificationType: String?
8181

8282
_ = optimizely?.notificationCenter.addDecisionNotificationListener(decisionListener: { (type, userId, _attributes, decisionInfo) in
83-
notificationExperiment = decisionInfo[Constants.NotificationKeys.OptimizelyNotificationExperiment] as? String
84-
notificationVariation = decisionInfo[Constants.NotificationKeys.OptimizelyNotificationVariation] as? String
83+
notificationExperiment = decisionInfo[Constants.NotificationKeys.experiment] as? String
84+
notificationVariation = decisionInfo[Constants.NotificationKeys.variation] as? String
8585
notificationType = type
8686
})
8787

@@ -91,7 +91,7 @@ class DecisionListenerTests: XCTestCase {
9191

9292
XCTAssertEqual(notificationExperiment, "ab_running_exp_audience_combo_empty_conditions")
9393
XCTAssertEqual(notificationVariation, "all_traffic_variation")
94-
XCTAssertEqual(notificationType, Constants.NotificationKeys.OptimizelyDecisionTypeExperiment)
94+
XCTAssertEqual(notificationType, Constants.DecisionTypeKeys.experiment)
9595
}
9696

9797
func testDecisionListenerWithGetVariationWhenUserNotInExperiment() {
@@ -101,16 +101,16 @@ class DecisionListenerTests: XCTestCase {
101101
var notificationType: String?
102102

103103
_ = optimizely?.notificationCenter.addDecisionNotificationListener(decisionListener: { (type, userId, attributes, decisionInfo) in
104-
notificationExperiment = decisionInfo[Constants.NotificationKeys.OptimizelyNotificationExperiment] as? String
105-
notificationVariation = decisionInfo[Constants.NotificationKeys.OptimizelyNotificationVariation] as? String
104+
notificationExperiment = decisionInfo[Constants.NotificationKeys.experiment] as? String
105+
notificationVariation = decisionInfo[Constants.NotificationKeys.variation] as? String
106106
notificationType = type
107107
})
108108

109109
_ = try? optimizely?.getVariation(experimentKey: "ab_running_exp_audience_combo_exact_foo_or_true__and__42_or_4_2", userId: "test_user_1")
110110

111111
XCTAssertEqual(notificationExperiment, nil)
112112
XCTAssertEqual(notificationVariation, nil)
113-
XCTAssertEqual(notificationType, Constants.NotificationKeys.OptimizelyDecisionTypeExperiment)
113+
XCTAssertEqual(notificationType, Constants.DecisionTypeKeys.experiment)
114114
}
115115

116116
}

OptimizelySDK/OptimizelyTests/OptimizelyTests-Common/NotificationCenterTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class NotificationCenterTests: XCTestCase {
5656
}
5757

5858
func sendDecision() {
59-
notificationCenter.sendNotifications(type: NotificationType.Decision.rawValue, args: [Constants.NotificationKeys.OptimizelyDecisionTypeExperiment, "userId", nil, ["url":"https://url.com/", "body": Data()]])
59+
notificationCenter.sendNotifications(type: NotificationType.Decision.rawValue, args: [Constants.DecisionTypeKeys.experiment, "userId", nil, ["url":"https://url.com/", "body": Data()]])
6060

6161
}
6262

OptimizelySDK/Utils/Constants.swift

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,32 @@ struct Constants {
1414
static let OptimizelyBotFilteringAttribute = "$opt_bot_filtering";
1515
static let OptimizelyUserAgent = "$opt_user_agent";
1616
}
17+
1718
struct NotificationKeys {
18-
static let OptimizelyNotificationExperiment = "experiment"
19-
static let OptimizelyNotificationVariation = "variation"
20-
static let OptimizelyDecisionTypeExperiment = "experiment"
19+
static let experiment = "experiment"
20+
static let variation = "variation"
2121
}
22+
23+
struct DecisionTypeKeys {
24+
static let featureVariable = "feature_variable"
25+
static let isFeatureEnabled = "feature"
26+
static let experiment = "experiment"
27+
}
28+
29+
struct DecisionInfoKeys {
30+
static let feature = "featureKey"
31+
static let featureEnabled = "featureEnabled"
32+
static let sourceExperiment = "sourceExperimentKey"
33+
static let sourceVariation = "sourceVariationKey"
34+
static let source = "source"
35+
static let variable = "variableKey"
36+
static let variableType = "variableType"
37+
static let variableValue = "variableValue"
38+
}
39+
2240
struct DecisionSource {
2341
static let Experiment = "EXPERIMENT"
2442
static let Rollout = "ROLLOUT"
2543
}
44+
2645
}

0 commit comments

Comments
 (0)