Chromium Code Reviews| 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 | 9 |
| 10 class LoFi(IntegrationTest): | 10 class LoFi(IntegrationTest): |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 22 test_driver.AddChromeArg('--disable-quic') | 22 test_driver.AddChromeArg('--disable-quic') |
| 23 | 23 |
| 24 test_driver.LoadURL('http://check.googlezip.net/static/index.html') | 24 test_driver.LoadURL('http://check.googlezip.net/static/index.html') |
| 25 | 25 |
| 26 lofi_responses = 0 | 26 lofi_responses = 0 |
| 27 for response in test_driver.GetHTTPResponses(): | 27 for response in test_driver.GetHTTPResponses(): |
| 28 if not response.url.endswith('png'): | 28 if not response.url.endswith('png'): |
| 29 continue | 29 continue |
| 30 if not response.request_headers: | 30 if not response.request_headers: |
| 31 continue | 31 continue |
| 32 self.assertHasChromeProxyViaHeader(response) | 32 if (self.assertLoFiResponse(response, True)): |
| 33 content_length = response.response_headers['content-length'] | |
| 34 cpat_request = response.request_headers['chrome-proxy-accept-transform'] | |
| 35 cpct_response = response.response_headers[ | |
| 36 'chrome-proxy-content-transform'] | |
| 37 if ('empty-image' in cpct_response): | |
| 38 lofi_responses = lofi_responses + 1 | 33 lofi_responses = lofi_responses + 1 |
| 39 self.assertTrue('empty-image' in cpat_request) | |
| 40 self.assertTrue(int(content_length) < 100) | |
| 41 | 34 |
| 42 # Verify that Lo-Fi responses were seen. | 35 # Verify that Lo-Fi responses were seen. |
| 43 self.assertNotEqual(0, lofi_responses) | 36 self.assertNotEqual(0, lofi_responses) |
| 44 | 37 |
| 45 # Checks that a Lite Page is served and that the ignore_preview_blacklist | 38 # Checks that a Lite Page is served and that the ignore_preview_blacklist |
| 46 # experiment is being used. | 39 # experiment is being used. |
| 47 def testLitePage(self): | 40 def testLitePage(self): |
| 48 with TestDriver() as test_driver: | 41 with TestDriver() as test_driver: |
| 49 test_driver.AddChromeArg('--enable-spdy-proxy-auth') | 42 test_driver.AddChromeArg('--enable-spdy-proxy-auth') |
| 50 test_driver.AddChromeArg('--data-reduction-proxy-lo-fi=always-on') | 43 test_driver.AddChromeArg('--data-reduction-proxy-lo-fi=always-on') |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 66 'chrome-proxy-content-transform'] | 59 'chrome-proxy-content-transform'] |
| 67 if ('lite-page' in cpct_response): | 60 if ('lite-page' in cpct_response): |
| 68 lite_page_responses = lite_page_responses + 1 | 61 lite_page_responses = lite_page_responses + 1 |
| 69 self.assertTrue('lite-page' in cpat_request) | 62 self.assertTrue('lite-page' in cpat_request) |
| 70 self.assertTrue('exp=ignore_preview_blacklist' in | 63 self.assertTrue('exp=ignore_preview_blacklist' in |
| 71 chrome_proxy_request) | 64 chrome_proxy_request) |
| 72 | 65 |
| 73 # Verify that Lite Page responses were seen. | 66 # Verify that Lite Page responses were seen. |
| 74 self.assertNotEqual(0, lite_page_responses) | 67 self.assertNotEqual(0, lite_page_responses) |
| 75 | 68 |
| 69 # Checks that Lo-Fi placeholder images are not loaded from cache on page | |
| 70 # reloads when Lo-Fi mode is disabled or data reduction proxy is disabled. | |
| 71 # First a test page is opened with Lo-Fi and chrome proxy enabled. This allows | |
| 72 # Chrome to cache the Lo-Fi placeholder image. The browser is restarted with | |
| 73 # chrome proxy disabled and the same test page is loaded. This second page | |
| 74 # load should not pick the Lo-Fi placeholder from cache and original image | |
| 75 # should be loaded. Finally, the browser is restarted with chrome proxy | |
| 76 # enabled and Lo-Fi disabled and the same test page is loaded. This third page | |
| 77 # load should not pick the Lo-Fi placeholder from cache and original image | |
| 78 # should be loaded. | |
| 79 def testLoFiCacheBypass(self): | |
| 80 with TestDriver() as test_driver: | |
| 81 # First page load, enable Lo-Fi and chrome proxy. Disable server | |
| 82 # experiments such as tamper detection. This test should be run with | |
| 83 # --profile-type=default command line for the same user profile and cache | |
| 84 # to be used across the two page loads. | |
| 85 test_driver.AddChromeArg('--enable-spdy-proxy-auth') | |
| 86 test_driver.AddChromeArg('--data-reduction-proxy-lo-fi=always-on') | |
| 87 test_driver.AddChromeArg('--disable-quic') | |
|
tbansal1
2017/02/23 23:55:49
rm disable-quic.
megjablon
2017/02/24 00:07:14
If I remove this from either this or testLoFi they
tbansal1
2017/02/24 00:09:30
No, I do not know at the top of my head. Do you kn
megjablon
2017/02/24 00:28:53
It looks like when quic is enabled for Lo-Fi reque
| |
| 88 test_driver.AddChromeArg('--profile-type=default') | |
| 89 test_driver.AddChromeArg('--data-reduction-proxy-server-experiments-' | |
| 90 'disabled') | |
| 91 | |
| 92 test_driver.LoadURL('http://check.googlezip.net/cacheable/test.html') | |
| 93 | |
| 94 lofi_responses = 0 | |
| 95 for response in test_driver.GetHTTPResponses(): | |
| 96 if not response.url.endswith('png'): | |
| 97 continue | |
| 98 if not response.request_headers: | |
| 99 continue | |
| 100 if (self.assertLoFiResponse(response, True)): | |
| 101 lofi_responses = lofi_responses + 1 | |
| 102 | |
| 103 # Verify that Lo-Fi responses were seen. | |
| 104 self.assertNotEqual(0, lofi_responses) | |
| 105 | |
| 106 # Second page load with the chrome proxy off. | |
| 107 test_driver._StopDriver() | |
| 108 test_driver.RemoveChromeArg('--enable-spdy-proxy-auth') | |
| 109 test_driver.LoadURL('http://check.googlezip.net/cacheable/test.html') | |
| 110 | |
| 111 responses = 0 | |
| 112 for response in test_driver.GetHTTPResponses(): | |
| 113 if not response.url.endswith('png'): | |
| 114 continue | |
| 115 if not response.request_headers: | |
| 116 continue | |
| 117 responses = responses + 1 | |
| 118 self.assertNotHasChromeProxyViaHeader(response) | |
| 119 self.assertLoFiResponse(response, False) | |
| 120 | |
| 121 # Verify that responses were seen. | |
| 122 self.assertNotEqual(0, responses) | |
| 123 | |
| 124 # Third page load with the chrome proxy on and Lo-Fi off. | |
| 125 test_driver._StopDriver() | |
| 126 test_driver.AddChromeArg('--enable-spdy-proxy-auth') | |
| 127 test_driver.RemoveChromeArg('--data-reduction-proxy-lo-fi=always-on') | |
| 128 test_driver.AddChromeArg('--data-reduction-proxy-lo-fi=disabled') | |
| 129 test_driver.LoadURL('http://check.googlezip.net/cacheable/test.html') | |
| 130 | |
| 131 responses = 0 | |
| 132 for response in test_driver.GetHTTPResponses(): | |
| 133 if not response.url.endswith('png'): | |
| 134 continue | |
| 135 if not response.request_headers: | |
| 136 continue | |
| 137 responses = responses + 1 | |
| 138 self.assertHasChromeProxyViaHeader(response) | |
| 139 self.assertLoFiResponse(response, False) | |
| 140 | |
| 141 # Verify that responses were seen. | |
| 142 self.assertNotEqual(0, responses) | |
| 143 | |
| 76 if __name__ == '__main__': | 144 if __name__ == '__main__': |
| 77 IntegrationTest.RunAllTests() | 145 IntegrationTest.RunAllTests() |
| OLD | NEW |