|
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