package com.mopub.network; import android.app.Activity; import android.content.Context; import com.mopub.common.test.support.SdkTestRunner; import com.mopub.common.util.test.support.CommonUtils; import com.mopub.volley.RequestQueue; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.robolectric.Robolectric; import static org.mockito.Matchers.any; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @RunWith(SdkTestRunner.class) public class TrackingRequestTest { @Mock private RequestQueue mockRequestQueue; private Context context; private String url; @Before public void setup() { context = (Context) Robolectric.buildActivity(Activity.class).create().get(); url = "testUrl"; Networking.setRequestQueueForTesting(mockRequestQueue); } @Test public void makeTrackingHttpRequest_shouldMakeTrackingHttpRequestWithWebViewUserAgent() throws Exception { TrackingRequest.makeTrackingHttpRequest(url, context); verify(mockRequestQueue).add(any(TrackingRequest.class)); } @Test public void makeTrackingHttpRequest_withNullUrl_shouldNotMakeTrackingHttpRequest() throws Exception { TrackingRequest.makeTrackingHttpRequest((String) null, context); verify(mockRequestQueue, never()).add(any(TrackingRequest.class)); CommonUtils.assertHttpRequestsMade(null); } @Test public void makeTrackingHttpRequest_withNullContext_shouldNotMakeTrackingHttpRequest() throws Exception { TrackingRequest.makeTrackingHttpRequest(url, null); verify(mockRequestQueue, never()).add(any(TrackingRequest.class)); CommonUtils.assertHttpRequestsMade(null); } }