blob: 7426c2b63461f5edb90f2c46478c9762cfaa3b87 [file] [log] [blame]
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import os
import common
from common import TestDriver
from common import IntegrationTest
from decorators import NotAndroid
class DataUseAscription(IntegrationTest):
# This test uses a desktop extension and cannot be run on Android.
@NotAndroid
def testDataUseAscription(self):
ext_path = os.path.join(os.path.dirname(__file__), os.pardir, os.pardir,
os.pardir, 'chrome', 'test', 'data',
'chromeproxy', 'extension')
with TestDriver() as t:
t.AddChromeArg('--enable-spdy-proxy-auth')
t.AddChromeArg('--load-extension=%s' % ext_path)
# Load the URL and verify the via header appears.
t.LoadURL('http://check.googlezip.net/test.html')
responses = t.GetHTTPResponses()
for response in responses:
self.assertHasChromeProxyViaHeader(response)
# Load the extension page and verify the host appears in data use list.
t.LoadURL('chrome-extension://pfmgfdlgomnbgkofeojodiodmgpgmkac/'
'detailed_data_usage.html')
xpath = ('//span[@class=\'hostname\' and '
'contains(text(),\'check.googlezip.net\')]')
js_xpath_query = ("document.evaluate(\"%s\", document, null, "
"XPathResult.ANY_UNORDERED_NODE_TYPE, null )"
".singleNodeValue;" % xpath)
has_expected_host = bool(t.ExecuteJavascriptStatement(js_xpath_query))
self.assertTrue(has_expected_host,
"Test host failed to appear in data use page")
if __name__ == '__main__':
IntegrationTest.RunAllTests()