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