@@ -118,4 +118,47 @@ def put(feature_flag):
118118 self ._feature_flag = None
119119 q .put (SplitChangeUpdate ('some' , 'SPLIT_UPDATE' , 123456790 , 2345 , 'H4sIAAkVZWQC/8WST0+DQBDFv0qzZ0ig/BF6a2xjGismUk2MaZopzOKmy9Isy0EbvrtDwbY2Xo233Tdv5se85cCMBs5FtvrYYwIlsglratTMYiKns+chcAgc24UwsF0Xczt2cm5z8Jw8DmPH9wPyqr5zKyTITb2XwpA4TJ5KWWVgRKXYxHWcX/QUkVi264W+68bjaGyxupdCJ4i9KPI9UgyYpibI9Ha1eJnT/J2QsnNxkDVaLEcOjTQrjWBKVIasFefky95BFZg05Zb2mrhh5I9vgsiL44BAIIuKTeiQVYqLotHHLyLOoT1quRjub4fztQuLxj89LpePzytClGCyd9R3umr21ErOcitUh2PTZHY29HN2+JGixMxUujNfvMB3+u2pY1AXySad3z3Mk46msACDp8W7jhly4uUpFt3qD33vDAx0gLpXkx+P1GusbdcE24M2F4uaywwVEWvxSa1Oa13Vjvn2RXradm0xCVuUVBJqNCBGV0DrX4OcLpeb+/lreh3jH8Uw/JQj3UhkxPgCCurdEnADAAA=' , 1 ))
120120 time .sleep (0.1 )
121- assert self ._feature_flag .name == 'bilal_split'
121+ assert self ._feature_flag .name == 'bilal_split'
122+
123+ def test_edge_cases (self , mocker ):
124+ q = queue .Queue ()
125+ split_worker = SplitWorker (handler_sync , q , mocker .Mock ())
126+ global change_number_received
127+ split_worker .start ()
128+
129+ def get_change_number ():
130+ return 2345
131+
132+ def put (feature_flag ):
133+ self ._feature_flag = feature_flag
134+
135+ split_worker ._feature_flag_storage .get_change_number = get_change_number
136+ split_worker ._feature_flag_storage .put = put
137+
138+ # should Not call the handler
139+ self ._feature_flag = None
140+ change_number_received = 0
141+ q .put (SplitChangeUpdate ('some' , 'SPLIT_UPDATE' , 123456 , 2345 , "/2X9I7+N8R/FcPmUd76zjH7X/w4AAP//90glTw==" , 2 ))
142+ time .sleep (0.1 )
143+ assert self ._feature_flag == None
144+
145+ # should Not call the handler
146+ self ._feature_flag = None
147+ change_number_received = 0
148+ q .put (SplitChangeUpdate ('some' , 'SPLIT_UPDATE' , 123456 , 2345 , "/2X9I7+N8R/FcPmUd76zjH7X/w4AAP//90glTw==" , 4 ))
149+ time .sleep (0.1 )
150+ assert self ._feature_flag == None
151+
152+ # should Not call the handler
153+ self ._feature_flag = None
154+ change_number_received = 0
155+ q .put (SplitChangeUpdate ('some' , 'SPLIT_UPDATE' , 123456 , None , 'eJzEUtFq20AQ/JUwz2c4WZZr3ZupTQh1FKjcQinGrKU95cjpZE6nh9To34ssJ3FNX0sfd3Zm53b2TgietDbF9vXIGdUMha5lDwFTQiGOmTQlchLRPJlEEZeTVJZ6oimWZTpP5WyWQMCNyoOxZPft0ZoA8TZ5aW1TUDCNg4qk/AueM5dQkyiez6IonS6mAu0IzWWSxovFLBZoA4WuhcLy8/bh+xoCL8bagaXJtixQsqbOhq1nCjW7AIVGawgUz+Qqzrr6wB4qmi9m00/JIk7TZCpAtmqgpgJF47SpOn9+UQt16s9YaS71z9NHOYQFha9Pm83Tty0EagrFM/t733RHqIFZH4wb7LDMVh+Ecc4Lv+ZsuQiNH8hXF3hLv39XXNCHbJ+v7x/X2eDmuKLA74sPihVr47jMuRpWfxy1Kwo0GLQjmv1xpBFD3+96gSP5cLVouM7QQaA1vxhK9uKmd853bEZS9jsBSwe2UDDu7mJxd2Mo/muQy81m/2X9I7+N8R/FcPmUd76zjH7X/w4AAP//90glTw==' , 2 ))
156+ time .sleep (0.1 )
157+ assert self ._feature_flag == None
158+
159+ # should Not call the handler
160+ self ._feature_flag = None
161+ change_number_received = 0
162+ q .put (SplitChangeUpdate ('some' , 'SPLIT_UPDATE' , 123456 , 2345 , None , 1 ))
163+ time .sleep (0.1 )
164+ assert self ._feature_flag == None
0 commit comments