Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Side by Side Diff: appengine/chromium_try_flakes/findit/test/findit_test.py

Issue 2387153002: Report all flakes reported to issue tracker also to FindIt (Closed)
Patch Set: Addressed comments Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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
3 # found in the LICENSE file.
4
5 import mock
6 import unittest
7
8 from findit import findit
9
10
11 class FindItAPITestCase(unittest.TestCase):
12 def setUp(self):
13 super(FindItAPITestCase, self).setUp()
14 self.maxDiff = None
15 self.client = mock.Mock()
16 self.patchers = [
17 mock.patch('endpoints.endpoints.build_client',
18 lambda *_, **__: self.client),
19 mock.patch('endpoints.endpoints.retry_request', mock.Mock()),
20 ]
21 for patcher in self.patchers:
22 patcher.start()
23
24 def tearDown(self):
25 super(FindItAPITestCase, self).tearDown()
26 for patcher in self.patchers:
27 patcher.stop()
28
29 def test_creates_flake_request_correctly(self):
30 flake = mock.Mock(is_step=True, issue_id=123456)
31 flake.name = 'foo'
32
33 pb_run = mock.Mock(master='tryserver.bar', builder='baz')
34 failure_run1 = mock.Mock(buildnumber=10)
35 failure_run1.parent.get.return_value = pb_run
36 failure_run2 = mock.Mock(buildnumber=20)
37 failure_run2.parent.get.return_value = pb_run
38 flaky_run1 = mock.Mock(flakes=[mock.Mock()])
39 flaky_run1.failure_run.get.return_value = failure_run1
40 flaky_run1.flakes[0].name = 'step1'
41 flaky_run2 = mock.Mock(flakes=[mock.Mock(), mock.Mock()])
42 flaky_run2.failure_run.get.return_value = failure_run2
43 flaky_run2.flakes[0].name = 'step2'
44 flaky_run2.flakes[1].name = 'step3'
45
46 api = findit.FindItAPI()
47 api.flake(flake, [flaky_run1, flaky_run2])
48 self.assertEquals(self.client.flake.call_count, 1)
49 self.assertDictEqual(self.client.flake.call_args[1]['body'], {
50 'name': 'foo',
51 'is_step': True,
52 'bug_id': 123456,
53 'build_steps': [
54 {
55 'master_name': 'tryserver.bar',
56 'builder_name': 'baz',
57 'build_number': 10,
58 'step_name': 'step1'
59 },
60 {
61 'master_name': 'tryserver.bar',
62 'builder_name': 'baz',
63 'build_number': 20,
64 'step_name': 'step2'
65 },
66 {
67 'master_name': 'tryserver.bar',
68 'builder_name': 'baz',
69 'build_number': 20,
70 'step_name': 'step3'
71 }
72 ]
73 })
OLDNEW
« no previous file with comments | « appengine/chromium_try_flakes/findit/test/__init__.py ('k') | appengine/chromium_try_flakes/handlers/flake_issues.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698