|
5 | 5 | from optimizely import exceptions
|
6 | 6 | from optimizely import logger
|
7 | 7 | from optimizely import optimizely
|
| 8 | +from optimizely import project_config |
8 | 9 | from optimizely.helpers import enums
|
9 | 10 |
|
10 | 11 | from . import base
|
@@ -42,11 +43,11 @@ def test_init(self):
|
42 | 43 | expected_experiment_id_map['32223']['groupId'] = '19228'
|
43 | 44 | expected_experiment_id_map['32223']['groupPolicy'] = 'random'
|
44 | 45 | expected_event_key_map = {
|
45 |
| - 'test_event': self.config_dict['events'][0], |
46 |
| - 'Total Revenue': self.config_dict['events'][1] |
| 46 | + 'test_event': project_config.Event(id='111095', key='test_event', experimentIds=['111127']), |
| 47 | + 'Total Revenue': project_config.Event(id='111096', key='Total Revenue', experimentIds=['111127']) |
47 | 48 | }
|
48 | 49 | expected_attribute_key_map = {
|
49 |
| - 'test_attribute': self.config_dict['dimensions'][0] |
| 50 | + 'test_attribute': project_config.AttributeV1(id='111094', key='test_attribute', segmentId='11133') |
50 | 51 | }
|
51 | 52 | expected_audience_id_map = {
|
52 | 53 | '11154': self.config_dict['audiences'][0]
|
@@ -271,53 +272,33 @@ def test_get_variation_id__invalid_variation_key(self):
|
271 | 272 |
|
272 | 273 | self.assertIsNone(self.project_config.get_variation_id(self.config_dict['experiments'][0]['key'], 'invalid_key'))
|
273 | 274 |
|
274 |
| - def test_get_event_id__valid_key(self): |
275 |
| - """ Test that event ID is retrieved correctly for valid event key. """ |
| 275 | + def test_get_event__valid_key(self): |
| 276 | + """ Test that event is retrieved correctly for valid event key. """ |
276 | 277 |
|
277 |
| - self.assertEqual(self.config_dict['events'][0]['id'], self.project_config.get_event_id('test_event')) |
| 278 | + self.assertEqual(project_config.Event(id='111095', key='test_event', experimentIds=['111127']), |
| 279 | + self.project_config.get_event('test_event')) |
278 | 280 |
|
279 |
| - def test_get_event_id__invalid_key(self): |
280 |
| - """ Test that None is returned when provided event key is invalid. """ |
| 281 | + def test_get_event__invalid_key(self): |
| 282 | + """ Test that None is returned when provided goal key is invalid. """ |
281 | 283 |
|
282 |
| - self.assertIsNone(self.project_config.get_event_id('invalid_key')) |
| 284 | + self.assertIsNone(self.project_config.get_event('invalid_key')) |
283 | 285 |
|
284 |
| - def test_get_revenue_goal_id(self): |
285 |
| - """ Test that revenue goal ID can be retrieved as expected. """ |
| 286 | + def test_get_revenue_goal(self): |
| 287 | + """ Test that revenue goal can be retrieved as expected. """ |
286 | 288 |
|
287 |
| - self.assertEqual(self.config_dict['events'][1]['id'], self.project_config.get_revenue_goal_id()) |
| 289 | + self.assertEqual(project_config.Event(id='111096', key='Total Revenue', experimentIds=['111127']), |
| 290 | + self.project_config.get_revenue_goal()) |
288 | 291 |
|
289 |
| - def test_get_experiment_ids_for_event__valid_key(self): |
290 |
| - """ Test that experiment IDs are retrieved as expected for valid event key. """ |
| 292 | + def test_get_attribute__valid_key(self): |
| 293 | + """ Test that attribute is retrieved correctly for valid attribute key. """ |
291 | 294 |
|
292 |
| - self.assertEqual(self.config_dict['events'][0]['experimentIds'], |
293 |
| - self.project_config.get_experiment_ids_for_event('test_event')) |
| 295 | + self.assertEqual(project_config.AttributeV1(id='111094', key='test_attribute', segmentId='11133'), |
| 296 | + self.project_config.get_attribute('test_attribute')) |
294 | 297 |
|
295 |
| - def test_get_experiment_ids_for_event__invalid_key(self): |
296 |
| - """ Test that empty list is returned when provided event key is invalid. """ |
297 |
| - |
298 |
| - self.assertEqual([], self.project_config.get_experiment_ids_for_event('invalid_key')) |
299 |
| - |
300 |
| - def test_get_attribute_id__valid_key(self): |
301 |
| - """ Test that attribute ID is retrieved correctly for valid attribute key. """ |
302 |
| - |
303 |
| - self.assertEqual(self.config_dict['dimensions'][0]['id'], |
304 |
| - self.project_config.get_attribute_id('test_attribute')) |
305 |
| - |
306 |
| - def test_get_attribute_id__invalid_key(self): |
307 |
| - """ Test that None is returned when provided attribute key is invalid. """ |
308 |
| - |
309 |
| - self.assertIsNone(self.project_config.get_attribute_id('invalid_key')) |
310 |
| - |
311 |
| - def test_get_segment_id__valid_key(self): |
312 |
| - """ Test that segment ID is retrieved correctly for valid attribute key. """ |
313 |
| - |
314 |
| - self.assertEqual(self.config_dict['dimensions'][0]['segmentId'], |
315 |
| - self.project_config.get_segment_id('test_attribute')) |
316 |
| - |
317 |
| - def test_get_segment_id__invalid_key(self): |
| 298 | + def test_get_attribute__invalid_key(self): |
318 | 299 | """ Test that None is returned when provided attribute key is invalid. """
|
319 | 300 |
|
320 |
| - self.assertIsNone(self.project_config.get_segment_id('invalid_key')) |
| 301 | + self.assertIsNone(self.project_config.get_attribute('invalid_key')) |
321 | 302 |
|
322 | 303 | def test_get_traffic_allocation__valid_key(self):
|
323 | 304 | """ Test that trafficAllocation is retrieved correctly for valid experiment key or group ID. """
|
@@ -438,35 +419,19 @@ def test_get_variation_id__invalid_variation_key(self):
|
438 | 419 |
|
439 | 420 | mock_logging.assert_called_once_with(enums.LogLevels.ERROR, 'Variation key "invalid_key" is not in datafile.')
|
440 | 421 |
|
441 |
| - def test_get_event_id__invalid_key(self): |
442 |
| - """ Test that message is logged when provided event key is invalid. """ |
443 |
| - |
444 |
| - with mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging: |
445 |
| - self.project_config.get_event_id('invalid_key') |
446 |
| - |
447 |
| - mock_logging.assert_called_once_with(enums.LogLevels.ERROR, 'Event "invalid_key" is not in datafile.') |
448 |
| - |
449 |
| - def test_get_experiment_ids_for_event__invalid_key(self): |
| 422 | + def test_get_event__invalid_key(self): |
450 | 423 | """ Test that message is logged when provided event key is invalid. """
|
451 | 424 |
|
452 | 425 | with mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
|
453 |
| - self.project_config.get_experiment_ids_for_event('invalid_key') |
| 426 | + self.project_config.get_event('invalid_key') |
454 | 427 |
|
455 | 428 | mock_logging.assert_called_once_with(enums.LogLevels.ERROR, 'Event "invalid_key" is not in datafile.')
|
456 | 429 |
|
457 |
| - def test_get_attribute_id__invalid_key(self): |
| 430 | + def test_get_attribute__invalid_key(self): |
458 | 431 | """ Test that message is logged when provided attribute key is invalid. """
|
459 | 432 |
|
460 | 433 | with mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
|
461 |
| - self.project_config.get_attribute_id('invalid_key') |
462 |
| - |
463 |
| - mock_logging.assert_called_once_with(enums.LogLevels.ERROR, 'Attribute "invalid_key" is not in datafile.') |
464 |
| - |
465 |
| - def test_get_segment_id__invalid_key(self): |
466 |
| - """ Test that message is logged when provided attribute key is invalid. """ |
467 |
| - |
468 |
| - with mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging: |
469 |
| - self.project_config.get_segment_id('invalid_key') |
| 434 | + self.project_config.get_attribute('invalid_key') |
470 | 435 |
|
471 | 436 | mock_logging.assert_called_once_with(enums.LogLevels.ERROR, 'Attribute "invalid_key" is not in datafile.')
|
472 | 437 |
|
@@ -549,30 +514,16 @@ def test_get_variation_id__invalid_variation_key(self):
|
549 | 514 | enums.Errors.INVALID_VARIATION_ERROR,
|
550 | 515 | self.project_config.get_variation_id, 'test_experiment', 'invalid_key')
|
551 | 516 |
|
552 |
| - def test_get_event_id__invalid_key(self): |
| 517 | + def test_get_event__invalid_key(self): |
553 | 518 | """ Test that exception is raised when provided event key is invalid. """
|
554 | 519 |
|
555 | 520 | self.assertRaisesRegexp(exceptions.InvalidEventException,
|
556 | 521 | enums.Errors.INVALID_EVENT_KEY_ERROR,
|
557 |
| - self.project_config.get_event_id, 'invalid_key') |
558 |
| - |
559 |
| - def test_get_experiment_ids_for_event__invalid_key(self): |
560 |
| - """ Test that exception is raised when provided event key is invalid. """ |
561 |
| - |
562 |
| - self.assertRaisesRegexp(exceptions.InvalidEventException, |
563 |
| - enums.Errors.INVALID_EVENT_KEY_ERROR, |
564 |
| - self.project_config.get_experiment_ids_for_event, 'invalid_key') |
565 |
| - |
566 |
| - def test_get_attribute_id__invalid_key(self): |
567 |
| - """ Test that exception is raised when provided attribute key is invalid. """ |
568 |
| - |
569 |
| - self.assertRaisesRegexp(exceptions.InvalidAttributeException, |
570 |
| - enums.Errors.INVALID_ATTRIBUTE_ERROR, |
571 |
| - self.project_config.get_attribute_id, 'invalid_key') |
| 522 | + self.project_config.get_event, 'invalid_key') |
572 | 523 |
|
573 |
| - def test_get_segment_id__invalid_key(self): |
| 524 | + def test_get_attribute__invalid_key(self): |
574 | 525 | """ Test that exception is raised when provided attribute key is invalid. """
|
575 | 526 |
|
576 | 527 | self.assertRaisesRegexp(exceptions.InvalidAttributeException,
|
577 | 528 | enums.Errors.INVALID_ATTRIBUTE_ERROR,
|
578 |
| - self.project_config.get_segment_id, 'invalid_key') |
| 529 | + self.project_config.get_attribute, 'invalid_key') |
0 commit comments