OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 | 2 |
3 """ | 3 """ |
4 Copyright 2014 Google Inc. | 4 Copyright 2014 Google Inc. |
5 | 5 |
6 Use of this source code is governed by a BSD-style license that can be | 6 Use of this source code is governed by a BSD-style license that can be |
7 found in the LICENSE file. | 7 found in the LICENSE file. |
8 | 8 |
9 Test imagepairset.py | 9 Test imagepairset.py |
10 """ | 10 """ |
11 | 11 |
12 # System-level imports | 12 # System-level imports |
13 import unittest | 13 import unittest |
14 | 14 |
15 # Local imports | 15 # Local imports |
16 import column | 16 import column |
17 import imagepair | 17 import imagepair |
18 import imagepairset | 18 import imagepairset |
19 | 19 |
20 | 20 |
21 BASE_URL_1 = 'http://base/url/1' | 21 BASE_URL_1 = 'http://base/url/1' |
22 BASE_URL_2 = 'http://base/url/2' | 22 BASE_URL_2 = 'http://base/url/2' |
| 23 DIFF_BASE_URL = 'http://diff/base/url' |
23 IMAGEPAIR_1_AS_DICT = { | 24 IMAGEPAIR_1_AS_DICT = { |
24 imagepair.KEY__EXTRA_COLUMN_VALUES: { | 25 imagepair.KEY__EXTRA_COLUMN_VALUES: { |
25 'builder': 'MyBuilder', | 26 'builder': 'MyBuilder', |
26 'test': 'test1', | 27 'test': 'test1', |
27 }, | 28 }, |
28 imagepair.KEY__IMAGE_A_URL: 'test1/1111.png', | 29 imagepair.KEY__IMAGE_A_URL: 'test1/1111.png', |
29 imagepair.KEY__IMAGE_B_URL: 'test1/1111.png', | 30 imagepair.KEY__IMAGE_B_URL: 'test1/1111.png', |
30 imagepair.KEY__IS_DIFFERENT: False, | 31 imagepair.KEY__IS_DIFFERENT: False, |
31 } | 32 } |
32 IMAGEPAIR_2_AS_DICT = { | 33 IMAGEPAIR_2_AS_DICT = { |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 'imageSets': { | 110 'imageSets': { |
110 'imageA': { | 111 'imageA': { |
111 'baseUrl': BASE_URL_1, | 112 'baseUrl': BASE_URL_1, |
112 'description': SET_A_DESCRIPTION, | 113 'description': SET_A_DESCRIPTION, |
113 }, | 114 }, |
114 'imageB': { | 115 'imageB': { |
115 'baseUrl': BASE_URL_1, | 116 'baseUrl': BASE_URL_1, |
116 'description': SET_B_DESCRIPTION, | 117 'description': SET_B_DESCRIPTION, |
117 }, | 118 }, |
118 'diffs': { | 119 'diffs': { |
119 'baseUrl': '/static/generated-images/diffs', | 120 'baseUrl': DIFF_BASE_URL + '/diffs', |
120 'description': 'color difference per channel', | 121 'description': 'color difference per channel', |
121 }, | 122 }, |
122 'whiteDiffs': { | 123 'whiteDiffs': { |
123 'baseUrl': '/static/generated-images/whitediffs', | 124 'baseUrl': DIFF_BASE_URL + '/whitediffs', |
124 'description': 'differing pixels in white', | 125 'description': 'differing pixels in white', |
125 }, | 126 }, |
126 }, | 127 }, |
127 } | 128 } |
128 | 129 |
129 image_pair_set = imagepairset.ImagePairSet( | 130 image_pair_set = imagepairset.ImagePairSet( |
130 descriptions=(SET_A_DESCRIPTION, SET_B_DESCRIPTION)) | 131 descriptions=(SET_A_DESCRIPTION, SET_B_DESCRIPTION), |
| 132 diff_base_url=DIFF_BASE_URL) |
131 for image_pair in image_pairs: | 133 for image_pair in image_pairs: |
132 image_pair_set.add_image_pair(image_pair) | 134 image_pair_set.add_image_pair(image_pair) |
133 # The 'builder' column header uses the default settings, | 135 # The 'builder' column header uses the default settings, |
134 # but the 'test' column header has manual adjustments. | 136 # but the 'test' column header has manual adjustments. |
135 image_pair_set.set_column_header_factory( | 137 image_pair_set.set_column_header_factory( |
136 'test', | 138 'test', |
137 column.ColumnHeaderFactory( | 139 column.ColumnHeaderFactory( |
138 header_text='which GM test', | 140 header_text='which GM test', |
139 header_url='http://learn/about/gm/tests', | 141 header_url='http://learn/about/gm/tests', |
140 is_filterable=True, | 142 is_filterable=True, |
141 is_sortable=False, | 143 is_sortable=False, |
142 include_values_and_counts=False)) | 144 include_values_and_counts=False)) |
143 self.assertEqual(image_pair_set.as_dict(), expected_imageset_dict) | 145 self.assertEqual(image_pair_set.as_dict(), expected_imageset_dict) |
144 | 146 |
145 def test_mismatched_base_url(self): | 147 def test_mismatched_base_url(self): |
146 """Confirms that mismatched base_urls will cause an exception.""" | 148 """Confirms that mismatched base_urls will cause an exception.""" |
147 image_pair_set = imagepairset.ImagePairSet() | 149 image_pair_set = imagepairset.ImagePairSet( |
| 150 diff_base_url=DIFF_BASE_URL) |
148 image_pair_set.add_image_pair( | 151 image_pair_set.add_image_pair( |
149 MockImagePair(base_url=BASE_URL_1, dict_to_return=IMAGEPAIR_1_AS_DICT)) | 152 MockImagePair(base_url=BASE_URL_1, dict_to_return=IMAGEPAIR_1_AS_DICT)) |
150 image_pair_set.add_image_pair( | 153 image_pair_set.add_image_pair( |
151 MockImagePair(base_url=BASE_URL_1, dict_to_return=IMAGEPAIR_2_AS_DICT)) | 154 MockImagePair(base_url=BASE_URL_1, dict_to_return=IMAGEPAIR_2_AS_DICT)) |
152 with self.assertRaises(Exception): | 155 with self.assertRaises(Exception): |
153 image_pair_set.add_image_pair( | 156 image_pair_set.add_image_pair( |
154 MockImagePair(base_url=BASE_URL_2, | 157 MockImagePair(base_url=BASE_URL_2, |
155 dict_to_return=IMAGEPAIR_3_AS_DICT)) | 158 dict_to_return=IMAGEPAIR_3_AS_DICT)) |
156 | 159 |
157 | 160 |
(...skipping 14 matching lines...) Expand all Loading... |
172 return self._dict_to_return | 175 return self._dict_to_return |
173 | 176 |
174 | 177 |
175 def main(): | 178 def main(): |
176 suite = unittest.TestLoader().loadTestsFromTestCase(ImagePairSetTest) | 179 suite = unittest.TestLoader().loadTestsFromTestCase(ImagePairSetTest) |
177 unittest.TextTestRunner(verbosity=2).run(suite) | 180 unittest.TextTestRunner(verbosity=2).run(suite) |
178 | 181 |
179 | 182 |
180 if __name__ == '__main__': | 183 if __name__ == '__main__': |
181 main() | 184 main() |
OLD | NEW |