package com.crossbow.wear.core; import android.os.Bundle; import android.test.suitebuilder.annotation.SmallTest; import com.android.volley.AuthFailureError; import com.android.volley.DefaultRetryPolicy; import com.android.volley.Request; import com.android.volley.RetryPolicy; import com.crossbow.wear.BuildConfig; import com.crossbow.wear.core.ParamsBundle; import com.crossbow.wear.core.WearDataRequest; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import java.util.HashMap; import java.util.Map; import java.util.UUID; import static org.junit.Assert.assertEquals; @RunWith(RobolectricTestRunner.class) @Config(constants = BuildConfig.class, sdk = 19) public class WearDataRequestTest { private String uuid = UUID.randomUUID().toString(); private String url = UUID.randomUUID().toString(); private String transformerKey = UUID.randomUUID().toString(); private String cacheKey = UUID.randomUUID().toString(); private String tag = UUID.randomUUID().toString(); private String bodyContentType = UUID.randomUUID().toString(); private Map<String, String> headers = new HashMap<>(); private byte[] body = UUID.randomUUID().toString().getBytes(); private Request.Priority priority = Request.Priority.HIGH; private ParamsBundle transformerArgs = new ParamsBundle(); private RetryPolicy retryPolicy; @Before public void setUp() throws Exception { transformerArgs.putString("arg1", UUID.randomUUID().toString()); transformerArgs.putString("arg2", UUID.randomUUID().toString()); headers.put("arg1", UUID.randomUUID().toString()); headers.put("arg2", UUID.randomUUID().toString()); retryPolicy = new DefaultRetryPolicy(3685, 7, 0.4f); } @Test @SmallTest public void testDataRequestMapping() throws AuthFailureError { WearDataRequest wearDataRequest = new WearDataRequest(Request.Method.GET, url, uuid, transformerKey, retryPolicy.getCurrentRetryCount(), retryPolicy.getCurrentTimeout(), cacheKey, tag, bodyContentType, headers, body, priority, transformerArgs); assertEquals(cacheKey, wearDataRequest.getCacheKey()); assertEquals(transformerArgs, wearDataRequest.getTransformerArgs()); assertEquals(priority, wearDataRequest.getPriority()); assertEquals(body, wearDataRequest.getBody()); assertEquals(headers, wearDataRequest.getHeaders()); assertEquals(bodyContentType, wearDataRequest.getBodyContentType()); assertEquals(tag, wearDataRequest.getTag()); assertEquals(cacheKey, wearDataRequest.getCacheKey()); assertEquals(retryPolicy.getCurrentTimeout(), wearDataRequest.getTimeoutMs()); assertEquals(retryPolicy.getCurrentRetryCount(), wearDataRequest.getRetryPolicy().getCurrentRetryCount()); assertEquals(transformerKey, wearDataRequest.getTransformerKey()); assertEquals(url, wearDataRequest.getUrl()); assertEquals(uuid, wearDataRequest.getUuid()); } }