Skip to content

Commit 81f2ad6

Browse files
authored
Merge branch 'master' into sohail/activatenullvalues
2 parents 30472a3 + c41493e commit 81f2ad6

File tree

3 files changed

+5
-13
lines changed

3 files changed

+5
-13
lines changed

packages/optimizely-sdk/lib/optimizely/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,8 @@ Optimizely.prototype.getVariation = function(experimentKey, userId, attributes)
308308

309309
var experiment = this.configObj.experimentKeyMap[experimentKey];
310310
if (fns.isEmpty(experiment)) {
311-
throw new Error(sprintf(ERROR_MESSAGES.INVALID_EXPERIMENT_KEY, MODULE_NAME, experimentKey));
311+
this.logger.log(LOG_LEVEL.DEBUG, sprintf(ERROR_MESSAGES.INVALID_EXPERIMENT_KEY, MODULE_NAME, experimentKey));
312+
return null;
312313
}
313314

314315
return this.decisionService.getVariation(experimentKey, userId, attributes);

packages/optimizely-sdk/lib/optimizely/index.tests.js

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -808,15 +808,11 @@ describe('lib/optimizely', function() {
808808
assert.strictEqual(logMessage2, sprintf(LOG_MESSAGES.NOT_ACTIVATING_USER, 'OPTIMIZELY', 'null', 'testExperiment'));
809809
});
810810

811-
it('should throw an error for invalid experiment key', function() {
811+
it('should log an error for invalid experiment key', function() {
812812
assert.isNull(optlyInstance.activate('invalidExperimentKey', 'testUser'));
813813

814814
sinon.assert.notCalled(eventDispatcher.dispatchEvent);
815815

816-
sinon.assert.calledOnce(errorHandler.handleError);
817-
var errorMessage = errorHandler.handleError.lastCall.args[0].message;
818-
assert.strictEqual(errorMessage, sprintf(ERROR_MESSAGES.INVALID_EXPERIMENT_KEY, 'OPTIMIZELY', 'invalidExperimentKey'));
819-
820816
sinon.assert.calledTwice(createdLogger.log);
821817
var logMessage1 = createdLogger.log.args[0][1];
822818
assert.strictEqual(logMessage1, sprintf(ERROR_MESSAGES.INVALID_EXPERIMENT_KEY, 'OPTIMIZELY', 'invalidExperimentKey'));
@@ -1632,15 +1628,10 @@ describe('lib/optimizely', function() {
16321628
assert.strictEqual(logMessage, sprintf(ERROR_MESSAGES.INVALID_INPUT_FORMAT, 'OPTIMIZELY', 'user_id'));
16331629
});
16341630

1635-
it('should throw an error for invalid experiment key', function() {
1631+
it('should log an error for invalid experiment key', function() {
16361632
var getVariationWithError = optlyInstance.getVariation('invalidExperimentKey', 'testUser');
1637-
16381633
assert.isNull(getVariationWithError);
16391634

1640-
sinon.assert.calledOnce(errorHandler.handleError);
1641-
var errorMessage = errorHandler.handleError.lastCall.args[0].message;
1642-
assert.strictEqual(errorMessage, sprintf(ERROR_MESSAGES.INVALID_EXPERIMENT_KEY, 'OPTIMIZELY', 'invalidExperimentKey'));
1643-
16441635
sinon.assert.calledOnce(createdLogger.log);
16451636
var logMessage = createdLogger.log.args[0][1];
16461637
assert.strictEqual(logMessage, sprintf(ERROR_MESSAGES.INVALID_EXPERIMENT_KEY, 'OPTIMIZELY', 'invalidExperimentKey'));

packages/optimizely-sdk/lib/utils/enums/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ exports.ERROR_MESSAGES = {
3838
INVALID_EVENT_DISPATCHER: '%s: Provided "eventDispatcher" is in an invalid format.',
3939
INVALID_EVENT_KEY: '%s: Event key %s is not in datafile.',
4040
INVALID_EVENT_TAGS: '%s: Provided event tags are in an invalid format.',
41-
INVALID_EXPERIMENT_KEY: '%s: Experiment key %s is not in datafile.',
41+
INVALID_EXPERIMENT_KEY: '%s: Experiment key %s is not in datafile. It is either invalid, paused, or archived.',
4242
INVALID_EXPERIMENT_ID: '%s: Experiment ID %s is not in datafile.',
4343
INVALID_GROUP_ID: '%s: Group ID %s is not in datafile.',
4444
INVALID_LOGGER: '%s: Provided "logger" is in an invalid format.',

0 commit comments

Comments
 (0)