17
17
18
18
from optimizely import event_builder
19
19
from optimizely import version
20
- from optimizely .project_config import Region
21
20
from . import base
22
21
23
22
@@ -141,11 +140,14 @@ def test_create_impression_event_with_EU(self):
141
140
'revision' : '42' ,
142
141
}
143
142
144
- with mock .patch .object (self .project_config , 'region' , new = Region .EU ), mock .patch (
143
+ self .project_config .region = 'EU'
144
+
145
+ with mock .patch .object (self .project_config , 'region' , new = 'EU' ), mock .patch (
145
146
'time.time' , return_value = 42.123
146
147
), mock .patch (
147
148
'optimizely.bucketer.Bucketer._generate_bucket_value' , return_value = 5042
148
149
), mock .patch ('uuid.uuid4' , return_value = 'a68cf1ad-0393-4e18-af87-efe8f01a7c9c' ):
150
+ self .project_config .region = 'EU'
149
151
event_obj = self .event_builder .create_impression_event (
150
152
self .project_config ,
151
153
self .project_config .get_experiment_from_key ('test_experiment' ),
@@ -618,7 +620,7 @@ def test_create_conversion_event_with_eu(self):
618
620
'revision' : '42' ,
619
621
}
620
622
621
- with mock .patch .object (self .project_config , 'region' , new = Region . EU ), mock .patch (
623
+ with mock .patch .object (self .project_config , 'region' , new = 'EU' ), mock .patch (
622
624
'time.time' , return_value = 42.123
623
625
), mock .patch (
624
626
'uuid.uuid4' , return_value = 'a68cf1ad-0393-4e18-af87-efe8f01a7c9c'
@@ -634,6 +636,54 @@ def test_create_conversion_event_with_eu(self):
634
636
event_builder .EventBuilder .HTTP_HEADERS ,
635
637
)
636
638
639
+ def test_create_conversion_event_with_invalid_region (self ):
640
+ """ Test that create_conversion_event creates Event object
641
+ with right params when no attributes are provided. """
642
+
643
+ expected_params = {
644
+ 'account_id' : '12001' ,
645
+ 'project_id' : '111001' ,
646
+ 'visitors' : [
647
+ {
648
+ 'visitor_id' : 'test_user' ,
649
+ 'attributes' : [],
650
+ 'snapshots' : [
651
+ {
652
+ 'events' : [
653
+ {
654
+ 'timestamp' : 42123 ,
655
+ 'entity_id' : '111095' ,
656
+ 'uuid' : 'a68cf1ad-0393-4e18-af87-efe8f01a7c9c' ,
657
+ 'key' : 'test_event' ,
658
+ }
659
+ ]
660
+ }
661
+ ],
662
+ }
663
+ ],
664
+ 'client_name' : 'python-sdk' ,
665
+ 'client_version' : version .__version__ ,
666
+ 'enrich_decisions' : True ,
667
+ 'anonymize_ip' : False ,
668
+ 'revision' : '42' ,
669
+ }
670
+
671
+ with mock .patch .object (self .project_config , 'region' , new = 'ZZ' ), mock .patch (
672
+ 'time.time' , return_value = 42.123
673
+ ), mock .patch (
674
+ 'uuid.uuid4' , return_value = 'a68cf1ad-0393-4e18-af87-efe8f01a7c9c'
675
+ ):
676
+ event_obj = self .event_builder .create_conversion_event (
677
+ self .project_config , 'test_event' , 'test_user' , None , None
678
+ )
679
+ self ._validate_event_object (
680
+ event_obj ,
681
+ event_builder .EventBuilder .EVENTS_URLS .get ('US' ),
682
+ expected_params ,
683
+ event_builder .EventBuilder .HTTP_VERB ,
684
+ event_builder .EventBuilder .HTTP_HEADERS ,
685
+ )
686
+
637
687
def test_create_conversion_event__with_attributes (self ):
638
688
""" Test that create_conversion_event creates Event object
639
689
with right params when attributes are provided. """
0 commit comments