Skip to content

Commit c8c80f0

Browse files
fix: make client odp methods private (#416)
* notification registry test fix * make client methods private
1 parent e13482f commit c8c80f0

5 files changed

+12
-11
lines changed

optimizely/optimizely.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ def __init__(
164164
self.config_manager = StaticConfigManager(**config_manager_options)
165165

166166
self.odp_manager: OdpManager
167-
self.setup_odp(self.config_manager.get_sdk_key())
167+
self._setup_odp(self.config_manager.get_sdk_key())
168168

169169
self.event_builder = event_builder.EventBuilder()
170170
self.decision_service = decision_service.DecisionService(self.logger, user_profile_service)
@@ -1292,7 +1292,7 @@ def _decide_for_keys(
12921292
decisions[key] = decision
12931293
return decisions
12941294

1295-
def setup_odp(self, sdk_key: Optional[str]) -> None:
1295+
def _setup_odp(self, sdk_key: Optional[str]) -> None:
12961296
"""
12971297
- Make sure odp manager is instantiated with provided parameters or defaults.
12981298
- Set up listener to update odp_config when datafile is updated.
@@ -1352,14 +1352,14 @@ def _update_odp_config_on_datafile_update(self) -> None:
13521352
config.all_segments
13531353
)
13541354

1355-
def identify_user(self, user_id: str) -> None:
1355+
def _identify_user(self, user_id: str) -> None:
13561356
if not self.is_valid:
13571357
self.logger.error(enums.Errors.INVALID_OPTIMIZELY.format('identify_user'))
13581358
return
13591359

13601360
self.odp_manager.identify_user(user_id)
13611361

1362-
def fetch_qualified_segments(self, user_id: str, options: Optional[list[str]] = None) -> Optional[list[str]]:
1362+
def _fetch_qualified_segments(self, user_id: str, options: Optional[list[str]] = None) -> Optional[list[str]]:
13631363
if not self.is_valid:
13641364
self.logger.error(enums.Errors.INVALID_OPTIMIZELY.format('fetch_qualified_segments'))
13651365
return None

optimizely/optimizely_user_context.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def __init__(
7373
] = {}
7474

7575
if self.client and identify:
76-
self.client.identify_user(user_id)
76+
self.client._identify_user(user_id)
7777

7878
class OptimizelyDecisionContext:
7979
""" Using class with attributes here instead of namedtuple because
@@ -327,7 +327,7 @@ def fetch_qualified_segments(
327327
A boolean value indicating if the fetch was successful.
328328
"""
329329
def _fetch_qualified_segments() -> bool:
330-
segments = self.client.fetch_qualified_segments(self.user_id, options or []) if self.client else None
330+
segments = self.client._fetch_qualified_segments(self.user_id, options or []) if self.client else None
331331
self.set_qualified_segments(segments)
332332
success = segments is not None
333333

tests/test_notification_center_registry.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,9 @@ def test_remove_notification_center(self):
6969
mock_send.assert_called_once()
7070
mock_send.reset_mock()
7171

72+
self.assertIn(notification_center, _NotificationCenterRegistry._notification_centers.values())
7273
_NotificationCenterRegistry.remove_notification_center(sdk_key)
73-
self.assertNotIn(notification_center, _NotificationCenterRegistry._notification_centers)
74+
self.assertNotIn(notification_center, _NotificationCenterRegistry._notification_centers.values())
7475

7576
revised_datafile = copy.deepcopy(self.config_dict_with_audience_segments)
7677
revised_datafile['revision'] = str(int(revised_datafile['revision']) + 1)

tests/test_optimizely.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5143,7 +5143,7 @@ def test_user_context_invalid_user_id(self):
51435143
def test_send_identify_event__when_called_with_odp_enabled(self):
51445144
mock_logger = mock.Mock()
51455145
client = optimizely.Optimizely(json.dumps(self.config_dict_with_audience_segments), logger=mock_logger)
5146-
with mock.patch.object(client, 'identify_user') as identify:
5146+
with mock.patch.object(client, '_identify_user') as identify:
51475147
client.create_user_context('user-id')
51485148

51495149
identify.assert_called_once_with('user-id')

tests/test_user_context.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -2014,7 +2014,7 @@ def test_none_client_should_not_fail(self):
20142014
def test_send_identify_event_when_user_context_created(self):
20152015
mock_logger = mock.Mock()
20162016
client = optimizely.Optimizely(json.dumps(self.config_dict_with_audience_segments), logger=mock_logger)
2017-
with mock.patch.object(client, 'identify_user') as identify:
2017+
with mock.patch.object(client, '_identify_user') as identify:
20182018
OptimizelyUserContext(client, mock_logger, 'user-id')
20192019

20202020
identify.assert_called_once_with('user-id')
@@ -2024,13 +2024,13 @@ def test_send_identify_event_when_user_context_created(self):
20242024
def test_identify_is_skipped_with_decisions(self):
20252025
mock_logger = mock.Mock()
20262026
client = optimizely.Optimizely(json.dumps(self.config_dict_with_features), logger=mock_logger)
2027-
with mock.patch.object(client, 'identify_user') as identify:
2027+
with mock.patch.object(client, '_identify_user') as identify:
20282028
user_context = OptimizelyUserContext(client, mock_logger, 'user-id')
20292029

20302030
identify.assert_called_once_with('user-id')
20312031
mock_logger.error.assert_not_called()
20322032

2033-
with mock.patch.object(client, 'identify_user') as identify:
2033+
with mock.patch.object(client, '_identify_user') as identify:
20342034
user_context.decide('test_feature_in_rollout')
20352035
user_context.decide_all()
20362036
user_context.decide_for_keys(['test_feature_in_rollout'])

0 commit comments

Comments
 (0)