@@ -1095,6 +1095,28 @@ public PickResult pickSubchannel(PickSubchannelArgs args) {
10951095 "waiting on priority group p0 (waiting on priority group p1 (child_reason))" );
10961096 }
10971097
1098+ @ Test
1099+ public void initialChildPicker_returnsAnnotatedDelayAttributes () throws Exception {
1100+ PriorityChildConfig priorityChildConfig0 =
1101+ new PriorityChildConfig (newChildConfig (fooLbProvider , new Object ()), true );
1102+ PriorityLbConfig priorityLbConfig =
1103+ new PriorityLbConfig (ImmutableMap .of ("p0" , priorityChildConfig0 ), ImmutableList .of ("p0" ));
1104+ priorityLb .acceptResolvedAddresses (
1105+ ResolvedAddresses .newBuilder ()
1106+ .setAddresses (ImmutableList .<EquivalentAddressGroup >of ())
1107+ .setLoadBalancingPolicyConfig (priorityLbConfig )
1108+ .build ());
1109+
1110+ verify (helper , atLeastOnce ())
1111+ .updateBalancingState (eq (CONNECTING ), pickerCaptor .capture ());
1112+ SubchannelPicker initialPicker = pickerCaptor .getAllValues ().get (0 );
1113+ PickResult result = initialPicker .pickSubchannel (mock (PickSubchannelArgs .class ));
1114+
1115+ assertThat (result .getDelayType ()).isEqualTo ("connecting" );
1116+ assertThat (result .getDelayReason ()).isEqualTo (
1117+ "priority child state uninitialized" );
1118+ }
1119+
10981120 private void assertLatestConnectivityState (ConnectivityState expectedState ) {
10991121 verify (helper , atLeastOnce ())
11001122 .updateBalancingState (connectivityStateCaptor .capture (), pickerCaptor .capture ());
0 commit comments