Skip to content

Commit 9c439ba

Browse files
author
Mike Ng
committed
fix(logs): Change invalid experiment key to debug level.
1 parent 0d263fc commit 9c439ba

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
@@ -312,7 +312,8 @@ Optimizely.prototype.getVariation = function(experimentKey, userId, attributes)
312312

313313
var experiment = this.configObj.experimentKeyMap[experimentKey];
314314
if (fns.isEmpty(experiment)) {
315-
throw new Error(sprintf(ERROR_MESSAGES.INVALID_EXPERIMENT_KEY, MODULE_NAME, experimentKey));
315+
this.logger.log(LOG_LEVEL.DEBUG, sprintf(ERROR_MESSAGES.INVALID_EXPERIMENT_KEY, MODULE_NAME, experimentKey));
316+
return null;
316317
}
317318

318319
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
@@ -730,15 +730,11 @@ describe('lib/optimizely', function() {
730730
assert.strictEqual(logMessage2, sprintf(LOG_MESSAGES.NOT_ACTIVATING_USER, 'OPTIMIZELY', 'null', 'testExperiment'));
731731
});
732732

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

736736
sinon.assert.notCalled(eventDispatcher.dispatchEvent);
737737

738-
sinon.assert.calledOnce(errorHandler.handleError);
739-
var errorMessage = errorHandler.handleError.lastCall.args[0].message;
740-
assert.strictEqual(errorMessage, sprintf(ERROR_MESSAGES.INVALID_EXPERIMENT_KEY, 'OPTIMIZELY', 'invalidExperimentKey'));
741-
742738
sinon.assert.calledTwice(createdLogger.log);
743739
var logMessage1 = createdLogger.log.args[0][1];
744740
assert.strictEqual(logMessage1, sprintf(ERROR_MESSAGES.INVALID_EXPERIMENT_KEY, 'OPTIMIZELY', 'invalidExperimentKey'));
@@ -1554,15 +1550,10 @@ describe('lib/optimizely', function() {
15541550
assert.strictEqual(logMessage, sprintf(ERROR_MESSAGES.INVALID_INPUT_FORMAT, 'OPTIMIZELY', 'user_id'));
15551551
});
15561552

1557-
it('should throw an error for invalid experiment key', function() {
1553+
it('should log an error for invalid experiment key', function() {
15581554
var getVariationWithError = optlyInstance.getVariation('invalidExperimentKey', 'testUser');
1559-
15601555
assert.isNull(getVariationWithError);
15611556

1562-
sinon.assert.calledOnce(errorHandler.handleError);
1563-
var errorMessage = errorHandler.handleError.lastCall.args[0].message;
1564-
assert.strictEqual(errorMessage, sprintf(ERROR_MESSAGES.INVALID_EXPERIMENT_KEY, 'OPTIMIZELY', 'invalidExperimentKey'));
1565-
15661557
sinon.assert.calledOnce(createdLogger.log);
15671558
var logMessage = createdLogger.log.args[0][1];
15681559
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)