@@ -24,7 +24,11 @@ def test_two_phase_init():
2424 td_initializer .update (td_initializer .flag ("feature-flag" ).on (True ))
2525
2626 td_synchronizer = TestDataV2 .data_source ()
27- td_synchronizer .update (td_synchronizer .flag ("feature-flag" ).on (True ))
27+ # Set this to true, and then to false to ensure the version number exceeded
28+ # the initializer version number. Otherwise, they start as the same version
29+ # and the latest value is ignored.
30+ td_synchronizer .update (td_initializer .flag ("feature-flag" ).on (True ))
31+ td_synchronizer .update (td_synchronizer .flag ("feature-flag" ).on (False ))
2832 data_system_config = DataSystemConfig (
2933 initializers = [td_initializer .build_initializer ],
3034 primary_synchronizer = td_synchronizer .build_synchronizer ,
@@ -33,7 +37,8 @@ def test_two_phase_init():
3337 set_on_ready = Event ()
3438 fdv2 = FDv2 (Config (sdk_key = "dummy" ), data_system_config )
3539
36- changed = Event ()
40+ initialized = Event ()
41+ modified = Event ()
3742 changes : List [FlagChange ] = []
3843 count = 0
3944
@@ -42,20 +47,23 @@ def listener(flag_change: FlagChange):
4247 count += 1
4348 changes .append (flag_change )
4449
45- if count >= 2 :
46- changed .set ()
50+ if count == 2 :
51+ initialized .set ()
52+ if count == 3 :
53+ modified .set ()
4754
4855 fdv2 .flag_tracker .add_listener (listener )
4956
5057 fdv2 .start (set_on_ready )
5158 assert set_on_ready .wait (1 ), "Data system did not become ready in time"
52- changed . clear ()
59+ assert initialized . wait ( 1 ), "Flag change listener was not called in time"
5360
5461 td_synchronizer .update (td_synchronizer .flag ("feature-flag" ).on (False ))
55- assert changed .wait (1 ), "Flag change listener was not called in time"
56- assert len (changes ) == 2
62+ assert modified .wait (1 ), "Flag change listener was not called in time"
63+ assert len (changes ) == 3
5764 assert changes [0 ].key == "feature-flag"
5865 assert changes [1 ].key == "feature-flag"
66+ assert changes [2 ].key == "feature-flag"
5967
6068
6169def test_can_stop_fdv2 ():
0 commit comments