Skip to content

Commit e11269c

Browse files
committed
Merge branch 'feat/fdv2' into mk/sdk-xxx/reorg
2 parents e98b75a + 7834f90 commit e11269c

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

ldclient/testing/impl/datasystem/test_fdv2_datasystem.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

6169
def test_can_stop_fdv2():

0 commit comments

Comments
 (0)