OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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.os.ConditionVariable; | 7 import android.os.ConditionVariable; |
8 import android.test.suitebuilder.annotation.SmallTest; | 8 import android.test.suitebuilder.annotation.SmallTest; |
9 | 9 |
10 import org.chromium.base.test.util.Feature; | 10 import org.chromium.base.test.util.Feature; |
11 import org.chromium.net.TestUrlRequestListener.ResponseStep; | 11 import org.chromium.net.TestUrlRequestListener.ResponseStep; |
12 import org.chromium.net.UrlRequest.Status; | 12 import org.chromium.net.UrlRequest.Status; |
13 import org.chromium.net.UrlRequest.StatusListener; | 13 import org.chromium.net.UrlRequest.StatusListener; |
14 | 14 |
15 /** | 15 /** |
16 * Tests that {@link CronetUrlRequest#getStatus} works as expected. | 16 * Tests that {@link CronetUrlRequest#getStatus} works as expected. |
17 */ | 17 */ |
18 public class GetStatusTest extends CronetTestBase { | 18 public class GetStatusTest extends CronetTestBase { |
19 private CronetTestActivity mActivity; | 19 private CronetTestFramework mTestFramework; |
20 | 20 |
21 private static class TestStatusListener extends StatusListener { | 21 private static class TestStatusListener extends StatusListener { |
22 boolean mOnStatusCalled = false; | 22 boolean mOnStatusCalled = false; |
23 int mStatus = Integer.MAX_VALUE; | 23 int mStatus = Integer.MAX_VALUE; |
24 private final ConditionVariable mBlock = new ConditionVariable(); | 24 private final ConditionVariable mBlock = new ConditionVariable(); |
25 | 25 |
26 @Override | 26 @Override |
27 public void onStatus(int status) { | 27 public void onStatus(int status) { |
28 mOnStatusCalled = true; | 28 mOnStatusCalled = true; |
29 mStatus = status; | 29 mStatus = status; |
30 mBlock.open(); | 30 mBlock.open(); |
31 } | 31 } |
32 | 32 |
33 public void waitUntilOnStatusCalled() { | 33 public void waitUntilOnStatusCalled() { |
34 mBlock.block(); | 34 mBlock.block(); |
35 mBlock.close(); | 35 mBlock.close(); |
36 } | 36 } |
37 } | 37 } |
38 @Override | 38 @Override |
39 protected void setUp() throws Exception { | 39 protected void setUp() throws Exception { |
40 super.setUp(); | 40 super.setUp(); |
41 mActivity = launchCronetTestApp(); | 41 mTestFramework = startCronetTestFramework(); |
42 assertTrue(NativeTestServer.startNativeTestServer(getInstrumentation().g
etTargetContext())); | 42 assertTrue(NativeTestServer.startNativeTestServer(getContext())); |
43 } | 43 } |
44 | 44 |
45 @Override | 45 @Override |
46 protected void tearDown() throws Exception { | 46 protected void tearDown() throws Exception { |
47 NativeTestServer.shutdownNativeTestServer(); | 47 NativeTestServer.shutdownNativeTestServer(); |
48 mActivity.mCronetEngine.shutdown(); | 48 mTestFramework.mCronetEngine.shutdown(); |
49 super.tearDown(); | 49 super.tearDown(); |
50 } | 50 } |
51 | 51 |
52 @SmallTest | 52 @SmallTest |
53 @Feature({"Cronet"}) | 53 @Feature({"Cronet"}) |
54 public void testSimpleGet() throws Exception { | 54 public void testSimpleGet() throws Exception { |
55 String url = NativeTestServer.getEchoMethodURL(); | 55 String url = NativeTestServer.getEchoMethodURL(); |
56 TestUrlRequestListener listener = new TestUrlRequestListener(); | 56 TestUrlRequestListener listener = new TestUrlRequestListener(); |
57 listener.setAutoAdvance(false); | 57 listener.setAutoAdvance(false); |
58 UrlRequest.Builder builder = new UrlRequest.Builder( | 58 UrlRequest.Builder builder = new UrlRequest.Builder( |
59 url, listener, listener.getExecutor(), mActivity.mCronetEngine); | 59 url, listener, listener.getExecutor(), mTestFramework.mCronetEng
ine); |
60 UrlRequest urlRequest = builder.build(); | 60 UrlRequest urlRequest = builder.build(); |
61 // Calling before request is started should give Status.INVALID, | 61 // Calling before request is started should give Status.INVALID, |
62 // since the native adapter is not created. | 62 // since the native adapter is not created. |
63 TestStatusListener statusListener0 = new TestStatusListener(); | 63 TestStatusListener statusListener0 = new TestStatusListener(); |
64 urlRequest.getStatus(statusListener0); | 64 urlRequest.getStatus(statusListener0); |
65 statusListener0.waitUntilOnStatusCalled(); | 65 statusListener0.waitUntilOnStatusCalled(); |
66 assertTrue(statusListener0.mOnStatusCalled); | 66 assertTrue(statusListener0.mOnStatusCalled); |
67 assertEquals(Status.INVALID, statusListener0.mStatus); | 67 assertEquals(Status.INVALID, statusListener0.mStatus); |
68 | 68 |
69 urlRequest.start(); | 69 urlRequest.start(); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 Status.convertLoadState(16); | 130 Status.convertLoadState(16); |
131 fail(); | 131 fail(); |
132 } catch (AssertionError e) { | 132 } catch (AssertionError e) { |
133 // Expected. | 133 // Expected. |
134 } catch (IllegalArgumentException e) { | 134 } catch (IllegalArgumentException e) { |
135 // If assertions are disabled, an IllegalArgumentException should be
thrown. | 135 // If assertions are disabled, an IllegalArgumentException should be
thrown. |
136 assertEquals("No request status found.", e.getMessage()); | 136 assertEquals("No request status found.", e.getMessage()); |
137 } | 137 } |
138 } | 138 } |
139 } | 139 } |
OLD | NEW |