Skip to content

Commit 5e5bf6f

Browse files
committed
support lowercase impressions mode
1 parent 19fc89c commit 5e5bf6f

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

splitio/client/config.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@
22
from __future__ import absolute_import, division, print_function, unicode_literals
33

44
import os.path
5+
import logging
56

67
from splitio.engine.impressions import ImpressionsMode
78

89

10+
_LOGGER = logging.getLogger(__name__)
11+
12+
913
DEFAULT_CONFIG = {
1014
'operationMode': 'in-memory',
1115
'connectionTimeout': 1500,
@@ -87,8 +91,9 @@ def _sanitize_impressions_mode(mode, refresh_rate=None):
8791
"""
8892
if not isinstance(mode, ImpressionsMode):
8993
try:
90-
mode = ImpressionsMode(mode)
91-
except ValueError:
94+
mode = ImpressionsMode(mode.upper())
95+
except (ValueError, AttributeError):
96+
_LOGGER.warning('unrecognized impressionsMode supplied. Defaulting to OPTIMIZED')
9297
mode = ImpressionsMode.OPTIMIZED
9398

9499
if mode == ImpressionsMode.DEBUG:

tests/client/test_config.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ def test_sanitize_imp_mode(self):
2525
assert mode == ImpressionsMode.DEBUG
2626
assert rate == 1
2727

28+
mode, rate = config._sanitize_impressions_mode('debug', 1)
29+
assert mode == ImpressionsMode.DEBUG
30+
assert rate == 1
31+
2832
mode, rate = config._sanitize_impressions_mode('ANYTHING', 200)
2933
assert mode == ImpressionsMode.OPTIMIZED
3034
assert rate == 200

0 commit comments

Comments
 (0)