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.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