Пример #1
0
    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
Пример #2
0
 def test_invalid_args(self):
     self.assertIsNone(base.getResultsArg(self.setUpRequest(["0",
                                                             "invalid"])))
Пример #3
0
 def test_one_args(self):
     res = base.getResultsArg(self.setUpRequest(["0"]))
     self.assertEqual(res, [0])
Пример #4
0
 def test_many_args(self):
     res = base.getResultsArg(self.setUpRequest(["5", "8"]))
     self.assertEqual(res, [5, 8])
Пример #5
0
 def test_no_results_arg(self):
     self.assertIsNone(base.getResultsArg(self.setUpRequest()))