OLD | NEW |
1 # Copyright 2017 The Chromium Authors. All rights reserved. | 1 # Copyright 2017 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 import common | 5 import common |
6 from common import TestDriver | 6 from common import TestDriver |
7 from common import IntegrationTest | 7 from common import IntegrationTest |
8 | 8 |
9 import time | 9 import time |
10 | 10 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 'document.body.scrollHeight') | 81 'document.body.scrollHeight') |
82 self.assertGreater(new_scroll_height, original_scroll_height) | 82 self.assertGreater(new_scroll_height, original_scroll_height) |
83 | 83 |
84 # Make sure there were more requests that were proxied. | 84 # Make sure there were more requests that were proxied. |
85 responses = test_driver.GetHTTPResponses(override_has_logs=True) | 85 responses = test_driver.GetHTTPResponses(override_has_logs=True) |
86 self.assertNotEqual(0, len(responses)) | 86 self.assertNotEqual(0, len(responses)) |
87 for response in responses: | 87 for response in responses: |
88 self.assertHasChromeProxyViaHeader(response) | 88 self.assertHasChromeProxyViaHeader(response) |
89 self.assertIn(response.status, [200, 204]) | 89 self.assertIn(response.status, [200, 204]) |
90 | 90 |
91 # Checks that Lo-Fi images are used when the user is in the | 91 # Lo-Fi fallback is not currently supported via the client. Check that |
| 92 # no Lo-Fi response is received if the user is in the |
92 # DataCompressionProxyLitePageFallback field trial and a Lite Page is not | 93 # DataCompressionProxyLitePageFallback field trial and a Lite Page is not |
93 # served. | 94 # served. |
94 def testLitePageFallback(self): | 95 def testLitePageFallback(self): |
95 with TestDriver() as test_driver: | 96 with TestDriver() as test_driver: |
96 test_driver.AddChromeArg('--enable-spdy-proxy-auth') | 97 test_driver.AddChromeArg('--enable-spdy-proxy-auth') |
97 test_driver.AddChromeArg('--force-fieldtrials=' | 98 test_driver.AddChromeArg('--force-fieldtrials=' |
98 'DataCompressionProxyLoFi/Enabled_Preview/' | 99 'DataCompressionProxyLoFi/Enabled_Preview/' |
99 'DataCompressionProxyLitePageFallback/Enabled') | 100 'DataCompressionProxyLitePageFallback/Enabled') |
100 test_driver.AddChromeArg('--force-fieldtrial-params=' | 101 test_driver.AddChromeArg('--force-fieldtrial-params=' |
101 'DataCompressionProxyLoFi.Enabled_Preview:' | 102 'DataCompressionProxyLoFi.Enabled_Preview:' |
102 'effective_connection_type/4G') | 103 'effective_connection_type/4G') |
103 test_driver.AddChromeArg('--force-net-effective-connection-type=2g') | 104 test_driver.AddChromeArg('--force-net-effective-connection-type=2g') |
104 | 105 |
105 test_driver.LoadURL('http://check.googlezip.net/lite-page-fallback') | 106 test_driver.LoadURL('http://check.googlezip.net/lite-page-fallback') |
106 | 107 |
107 lite_page_requests = 0 | 108 lite_page_requests = 0 |
108 lo_fi_responses = 0 | 109 lo_fi_responses = 0 |
109 for response in test_driver.GetHTTPResponses(): | 110 for response in test_driver.GetHTTPResponses(): |
110 if not response.request_headers: | 111 if not response.request_headers: |
111 continue | 112 continue |
112 | 113 |
113 cpat_request = response.request_headers['chrome-proxy-accept-transform'] | |
114 if ('lite-page' in cpat_request): | |
115 lite_page_requests = lite_page_requests + 1 | |
116 self.assertFalse(self.checkLitePageResponse(response)) | |
117 | |
118 if not response.url.endswith('png'): | |
119 continue | |
120 | |
121 if (self.checkLoFiResponse(response, True)): | |
122 lo_fi_responses = lo_fi_responses + 1 | |
123 | |
124 # Verify that a Lite Page was requested and that the page fell back to | |
125 # Lo-Fi images. | |
126 self.assertEqual(1, lite_page_requests) | |
127 self.assertEqual(1, lo_fi_responses) | |
128 | |
129 # Checks that Lo-Fi images are not used when the user is not in the | |
130 # DataCompressionProxyLitePageFallback field trial and a Lite Page is not | |
131 # served. | |
132 def testLitePageNoFallback(self): | |
133 with TestDriver() as test_driver: | |
134 test_driver.AddChromeArg('--enable-spdy-proxy-auth') | |
135 # Lite Pages must be enabled via the field trial because the Lite Page | |
136 # flag always falls back to Lo-Fi. | |
137 test_driver.AddChromeArg('--force-fieldtrials=' | |
138 'DataCompressionProxyLoFi/Enabled_Preview') | |
139 test_driver.AddChromeArg('--force-fieldtrial-params=' | |
140 'DataCompressionProxyLoFi.Enabled_Preview:' | |
141 'effective_connection_type/4G') | |
142 test_driver.AddChromeArg('--force-net-effective-connection-type=2g') | |
143 | |
144 test_driver.LoadURL('http://check.googlezip.net/lite-page-fallback') | |
145 | |
146 lite_page_requests = 0 | |
147 for response in test_driver.GetHTTPResponses(): | |
148 if not response.request_headers: | |
149 continue | |
150 | |
151 if ('chrome-proxy-accept-transform' in response.request_headers): | 114 if ('chrome-proxy-accept-transform' in response.request_headers): |
152 cpat_request = response.request_headers[ | 115 cpat_request = response.request_headers[ |
153 'chrome-proxy-accept-transform'] | 116 'chrome-proxy-accept-transform'] |
154 if ('lite-page' in cpat_request): | 117 if ('lite-page' in cpat_request): |
155 lite_page_requests = lite_page_requests + 1 | 118 lite_page_requests = lite_page_requests + 1 |
156 self.assertFalse(self.checkLitePageResponse(response)) | 119 self.assertFalse(self.checkLitePageResponse(response)) |
157 | 120 |
158 if not response.url.endswith('png'): | 121 if not response.url.endswith('png'): |
159 continue | 122 continue |
160 | 123 |
| 124 # Lo-Fi fallback is not currently supported via the client. Check that |
| 125 # no Lo-Fi response is received. |
161 self.checkLoFiResponse(response, False) | 126 self.checkLoFiResponse(response, False) |
162 | 127 |
163 # Verify that a Lite Page was requested and that the page fell back to | 128 # Verify that a Lite Page was requested. |
164 # Lo-Fi images. | |
165 self.assertEqual(1, lite_page_requests) | 129 self.assertEqual(1, lite_page_requests) |
166 | 130 |
167 if __name__ == '__main__': | 131 if __name__ == '__main__': |
168 IntegrationTest.RunAllTests() | 132 IntegrationTest.RunAllTests() |
OLD | NEW |