| OLD | NEW | 
|    1 // Copyright 2014 The Chromium Authors. All rights reserved. |    1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 package org.chromium.net; |    5 package org.chromium.net; | 
|    6  |    6  | 
|    7 import android.test.suitebuilder.annotation.SmallTest; |    7 import android.test.suitebuilder.annotation.SmallTest; | 
|    8 import android.util.Pair; |    8 import android.util.Pair; | 
|    9  |    9  | 
|   10 import org.chromium.base.test.util.Feature; |   10 import org.chromium.base.test.util.Feature; | 
| (...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  440                         MockUrlRequestJobFactory.FailurePhase.READ_ASYNC, |  440                         MockUrlRequestJobFactory.FailurePhase.READ_ASYNC, | 
|  441                         arbitraryNetError)); |  441                         arbitraryNetError)); | 
|  442         assertEquals(200, listener.mResponseInfo.getHttpStatusCode()); |  442         assertEquals(200, listener.mResponseInfo.getHttpStatusCode()); | 
|  443         assertNotNull(listener.mError); |  443         assertNotNull(listener.mError); | 
|  444         assertEquals(arbitraryNetError, listener.mError.netError()); |  444         assertEquals(arbitraryNetError, listener.mError.netError()); | 
|  445         assertFalse(listener.mOnRedirectCalled); |  445         assertFalse(listener.mOnRedirectCalled); | 
|  446         assertTrue(listener.mOnErrorCalled); |  446         assertTrue(listener.mOnErrorCalled); | 
|  447         assertEquals(listener.mResponseStep, ResponseStep.ON_RESPONSE_STARTED); |  447         assertEquals(listener.mResponseStep, ResponseStep.ON_RESPONSE_STARTED); | 
|  448     } |  448     } | 
|  449  |  449  | 
 |  450     @SmallTest | 
 |  451     @Feature({"Cronet"}) | 
 |  452     public void testUploadSetDataProvider() throws Exception { | 
 |  453         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  454         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  455                 NativeTestServer.getEchoBodyURL(), listener, listener.getExecuto
     r()); | 
 |  456  | 
 |  457         try { | 
 |  458             urlRequest.setUploadDataProvider(null, listener.getExecutor()); | 
 |  459             fail("Exception not thrown"); | 
 |  460         } catch (NullPointerException e) { | 
 |  461             assertEquals("Invalid UploadDataProvider.", e.getMessage()); | 
 |  462         } | 
 |  463  | 
 |  464         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  465                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  466         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  467         try { | 
 |  468             urlRequest.start(); | 
 |  469             fail("Exception not thrown"); | 
 |  470         } catch (IllegalArgumentException e) { | 
 |  471             assertEquals("Requests with upload data must have a Content-Type.", 
     e.getMessage()); | 
 |  472         } | 
 |  473     } | 
 |  474  | 
 |  475     @SmallTest | 
 |  476     @Feature({"Cronet"}) | 
 |  477     public void testUploadEmptyBodySync() throws Exception { | 
 |  478         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  479         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  480                 NativeTestServer.getEchoBodyURL(), listener, listener.getExecuto
     r()); | 
 |  481  | 
 |  482         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  483                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  484         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  485         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  486         urlRequest.start(); | 
 |  487         listener.blockForDone(); | 
 |  488  | 
 |  489         assertEquals(0, dataProvider.getLength()); | 
 |  490         assertEquals(0, dataProvider.getNumReadCalls()); | 
 |  491         assertEquals(0, dataProvider.getNumRewindCalls()); | 
 |  492  | 
 |  493         assertEquals(200, listener.mResponseInfo.getHttpStatusCode()); | 
 |  494         assertEquals("", listener.mResponseAsString); | 
 |  495     } | 
 |  496  | 
 |  497     @SmallTest | 
 |  498     @Feature({"Cronet"}) | 
 |  499     public void testUploadSync() throws Exception { | 
 |  500         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  501         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  502                 NativeTestServer.getEchoBodyURL(), listener, listener.getExecuto
     r()); | 
 |  503  | 
 |  504         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  505                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  506         dataProvider.addRead("test".getBytes()); | 
 |  507         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  508         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  509         urlRequest.start(); | 
 |  510         listener.blockForDone(); | 
 |  511  | 
 |  512         assertEquals(4, dataProvider.getLength()); | 
 |  513         assertEquals(1, dataProvider.getNumReadCalls()); | 
 |  514         assertEquals(0, dataProvider.getNumRewindCalls()); | 
 |  515  | 
 |  516         assertEquals(200, listener.mResponseInfo.getHttpStatusCode()); | 
 |  517         assertEquals("test", listener.mResponseAsString); | 
 |  518     } | 
 |  519  | 
 |  520     @SmallTest | 
 |  521     @Feature({"Cronet"}) | 
 |  522     public void testUploadMultiplePiecesSync() throws Exception { | 
 |  523         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  524         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  525                 NativeTestServer.getEchoBodyURL(), listener, listener.getExecuto
     r()); | 
 |  526  | 
 |  527         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  528                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  529         dataProvider.addRead("Y".getBytes()); | 
 |  530         dataProvider.addRead("et ".getBytes()); | 
 |  531         dataProvider.addRead("another ".getBytes()); | 
 |  532         dataProvider.addRead("test".getBytes()); | 
 |  533  | 
 |  534         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  535         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  536         urlRequest.start(); | 
 |  537         listener.blockForDone(); | 
 |  538  | 
 |  539         assertEquals(16, dataProvider.getLength()); | 
 |  540         assertEquals(4, dataProvider.getNumReadCalls()); | 
 |  541         assertEquals(0, dataProvider.getNumRewindCalls()); | 
 |  542  | 
 |  543         assertEquals(200, listener.mResponseInfo.getHttpStatusCode()); | 
 |  544         assertEquals("Yet another test", listener.mResponseAsString); | 
 |  545     } | 
 |  546  | 
 |  547     @SmallTest | 
 |  548     @Feature({"Cronet"}) | 
 |  549     public void testUploadMultiplePiecesAsync() throws Exception { | 
 |  550         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  551         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  552                 NativeTestServer.getEchoBodyURL(), listener, listener.getExecuto
     r()); | 
 |  553  | 
 |  554         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  555                 TestUploadDataProvider.SuccessCallbackMode.ASYNC, listener.getEx
     ecutor()); | 
 |  556         dataProvider.addRead("Y".getBytes()); | 
 |  557         dataProvider.addRead("et ".getBytes()); | 
 |  558         dataProvider.addRead("another ".getBytes()); | 
 |  559         dataProvider.addRead("test".getBytes()); | 
 |  560  | 
 |  561         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  562         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  563         urlRequest.start(); | 
 |  564         listener.blockForDone(); | 
 |  565  | 
 |  566         assertEquals(16, dataProvider.getLength()); | 
 |  567         assertEquals(4, dataProvider.getNumReadCalls()); | 
 |  568         assertEquals(0, dataProvider.getNumRewindCalls()); | 
 |  569  | 
 |  570         assertEquals(200, listener.mResponseInfo.getHttpStatusCode()); | 
 |  571         assertEquals("Yet another test", listener.mResponseAsString); | 
 |  572     } | 
 |  573  | 
 |  574     @SmallTest | 
 |  575     @Feature({"Cronet"}) | 
 |  576     public void testUploadChangesDefaultMethod() throws Exception { | 
 |  577         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  578         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  579                 NativeTestServer.getEchoMethodURL(), listener, listener.getExecu
     tor()); | 
 |  580  | 
 |  581         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  582                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  583         dataProvider.addRead("test".getBytes()); | 
 |  584         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  585         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  586         urlRequest.start(); | 
 |  587         listener.blockForDone(); | 
 |  588  | 
 |  589         assertEquals(200, listener.mResponseInfo.getHttpStatusCode()); | 
 |  590         assertEquals("POST", listener.mResponseAsString); | 
 |  591     } | 
 |  592  | 
 |  593     @SmallTest | 
 |  594     @Feature({"Cronet"}) | 
 |  595     public void testUploadWithSetMethod() throws Exception { | 
 |  596         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  597         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  598                 NativeTestServer.getEchoMethodURL(), listener, listener.getExecu
     tor()); | 
 |  599  | 
 |  600         final String method = "PUT"; | 
 |  601         urlRequest.setHttpMethod(method); | 
 |  602  | 
 |  603         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  604                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  605         dataProvider.addRead("test".getBytes()); | 
 |  606         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  607         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  608         urlRequest.start(); | 
 |  609         listener.blockForDone(); | 
 |  610  | 
 |  611         assertEquals(200, listener.mResponseInfo.getHttpStatusCode()); | 
 |  612         assertEquals("PUT", listener.mResponseAsString); | 
 |  613     } | 
 |  614  | 
 |  615     @SmallTest | 
 |  616     @Feature({"Cronet"}) | 
 |  617     public void testUploadRedirectSync() throws Exception { | 
 |  618         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  619         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  620                 NativeTestServer.getRedirectToEchoBody(), listener, listener.get
     Executor()); | 
 |  621  | 
 |  622         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  623                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  624         dataProvider.addRead("test".getBytes()); | 
 |  625         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  626         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  627         urlRequest.start(); | 
 |  628         listener.blockForDone(); | 
 |  629  | 
 |  630         // 1 read call before the rewind, 1 after. | 
 |  631         assertEquals(2, dataProvider.getNumReadCalls()); | 
 |  632         assertEquals(1, dataProvider.getNumRewindCalls()); | 
 |  633  | 
 |  634         assertEquals(200, listener.mResponseInfo.getHttpStatusCode()); | 
 |  635         assertEquals("test", listener.mResponseAsString); | 
 |  636     } | 
 |  637  | 
 |  638     @SmallTest | 
 |  639     @Feature({"Cronet"}) | 
 |  640     public void testUploadRedirectAsync() throws Exception { | 
 |  641         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  642         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  643                 NativeTestServer.getRedirectToEchoBody(), listener, listener.get
     Executor()); | 
 |  644  | 
 |  645         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  646                 TestUploadDataProvider.SuccessCallbackMode.ASYNC, listener.getEx
     ecutor()); | 
 |  647         dataProvider.addRead("test".getBytes()); | 
 |  648         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  649         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  650         urlRequest.start(); | 
 |  651         listener.blockForDone(); | 
 |  652  | 
 |  653         // 1 read call before the rewind, 1 after. | 
 |  654         assertEquals(2, dataProvider.getNumReadCalls()); | 
 |  655         assertEquals(1, dataProvider.getNumRewindCalls()); | 
 |  656  | 
 |  657         assertEquals(200, listener.mResponseInfo.getHttpStatusCode()); | 
 |  658         assertEquals("test", listener.mResponseAsString); | 
 |  659     } | 
 |  660  | 
 |  661     @SmallTest | 
 |  662     @Feature({"Cronet"}) | 
 |  663     public void testUploadReadFailSync() throws Exception { | 
 |  664         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  665         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  666                 NativeTestServer.getEchoBodyURL(), listener, listener.getExecuto
     r()); | 
 |  667  | 
 |  668         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  669                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  670         dataProvider.setReadFailure(0, TestUploadDataProvider.FailMode.CALLBACK_
     SYNC); | 
 |  671         // This will never be read, but if the length is 0, read may never be | 
 |  672         // called. | 
 |  673         dataProvider.addRead("test".getBytes()); | 
 |  674         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  675         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  676         urlRequest.start(); | 
 |  677         listener.blockForDone(); | 
 |  678  | 
 |  679         assertEquals(1, dataProvider.getNumReadCalls()); | 
 |  680         assertEquals(0, dataProvider.getNumRewindCalls()); | 
 |  681  | 
 |  682         assertEquals("Exception received from UploadDataProvider", listener.mErr
     or.getMessage()); | 
 |  683         assertEquals("Sync read failure", listener.mError.getCause().getMessage(
     )); | 
 |  684         assertEquals(null, listener.mResponseInfo); | 
 |  685     } | 
 |  686  | 
 |  687     @SmallTest | 
 |  688     @Feature({"Cronet"}) | 
 |  689     public void testUploadReadFailAsync() throws Exception { | 
 |  690         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  691         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  692                 NativeTestServer.getEchoBodyURL(), listener, listener.getExecuto
     r()); | 
 |  693  | 
 |  694         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  695                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  696         dataProvider.setReadFailure(0, TestUploadDataProvider.FailMode.CALLBACK_
     ASYNC); | 
 |  697         // This will never be read, but if the length is 0, read may never be | 
 |  698         // called. | 
 |  699         dataProvider.addRead("test".getBytes()); | 
 |  700         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  701         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  702         urlRequest.start(); | 
 |  703         listener.blockForDone(); | 
 |  704  | 
 |  705         assertEquals(1, dataProvider.getNumReadCalls()); | 
 |  706         assertEquals(0, dataProvider.getNumRewindCalls()); | 
 |  707  | 
 |  708         assertEquals("Exception received from UploadDataProvider", listener.mErr
     or.getMessage()); | 
 |  709         assertEquals("Async read failure", listener.mError.getCause().getMessage
     ()); | 
 |  710         assertEquals(null, listener.mResponseInfo); | 
 |  711     } | 
 |  712  | 
 |  713     @SmallTest | 
 |  714     @Feature({"Cronet"}) | 
 |  715     public void testUploadReadFailThrown() throws Exception { | 
 |  716         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  717         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  718                 NativeTestServer.getEchoBodyURL(), listener, listener.getExecuto
     r()); | 
 |  719  | 
 |  720         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  721                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  722         dataProvider.setReadFailure(0, TestUploadDataProvider.FailMode.THROWN); | 
 |  723         // This will never be read, but if the length is 0, read may never be | 
 |  724         // called. | 
 |  725         dataProvider.addRead("test".getBytes()); | 
 |  726         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  727         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  728         urlRequest.start(); | 
 |  729         listener.blockForDone(); | 
 |  730  | 
 |  731         assertEquals(1, dataProvider.getNumReadCalls()); | 
 |  732         assertEquals(0, dataProvider.getNumRewindCalls()); | 
 |  733  | 
 |  734         assertEquals("Exception received from UploadDataProvider", listener.mErr
     or.getMessage()); | 
 |  735         assertEquals("Thrown read failure", listener.mError.getCause().getMessag
     e()); | 
 |  736         assertEquals(null, listener.mResponseInfo); | 
 |  737     } | 
 |  738  | 
 |  739     @SmallTest | 
 |  740     @Feature({"Cronet"}) | 
 |  741     public void testUploadRewindFailSync() throws Exception { | 
 |  742         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  743         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  744                 NativeTestServer.getRedirectToEchoBody(), listener, listener.get
     Executor()); | 
 |  745  | 
 |  746         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  747                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  748         dataProvider.setRewindFailure(TestUploadDataProvider.FailMode.CALLBACK_S
     YNC); | 
 |  749         dataProvider.addRead("test".getBytes()); | 
 |  750         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  751         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  752         urlRequest.start(); | 
 |  753         listener.blockForDone(); | 
 |  754  | 
 |  755         assertEquals(1, dataProvider.getNumReadCalls()); | 
 |  756         assertEquals(1, dataProvider.getNumRewindCalls()); | 
 |  757  | 
 |  758         assertEquals("Exception received from UploadDataProvider", listener.mErr
     or.getMessage()); | 
 |  759         assertEquals("Sync rewind failure", listener.mError.getCause().getMessag
     e()); | 
 |  760         assertEquals(null, listener.mResponseInfo); | 
 |  761     } | 
 |  762  | 
 |  763     @SmallTest | 
 |  764     @Feature({"Cronet"}) | 
 |  765     public void testUploadRewindFailAsync() throws Exception { | 
 |  766         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  767         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  768                 NativeTestServer.getRedirectToEchoBody(), listener, listener.get
     Executor()); | 
 |  769  | 
 |  770         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  771                 TestUploadDataProvider.SuccessCallbackMode.ASYNC, listener.getEx
     ecutor()); | 
 |  772         dataProvider.setRewindFailure(TestUploadDataProvider.FailMode.CALLBACK_A
     SYNC); | 
 |  773         dataProvider.addRead("test".getBytes()); | 
 |  774         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  775         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  776         urlRequest.start(); | 
 |  777         listener.blockForDone(); | 
 |  778  | 
 |  779         assertEquals(1, dataProvider.getNumReadCalls()); | 
 |  780         assertEquals(1, dataProvider.getNumRewindCalls()); | 
 |  781  | 
 |  782         assertEquals("Exception received from UploadDataProvider", listener.mErr
     or.getMessage()); | 
 |  783         assertEquals("Async rewind failure", listener.mError.getCause().getMessa
     ge()); | 
 |  784         assertEquals(null, listener.mResponseInfo); | 
 |  785     } | 
 |  786  | 
 |  787     @SmallTest | 
 |  788     @Feature({"Cronet"}) | 
 |  789     public void testUploadRewindFailThrown() throws Exception { | 
 |  790         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  791         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  792                 NativeTestServer.getRedirectToEchoBody(), listener, listener.get
     Executor()); | 
 |  793  | 
 |  794         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  795                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  796         dataProvider.setRewindFailure(TestUploadDataProvider.FailMode.THROWN); | 
 |  797         dataProvider.addRead("test".getBytes()); | 
 |  798         urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor()); | 
 |  799         urlRequest.addHeader("Content-Type", "useless/string"); | 
 |  800         urlRequest.start(); | 
 |  801         listener.blockForDone(); | 
 |  802  | 
 |  803         assertEquals(1, dataProvider.getNumReadCalls()); | 
 |  804         assertEquals(1, dataProvider.getNumRewindCalls()); | 
 |  805  | 
 |  806         assertEquals("Exception received from UploadDataProvider", listener.mErr
     or.getMessage()); | 
 |  807         assertEquals("Thrown rewind failure", listener.mError.getCause().getMess
     age()); | 
 |  808         assertEquals(null, listener.mResponseInfo); | 
 |  809     } | 
 |  810  | 
 |  811     @SmallTest | 
 |  812     @Feature({"Cronet"}) | 
 |  813     public void testUploadChunkedNotSupported() throws Exception { | 
 |  814         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
 |  815         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
 |  816                 NativeTestServer.getRedirectToEchoBody(), listener, listener.get
     Executor()); | 
 |  817  | 
 |  818         TestUploadDataProvider dataProvider = new TestUploadDataProvider( | 
 |  819                 TestUploadDataProvider.SuccessCallbackMode.SYNC, listener.getExe
     cutor()); | 
 |  820         dataProvider.setChunked(true); | 
 |  821         try { | 
 |  822             urlRequest.setUploadDataProvider(dataProvider, listener.getExecutor(
     )); | 
 |  823             fail("Exception not thrown"); | 
 |  824         } catch (IllegalArgumentException e) { | 
 |  825             assertEquals("Chunked uploads not supported.", e.getMessage()); | 
 |  826         } | 
 |  827     } | 
 |  828  | 
|  450     private void throwOrCancel(FailureType failureType, ResponseStep failureStep
     , |  829     private void throwOrCancel(FailureType failureType, ResponseStep failureStep
     , | 
|  451             boolean expectResponseInfo, boolean expectError) { |  830             boolean expectResponseInfo, boolean expectError) { | 
|  452         TestUrlRequestListener listener = new TestUrlRequestListener(); |  831         TestUrlRequestListener listener = new TestUrlRequestListener(); | 
|  453         listener.setFailure(failureType, failureStep); |  832         listener.setFailure(failureType, failureStep); | 
|  454         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( |  833         UrlRequest urlRequest = mActivity.mUrlRequestContext.createRequest( | 
|  455                 MockUrlRequestJobFactory.REDIRECT_URL, |  834                 MockUrlRequestJobFactory.REDIRECT_URL, | 
|  456                 listener, listener.getExecutor()); |  835                 listener, listener.getExecutor()); | 
|  457         urlRequest.start(); |  836         urlRequest.start(); | 
|  458         listener.blockForDone(); |  837         listener.blockForDone(); | 
|  459         assertTrue(listener.mOnRedirectCalled); |  838         assertTrue(listener.mOnRedirectCalled); | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  499         urlRequest.start(); |  878         urlRequest.start(); | 
|  500         listener.blockForDone(); |  879         listener.blockForDone(); | 
|  501         assertTrue(listener.mOnRedirectCalled); |  880         assertTrue(listener.mOnRedirectCalled); | 
|  502         assertEquals(listener.mResponseStep, ResponseStep.ON_SUCCEEDED); |  881         assertEquals(listener.mResponseStep, ResponseStep.ON_SUCCEEDED); | 
|  503         assertFalse(urlRequest.isCanceled()); |  882         assertFalse(urlRequest.isCanceled()); | 
|  504         assertNotNull(listener.mResponseInfo); |  883         assertNotNull(listener.mResponseInfo); | 
|  505         assertNull(listener.mError); |  884         assertNull(listener.mError); | 
|  506         assertFalse(listener.mOnErrorCalled); |  885         assertFalse(listener.mOnErrorCalled); | 
|  507     } |  886     } | 
|  508 } |  887 } | 
| OLD | NEW |