6
6
import org .junit .Assert ;
7
7
import org .junit .Test ;
8
8
import org .mockito .Mockito ;
9
+
10
+ import java .lang .reflect .Field ;
9
11
import java .lang .reflect .InvocationTargetException ;
10
12
import java .lang .reflect .Method ;
11
13
import java .util .HashMap ;
@@ -158,17 +160,18 @@ public void testUniqueKeysChunks() throws NoSuchMethodException, InvocationTarge
158
160
}
159
161
160
162
@ Test
161
- public void testTrackReachMaxKeys () throws NoSuchMethodException , InvocationTargetException , IllegalAccessException {
163
+ public void testTrackReachMaxKeys () throws NoSuchMethodException , InvocationTargetException , IllegalAccessException , NoSuchFieldException {
162
164
TelemetrySynchronizer telemetrySynchronizer = Mockito .mock (TelemetryInMemorySubmitter .class );
163
165
UniqueKeysTrackerImp uniqueKeysTrackerImp = new UniqueKeysTrackerImp (telemetrySynchronizer , 10000 , 10000 , null );
164
166
for (int i =1 ; i <6000 ; i ++) {
165
167
Assert .assertTrue (uniqueKeysTrackerImp .track ("feature1" , "key" + i ));
166
168
Assert .assertTrue (uniqueKeysTrackerImp .track ("feature2" , "key" + i ));
167
169
}
168
170
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 );
172
175
Assert .assertTrue (trackerSize == 1998 );
173
176
}
174
177
}
0 commit comments