1717
1818from optimizely import event_builder
1919from optimizely import version
20- from optimizely .project_config import Region
2120from . import base
2221
2322
@@ -141,11 +140,14 @@ def test_create_impression_event_with_EU(self):
141140 'revision' : '42' ,
142141 }
143142
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 (
145146 'time.time' , return_value = 42.123
146147 ), mock .patch (
147148 'optimizely.bucketer.Bucketer._generate_bucket_value' , return_value = 5042
148149 ), mock .patch ('uuid.uuid4' , return_value = 'a68cf1ad-0393-4e18-af87-efe8f01a7c9c' ):
150+ self .project_config .region = 'EU'
149151 event_obj = self .event_builder .create_impression_event (
150152 self .project_config ,
151153 self .project_config .get_experiment_from_key ('test_experiment' ),
@@ -618,7 +620,7 @@ def test_create_conversion_event_with_eu(self):
618620 'revision' : '42' ,
619621 }
620622
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 (
622624 'time.time' , return_value = 42.123
623625 ), mock .patch (
624626 'uuid.uuid4' , return_value = 'a68cf1ad-0393-4e18-af87-efe8f01a7c9c'
@@ -634,6 +636,54 @@ def test_create_conversion_event_with_eu(self):
634636 event_builder .EventBuilder .HTTP_HEADERS ,
635637 )
636638
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+
637687 def test_create_conversion_event__with_attributes (self ):
638688 """ Test that create_conversion_event creates Event object
639689 with right params when attributes are provided. """
0 commit comments