@Ignore("fix concurrency issues")
@Test
public void
makeRequest_whenGooglePlayServicesIsLinkedAndAdInfoIsNotCached_shouldCacheAdInfoBeforeFetchingAd() throws Exception {

    SharedPreferencesHelper.getSharedPreferences(context).edit().clear().commit();
    GpsHelperTest.verifyCleanClientMetadata(context);
    GpsHelper.setClassNamesForTesting();
    GpsHelperTest.TestAdInfo adInfo = new GpsHelperTest.TestAdInfo();
    when(methodBuilder.setStatic(any(Class.class))).thenReturn(methodBuilder);
    when(methodBuilder.addParam(any(Class.class), any())).thenReturn(methodBuilder);
    when(methodBuilder.execute()).thenReturn(
            GpsHelper.GOOGLE_PLAY_SUCCESS_CODE,
            adInfo,
            adInfo.ADVERTISING_ID,
            adInfo.LIMIT_AD_TRACKING_ENABLED
    );
    subject.makeRequest(nativeGpsHelperListener);
    semaphore.acquire();
    verify(nativeGpsHelperListener).onFetchAdInfoCompleted();
    GpsHelperTest.verifyClientMetadata(context, adInfo);
}