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 3# found in the LICENSE file. 4# pylint: disable=W0401,W0614 5from telemetry.page.actions.all_page_actions import * 6from telemetry.page import page as page_module 7from telemetry.page import page_set as page_set_module 8 9 10class SmokePage(page_module.Page): 11 12 def __init__(self, url, page_set, name=''): 13 super(SmokePage, self).__init__(url=url, page_set=page_set, name=name) 14 self.archive_data_file = '../data/chrome_proxy_smoke.json' 15 16 17class Page1(SmokePage): 18 19 """ 20 Why: Check chrome proxy response headers. 21 """ 22 23 def __init__(self, page_set): 24 super(Page1, self).__init__( 25 url='http://aws1.mdw.la/fw/', 26 page_set=page_set, 27 name='header validation') 28 29 30class Page2(SmokePage): 31 32 """ 33 Why: Check data compression 34 """ 35 36 def __init__(self, page_set): 37 super(Page2, self).__init__( 38 url='http://aws1.mdw.la/static/', 39 page_set=page_set, 40 name='compression: image') 41 42 43class Page3(SmokePage): 44 45 """ 46 Why: Check bypass 47 """ 48 49 def __init__(self, page_set): 50 super(Page3, self).__init__( 51 url='http://aws1.mdw.la/bypass/', 52 page_set=page_set, 53 name='bypass') 54 self.restart_after = True 55 56 57class Page4(SmokePage): 58 59 """ 60 Why: Check data compression 61 """ 62 63 def __init__(self, page_set): 64 super(Page4, self).__init__( 65 url='http://aws1.mdw.la/static/', 66 page_set=page_set, 67 name='compression: javascript') 68 69 70class Page5(SmokePage): 71 72 """ 73 Why: Check data compression 74 """ 75 76 def __init__(self, page_set): 77 super(Page5, self).__init__( 78 url='http://aws1.mdw.la/static/', 79 page_set=page_set, 80 name='compression: css') 81 82 83class Page6(SmokePage): 84 85 """ 86 Why: Expect 'malware ahead' page. Use a short navigation timeout because no 87 response will be received. 88 """ 89 90 def __init__(self, page_set): 91 super(Page6, self).__init__( 92 url='http://www.ianfette.org/', 93 page_set=page_set, 94 name='safebrowsing') 95 96 def RunNavigateSteps(self, action_runner): 97 action_runner.NavigateToPage(self, timeout_seconds=5) 98 99 100class SmokePageSet(page_set_module.PageSet): 101 102 """ Chrome proxy test sites """ 103 104 def __init__(self): 105 super(SmokePageSet, self).__init__( 106 archive_data_file='../data/chrome_proxy_smoke.json') 107 108 self.AddPage(Page1(self)) 109 self.AddPage(Page2(self)) 110 self.AddPage(Page3(self)) 111 self.AddPage(Page4(self)) 112 self.AddPage(Page5(self)) 113 self.AddPage(Page6(self)) 114