def test_renderer_called(self):
     # it's tempting to try to call the decorated function.  Don't do that.
     # It's not a function anymore.
     d = defer.maybeDeferred(
         lambda: self.build.render(renderer(lambda p: 'x')('y')))
     self.failUnlessFailure(d, TypeError)
     return d
示例#2
0
 def test_custom_reporter(self):
     yield self.createGerritStatus(
         reporter=renderer(lambda p: p.getProperty("buildername")))
     build = yield self.insert_build_new()
     # we make sure proper calls to txrequests have been made
     self._http.expect(
         method='post',
         ep='/a/changes/12/revisions/2/verify-status~verifications',
         json={
             'comment': 'Build started.',
             'abstain': False,
             'name': 'Builder0',
             'reporter': 'Builder0',
             'url': 'http://localhost:8080/#builders/79/builds/0',
             'value': 0,
             'duration': 'pending'
         })
     self._http.expect(
         method='post',
         ep='/a/changes/12/revisions/2/verify-status~verifications',
         json={
             'comment': 'Build done.',
             'abstain': False,
             'name': 'Builder0',
             'reporter': 'Builder0',
             'url': 'http://localhost:8080/#builders/79/builds/0',
             'value': 1,
             'duration': '2h 1m 4s'
         })
     yield self.sp._got_event(('builds', 20, 'new'), build)
     build['complete'] = True
     build['complete_at'] = build['started_at'] + \
         datetime.timedelta(hours=2, minutes=1, seconds=4)
     build['results'] = SUCCESS
     yield self.sp._got_event(('builds', 20, 'finished'), build)
 def test_renderer_called(self):
     # it's tempting to try to call the decorated function.  Don't do that.
     # It's not a function anymore.
     d = defer.maybeDeferred(lambda :
             self.build.render(renderer(lambda p : 'x')('y')))
     self.failUnlessFailure(d, TypeError)
     return d
 def test_custom_reporter(self):
     yield self.createGerritStatus(
         reporter=renderer(lambda p: p.getProperty("buildername")))
     build = yield self.setupBuildResults(SUCCESS)
     # we make sure proper calls to txrequests have been made
     self._http.expect(
         method='post',
         ep='/a/changes/12/revisions/2/verify-status~verifications',
         json={
             'comment': 'Build started.',
             'abstain': False,
             'name': u'Builder0',
             'reporter': 'Builder0',
             'url': 'http://localhost:8080/#builders/79/builds/0',
             'value': 0,
             'duration': 'pending'
         })
     self._http.expect(
         method='post',
         ep='/a/changes/12/revisions/2/verify-status~verifications',
         json={
             'comment': 'Build done.',
             'abstain': False,
             'name': u'Builder0',
             'reporter': 'Builder0',
             'url': 'http://localhost:8080/#builders/79/builds/0',
             'value': 1,
             'duration': '2h 1m 4s'
         })
     build['complete'] = False
     build['complete_at'] = None
     self.sp.buildStarted(("build", 20, "started"), build)
     build['complete'] = True
     build['complete_at'] = build['started_at'] + datetime.timedelta(hours=2, minutes=1, seconds=4)
     self.sp.buildFinished(("build", 20, "finished"), build)
 def test_custom_abstain(self):
     yield self.createGerritStatus(
         abstain=renderer(lambda p: p.getProperty("buildername") == 'Builder0'))
     build = yield self.setupBuildResults(SUCCESS)
     # we make sure proper calls to txrequests have been made
     self._http.expect(
         method='post',
         ep='/a/changes/12/revisions/2/verify-status~verifications',
         json={
             'comment': 'Build started.',
             'abstain': True,
             'name': u'Builder0',
             'reporter': 'buildbot',
             'url': 'http://localhost:8080/#builders/79/builds/0',
             'value': 0,
             'duration': 'pending'
         })
     self._http.expect(
         method='post',
         ep='/a/changes/12/revisions/2/verify-status~verifications',
         json={
             'comment': 'Build done.',
             'abstain': True,
             'name': u'Builder0',
             'reporter': 'buildbot',
             'url': 'http://localhost:8080/#builders/79/builds/0',
             'value': 1,
             'duration': '2h 1m 4s'
         })
     build['complete'] = False
     build['complete_at'] = None
     self.sp.buildStarted(("build", 20, "started"), build)
     build['complete'] = True
     build['complete_at'] = build['started_at'] + datetime.timedelta(hours=2, minutes=1, seconds=4)
     self.sp.buildFinished(("build", 20, "finished"), build)
 def test_renderer_fails(self):
     d = self.build.render(
         renderer(lambda p: defer.fail(RuntimeError("oops"))))
     self.failUnlessFailure(d, RuntimeError)
     return d
 def test_renderer_deferred(self):
     self.props.setProperty("x", "X", "test")
     d = self.build.render(
         renderer(lambda p: defer.succeed('y%sy' % p.getProperty('x'))))
     d.addCallback(self.failUnlessEqual, 'yXy')
     return d
 def test_renderer(self):
     self.props.setProperty("x", "X", "test")
     d = self.build.render(renderer(lambda p: 'x%sx' % p.getProperty('x')))
     d.addCallback(self.failUnlessEqual, 'xXx')
     return d
 def test_renderer_fails(self):
     d = self.build.render(
         renderer(lambda p : defer.fail(RuntimeError("oops"))))
     self.failUnlessFailure(d, RuntimeError)
     return d
 def test_renderer_deferred(self):
     self.props.setProperty("x", "X", "test")
     d = self.build.render(
         renderer(lambda p : defer.succeed('y%sy' % p.getProperty('x'))))
     d.addCallback(self.failUnlessEqual, 'yXy')
     return d
 def test_renderer(self):
     self.props.setProperty("x", "X", "test")
     d = self.build.render(
         renderer(lambda p : 'x%sx' % p.getProperty('x')))
     d.addCallback(self.failUnlessEqual, 'xXx')
     return d