66import org .junit .Assert ;
77import org .junit .Test ;
88import org .mockito .Mockito ;
9+
10+ import java .lang .reflect .Field ;
911import java .lang .reflect .InvocationTargetException ;
1012import java .lang .reflect .Method ;
1113import java .util .HashMap ;
@@ -158,17 +160,18 @@ public void testUniqueKeysChunks() throws NoSuchMethodException, InvocationTarge
158160 }
159161
160162 @ Test
161- public void testTrackReachMaxKeys () throws NoSuchMethodException , InvocationTargetException , IllegalAccessException {
163+ public void testTrackReachMaxKeys () throws NoSuchMethodException , InvocationTargetException , IllegalAccessException , NoSuchFieldException {
162164 TelemetrySynchronizer telemetrySynchronizer = Mockito .mock (TelemetryInMemorySubmitter .class );
163165 UniqueKeysTrackerImp uniqueKeysTrackerImp = new UniqueKeysTrackerImp (telemetrySynchronizer , 10000 , 10000 , null );
164166 for (int i =1 ; i <6000 ; i ++) {
165167 Assert .assertTrue (uniqueKeysTrackerImp .track ("feature1" , "key" + i ));
166168 Assert .assertTrue (uniqueKeysTrackerImp .track ("feature2" , "key" + i ));
167169 }
168170 Mockito .verify (telemetrySynchronizer , Mockito .times (2 )).synchronizeUniqueKeys (Mockito .anyObject ());
169- Method methodGetTrackerSize = uniqueKeysTrackerImp .getClass ().getDeclaredMethod ("getTrackerKeysSize" );
170- methodGetTrackerSize .setAccessible (true );
171- int trackerSize = (int ) methodGetTrackerSize .invoke (uniqueKeysTrackerImp );
171+
172+ Field getTrackerSize = uniqueKeysTrackerImp .getClass ().getDeclaredField ("trackerKeysSize" );
173+ getTrackerSize .setAccessible (true );
174+ int trackerSize = (int ) getTrackerSize .get (uniqueKeysTrackerImp );
172175 Assert .assertTrue (trackerSize == 1998 );
173176 }
174177}
0 commit comments