@@ -51,11 +51,6 @@ public class RemoteBaggageRestrictionManagerTest {
5151 public void setUp () throws Exception {
5252 metricsFactory = new InMemoryMetricsFactory ();
5353 metrics = new Metrics (metricsFactory );
54- undertest = new RemoteBaggageRestrictionManager .Builder (SERVICE_NAME )
55- .withProxy (baggageRestrictionProxy )
56- .withMetrics (metrics )
57- .withDenyBaggageInitializationFailure (false )
58- .build ();
5954 }
6055
6156 @ After
@@ -66,16 +61,53 @@ public void tearDown() {
6661 @ Test
6762 public void testUpdateBaggageRestrictions () throws Exception {
6863 when (baggageRestrictionProxy .getBaggageRestrictions (SERVICE_NAME ))
69- .thenReturn (new ArrayList <BaggageRestrictionResponse >(Arrays .asList (RESTRICTION )));
70- undertest .updateBaggageRestrictions ();
64+ .thenReturn (new ArrayList <>(Arrays .asList (RESTRICTION )));
65+ undertest = new RemoteBaggageRestrictionManager .Builder (SERVICE_NAME )
66+ .withProxy (baggageRestrictionProxy )
67+ .withMetrics (metrics )
68+ .withDenyBaggageInitializationFailure (false )
69+ .build ();
7170
71+ undertest .updateBaggageRestrictions ();
7272 assertEquals (Restriction .of (true , MAX_VALUE_LENGTH ), undertest .getRestriction (SERVICE_NAME , BAGGAGE_KEY ));
7373 assertFalse (undertest .getRestriction (SERVICE_NAME , "bad-key" ).isKeyAllowed ());
7474 assertTrue (
7575 metricsFactory .getCounter ("jaeger_tracer_baggage_restrictions_updates.result=ok" ,
7676 Collections .emptyMap ()) > 0L );
7777 }
7878
79+ @ Test
80+ public void testEmptyBaggageRestrictions () throws Exception {
81+ when (baggageRestrictionProxy .getBaggageRestrictions (SERVICE_NAME ))
82+ .thenReturn (new ArrayList <>(Arrays .asList (RESTRICTION )))
83+ .thenReturn (null );
84+ undertest = new RemoteBaggageRestrictionManager .Builder (SERVICE_NAME )
85+ .withProxy (baggageRestrictionProxy )
86+ .withMetrics (metrics )
87+ .withDenyBaggageInitializationFailure (false )
88+ .withRefreshIntervalMs (60000 )
89+ .withInitialDelayMs (60000 )
90+ .build ();
91+
92+ // Initialized successfully
93+ undertest .updateBaggageRestrictions ();
94+ assertEquals (Restriction .of (true , MAX_VALUE_LENGTH ), undertest .getRestriction (SERVICE_NAME , BAGGAGE_KEY ));
95+ assertFalse (undertest .getRestriction (SERVICE_NAME , "bad-key" ).isKeyAllowed ());
96+ assertEquals (1L , metricsFactory .getCounter ("jaeger_tracer_baggage_restrictions_updates.result=ok" ,
97+ Collections .emptyMap ()));
98+ assertEquals (0L , metricsFactory .getCounter ("jaeger_tracer_baggage_restrictions_updates.result=err" ,
99+ Collections .emptyMap ()));
100+
101+ // Empty restrictions response use previously initialized restriction
102+ undertest .updateBaggageRestrictions ();
103+ assertEquals (Restriction .of (true , MAX_VALUE_LENGTH ), undertest .getRestriction (SERVICE_NAME , BAGGAGE_KEY ));
104+ assertFalse (undertest .getRestriction (SERVICE_NAME , "bad-key" ).isKeyAllowed ());
105+ assertEquals (1L , metricsFactory .getCounter ("jaeger_tracer_baggage_restrictions_updates.result=ok" ,
106+ Collections .emptyMap ()));
107+ assertEquals (1L , metricsFactory .getCounter ("jaeger_tracer_baggage_restrictions_updates.result=err" ,
108+ Collections .emptyMap ()));
109+ }
110+
79111 @ Test
80112 public void testAllowBaggageOnInitializationFailure () throws Exception {
81113 when (baggageRestrictionProxy .getBaggageRestrictions (SERVICE_NAME ))
@@ -100,7 +132,7 @@ public void testAllowBaggageOnInitializationFailure() throws Exception {
100132 @ Test
101133 public void testDenyBaggageOnInitializationFailure () throws Exception {
102134 when (baggageRestrictionProxy .getBaggageRestrictions (SERVICE_NAME ))
103- .thenReturn (new ArrayList <BaggageRestrictionResponse >(Arrays .asList (RESTRICTION )));
135+ .thenReturn (new ArrayList <>(Arrays .asList (RESTRICTION )));
104136 undertest = new RemoteBaggageRestrictionManager .Builder (SERVICE_NAME )
105137 .withProxy (baggageRestrictionProxy )
106138 .withMetrics (metrics )
0 commit comments