| OLD | NEW |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 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 datetime | 5 import datetime |
| 6 import mock | 6 import mock |
| 7 import webapp2 | 7 import webapp2 |
| 8 | 8 |
| 9 from handlers.flake import list_flakes | 9 from handlers.flake import list_flakes |
| 10 from handlers.flake.list_flakes import FilterMasterFlakeAnalysis | 10 from handlers.flake.list_flakes import FilterMasterFlakeAnalysis |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 'end_date': '2016-10-13' | 94 'end_date': '2016-10-13' |
| 95 } | 95 } |
| 96 mock_midnight_start = datetime.datetime(2016, 10, 11, 0, 0, 0, 0) | 96 mock_midnight_start = datetime.datetime(2016, 10, 11, 0, 0, 0, 0) |
| 97 mock_midnight_end = datetime.datetime(2016, 10, 13, 0, 0, 0, 0) | 97 mock_midnight_end = datetime.datetime(2016, 10, 13, 0, 0, 0, 0) |
| 98 start_date, end_date = flake_list._GetStartAndEndDates(True) | 98 start_date, end_date = flake_list._GetStartAndEndDates(True) |
| 99 self.assertEqual(start_date, mock_midnight_start) | 99 self.assertEqual(start_date, mock_midnight_start) |
| 100 self.assertEqual(end_date, mock_midnight_end) | 100 self.assertEqual(end_date, mock_midnight_end) |
| 101 | 101 |
| 102 def testFilterMasterName(self): | 102 def testFilterMasterName(self): |
| 103 master_flake_analysis_query = MasterFlakeAnalysis.query() | 103 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 104 result = FilterMasterFlakeAnalysis( | 104 result, _= FilterMasterFlakeAnalysis( |
| 105 master_flake_analysis_query, master_name=self.master_name1) | 105 master_flake_analysis_query, master_name=self.master_name1) |
| 106 | 106 |
| 107 self.assertEqual(len(result), 1) | 107 self.assertEqual(len(result), 1) |
| 108 self.assertTrue(result == [self.master_flake_analysis1]) | 108 self.assertTrue(result == [self.master_flake_analysis1]) |
| 109 | 109 |
| 110 def testFilterBuilderName(self): | 110 def testFilterBuilderName(self): |
| 111 master_flake_analysis_query = MasterFlakeAnalysis.query() | 111 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 112 result = FilterMasterFlakeAnalysis( | 112 result, _ = FilterMasterFlakeAnalysis( |
| 113 master_flake_analysis_query, builder_name=self.builder_name1) | 113 master_flake_analysis_query, builder_name=self.builder_name1) |
| 114 self.assertEqual(len(result), 1) | 114 self.assertEqual(len(result), 1) |
| 115 self.assertTrue(result == [self.master_flake_analysis1]) | 115 self.assertTrue(result == [self.master_flake_analysis1]) |
| 116 | 116 |
| 117 def testFilterBuildNumber(self): | 117 def testFilterBuildNumber(self): |
| 118 master_flake_analysis_query = MasterFlakeAnalysis.query() | 118 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 119 result = FilterMasterFlakeAnalysis( | 119 result, _ = FilterMasterFlakeAnalysis( |
| 120 master_flake_analysis_query, build_number=self.build_number1) | 120 master_flake_analysis_query, build_number=self.build_number1) |
| 121 self.assertEqual(len(result), 1) | 121 self.assertEqual(len(result), 1) |
| 122 self.assertTrue(result == [self.master_flake_analysis1]) | 122 self.assertTrue(result == [self.master_flake_analysis1]) |
| 123 | 123 |
| 124 def testFilterStepName(self): | 124 def testFilterStepName(self): |
| 125 master_flake_analysis_query = MasterFlakeAnalysis.query() | 125 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 126 result = FilterMasterFlakeAnalysis( | 126 result, _ = FilterMasterFlakeAnalysis( |
| 127 master_flake_analysis_query, step_name=self.step_name1) | 127 master_flake_analysis_query, step_name=self.step_name1) |
| 128 self.assertEqual(len(result), 1) | 128 self.assertEqual(len(result), 1) |
| 129 self.assertTrue(result == [self.master_flake_analysis1]) | 129 self.assertTrue(result == [self.master_flake_analysis1]) |
| 130 | 130 |
| 131 def testFilterTestName(self): | 131 def testFilterTestName(self): |
| 132 master_flake_analysis_query = MasterFlakeAnalysis.query() | 132 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 133 result = FilterMasterFlakeAnalysis( | 133 result, _ = FilterMasterFlakeAnalysis( |
| 134 master_flake_analysis_query, test_name=self.test_name2) | 134 master_flake_analysis_query, test_name=self.test_name2) |
| 135 self.assertEqual(len(result), 1) | 135 self.assertEqual(len(result), 1) |
| 136 self.assertTrue(result == [self.master_flake_analysis2]) | 136 self.assertTrue(result == [self.master_flake_analysis2]) |
| 137 | 137 |
| 138 def testFilterResultStatus(self): | 138 def testFilterResultStatus(self): |
| 139 master_flake_analysis_query = MasterFlakeAnalysis.query() | 139 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 140 result = FilterMasterFlakeAnalysis( | 140 result, _ = FilterMasterFlakeAnalysis( |
| 141 master_flake_analysis_query, status_code=result_status.FOUND_UNTRIAGED) | 141 master_flake_analysis_query, status_code=result_status.FOUND_UNTRIAGED) |
| 142 self.assertEqual(len(result), 1) | 142 self.assertEqual(len(result), 1) |
| 143 self.assertTrue(result == [self.master_flake_analysis1]) | 143 self.assertTrue(result == [self.master_flake_analysis1]) |
| 144 | 144 |
| 145 def testFilterStartDate(self): | 145 def testFilterStartDate(self): |
| 146 master_flake_analysis_query = MasterFlakeAnalysis.query() | 146 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 147 result = FilterMasterFlakeAnalysis( | 147 result, _ = FilterMasterFlakeAnalysis( |
| 148 master_flake_analysis_query, start_date=self.request_time2) | 148 master_flake_analysis_query, start_date=self.request_time2) |
| 149 self.assertEqual(len(result), 1) | 149 self.assertEqual(len(result), 1) |
| 150 self.assertTrue(result == [self.master_flake_analysis2]) | 150 self.assertTrue(result == [self.master_flake_analysis2]) |
| 151 | 151 |
| 152 def testFilterEndDate(self): | 152 def testFilterEndDate(self): |
| 153 master_flake_analysis_query = MasterFlakeAnalysis.query() | 153 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 154 result = FilterMasterFlakeAnalysis( | 154 result, _ = FilterMasterFlakeAnalysis( |
| 155 master_flake_analysis_query, end_date=self.request_time2) | 155 master_flake_analysis_query, end_date=self.request_time2) |
| 156 self.assertEqual(len(result), 2) | 156 self.assertEqual(len(result), 2) |
| 157 self.assertTrue(result == [self.master_flake_analysis1, | 157 self.assertTrue(result == [self.master_flake_analysis1, |
| 158 self.master_flake_analysis3]) | 158 self.master_flake_analysis3]) |
| 159 | 159 |
| 160 def testFilterMultipleMasterName(self): | 160 def testFilterMultipleMasterName(self): |
| 161 master_flake_analysis_query = MasterFlakeAnalysis.query() | 161 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 162 result = FilterMasterFlakeAnalysis( | 162 result, _ = FilterMasterFlakeAnalysis( |
| 163 master_flake_analysis_query, master_name=self.master_name2) | 163 master_flake_analysis_query, master_name=self.master_name2) |
| 164 self.assertEqual(len(result), 2) | 164 self.assertEqual(len(result), 2) |
| 165 self.assertTrue(result == [self.master_flake_analysis3, | 165 self.assertTrue(result == [self.master_flake_analysis3, |
| 166 self.master_flake_analysis2]) | 166 self.master_flake_analysis2]) |
| 167 | 167 |
| 168 def testFilterMultipleBuilderName(self): | 168 def testFilterMultipleBuilderName(self): |
| 169 master_flake_analysis_query = MasterFlakeAnalysis.query() | 169 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 170 result = FilterMasterFlakeAnalysis( | 170 result, _ = FilterMasterFlakeAnalysis( |
| 171 master_flake_analysis_query, builder_name=self.builder_name2) | 171 master_flake_analysis_query, builder_name=self.builder_name2) |
| 172 self.assertEqual(len(result), 2) | 172 self.assertEqual(len(result), 2) |
| 173 self.assertTrue(result == [self.master_flake_analysis3, | 173 self.assertTrue(result == [self.master_flake_analysis3, |
| 174 self.master_flake_analysis2]) | 174 self.master_flake_analysis2]) |
| 175 | 175 |
| 176 def testFilterMultipleBuildNumber(self): | 176 def testFilterMultipleBuildNumber(self): |
| 177 master_flake_analysis_query = MasterFlakeAnalysis.query() | 177 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 178 result = FilterMasterFlakeAnalysis( | 178 result, _ = FilterMasterFlakeAnalysis( |
| 179 master_flake_analysis_query, build_number=self.build_number2) | 179 master_flake_analysis_query, build_number=self.build_number2) |
| 180 self.assertEqual(len(result), 2) | 180 self.assertEqual(len(result), 2) |
| 181 self.assertTrue(result == [self.master_flake_analysis3, | 181 self.assertTrue(result == [self.master_flake_analysis3, |
| 182 self.master_flake_analysis2]) | 182 self.master_flake_analysis2]) |
| 183 | 183 |
| 184 def testFilterMultipleStepName(self): | 184 def testFilterMultipleStepName(self): |
| 185 master_flake_analysis_query = MasterFlakeAnalysis.query() | 185 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 186 result = FilterMasterFlakeAnalysis( | 186 result, _ = FilterMasterFlakeAnalysis( |
| 187 master_flake_analysis_query, step_name=self.step_name2) | 187 master_flake_analysis_query, step_name=self.step_name2) |
| 188 self.assertEqual(len(result), 2) | 188 self.assertEqual(len(result), 2) |
| 189 self.assertTrue(result == [self.master_flake_analysis3, | 189 self.assertTrue(result == [self.master_flake_analysis3, |
| 190 self.master_flake_analysis2]) | 190 self.master_flake_analysis2]) |
| 191 | 191 |
| 192 def testFilterMultipleTestName(self): | 192 def testFilterMultipleTestName(self): |
| 193 master_flake_analysis_query = MasterFlakeAnalysis.query() | 193 master_flake_analysis_query = MasterFlakeAnalysis.query() |
| 194 result = FilterMasterFlakeAnalysis( | 194 result, _ = FilterMasterFlakeAnalysis( |
| 195 master_flake_analysis_query, test_name=self.test_name1) | 195 master_flake_analysis_query, test_name=self.test_name1) |
| 196 self.assertEqual(len(result), 2) | 196 self.assertEqual(len(result), 2) |
| 197 self.assertTrue(result == [self.master_flake_analysis1, | 197 self.assertTrue(result == [self.master_flake_analysis1, |
| 198 self.master_flake_analysis3]) | 198 self.master_flake_analysis3]) |
| 199 | 199 |
| 200 def testNormalFlow(self): | 200 def testNormalFlow(self): |
| 201 response = self.test_app.get('/waterfall/list-flakes') | 201 response = self.test_app.get('/waterfall/list-flakes') |
| 202 self.assertEquals(200, response.status_int) | 202 self.assertEquals(200, response.status_int) |
| 203 | 203 |
| 204 def testNormalFlowWithFilter(self): | 204 def testNormalFlowWithFilter(self): |
| (...skipping 16 matching lines...) Expand all Loading... |
| 221 'suspected_build': None, | 221 'suspected_build': None, |
| 222 'request_time': '2016-10-01 00:00:00 UTC' | 222 'request_time': '2016-10-01 00:00:00 UTC' |
| 223 } | 223 } |
| 224 ], | 224 ], |
| 225 'master_name_filter': '', | 225 'master_name_filter': '', |
| 226 'builder_name_filter': '', | 226 'builder_name_filter': '', |
| 227 'build_number_filter': self.build_number1, | 227 'build_number_filter': self.build_number1, |
| 228 'step_name_filter': '', | 228 'step_name_filter': '', |
| 229 'test_name_filter': '', | 229 'test_name_filter': '', |
| 230 'result_status_filter': result_status.UNSPECIFIED, | 230 'result_status_filter': result_status.UNSPECIFIED, |
| 231 'page_size': list_flakes.PAGE_SIZE, |
| 232 'offset': 0, |
| 233 'more': False, |
| 231 } | 234 } |
| 232 | 235 |
| 233 self.assertEquals(response.json_body, expected_result) | 236 self.assertEquals(response.json_body, expected_result) |
| 234 self.assertEquals(200, response.status_int) | 237 self.assertEquals(200, response.status_int) |
| OLD | NEW |