def asDict(self, request, params=None): include_steps = True include_props = True # We pass params only if we are doing this directly and not from a user args = request.args if params is not None: args = params if "steps" in args: include_steps = True if "1" in args["steps"] else False if "props" in args: include_props = True if "1" in args["props"] else False results = getResultsArg(request) if self.builder_status is not None: codebases = {} getCodebasesArg(request=request, codebases=codebases) encoding = getRequestCharset(request) branches = [ b.decode(encoding) for b in request.args.get("branch", []) if b ] builds = yield self.builder_status.generateFinishedBuildsAsync( branches=map_branches(branches), codebases=codebases, results=results, num_builds=self.number) defer.returnValue([ b.asDict(request, include_artifacts=True, include_failure_url=True, include_steps=include_steps, include_properties=include_props) for b in builds ]) return if self.slave_status is not None: slavename = self.slave_status.getName() builds = yield self.status.generateFinishedBuildsAsync( num_builds=self.number, results=results, slavename=slavename) defer.returnValue([ rb.asDict(request=request, include_steps=False) for rb in builds ]) return
def test_invalid_args(self): self.assertIsNone(base.getResultsArg(self.setUpRequest(["0", "invalid"])))
def test_one_args(self): res = base.getResultsArg(self.setUpRequest(["0"])) self.assertEqual(res, [0])
def test_many_args(self): res = base.getResultsArg(self.setUpRequest(["5", "8"])) self.assertEqual(res, [5, 8])
def test_no_results_arg(self): self.assertIsNone(base.getResultsArg(self.setUpRequest()))