def request_fake_pushdata(self): first_push = self.make_push_dict(self.push_data[0]) first_request = self.make_request_dict(self.request_data[0]) first_request["tags"] = "buildbot" second_request = self.make_request_dict(self.request_data[1]) # Prepare pushdata the way PushServlet accepts. This is the # format API also replies to pushdata requests. pushinfo = util.push_to_jsonable(first_push) requests = { first_request["state"]: [util.request_to_jsonable(first_request)], "all": [util.request_to_jsonable(first_request)], } available_requests = [util.request_to_jsonable(second_request)] pushdata = [pushinfo, requests, available_requests] with contextlib.nested( mock.patch.object(PushServlet, "get_current_user", return_value="testuser"), mock.patch.object(PushServlet, "async_api_call", side_effect=self.mocked_api_call), mock.patch.object(self, "api_response", return_value=json.dumps(pushdata)), ): self.fetch("/push?id=%d" % first_push["id"]) response = self.wait() yield pushdata, response
def request_fake_pushdata(self): first_push = self.make_push_dict(self.push_data[0]) first_request = self.make_request_dict(self.request_data[0]) first_request['tags'] = "buildbot" second_request = self.make_request_dict(self.request_data[1]) # Prepare pushdata the way PushServlet accepts. This is the # format API also replies to pushdata requests. pushinfo = util.push_to_jsonable(first_push) requests = { first_request['state']: [util.request_to_jsonable(first_request)], 'all': [util.request_to_jsonable(first_request)] } available_requests = [util.request_to_jsonable(second_request)] pushdata = [pushinfo, requests, available_requests] with contextlib.nested( mock.patch.object(PushServlet, "get_current_user", return_value="testuser"), mock.patch.object(PushServlet, "async_api_call", side_effect=self.mocked_api_call), mock.patch.object(self, "api_response", return_value=json.dumps(pushdata))): self.fetch("/push?id=%d" % first_push['id']) response = self.wait() yield pushdata, response
def _on_PUSHES_db_response(self, success, db_results): self.check_db_results(success, db_results) push_results, last_push_results = db_results push_results = [ util.push_to_jsonable(result) for result in push_results ] return self._xjson([push_results, last_push_results.first()[0]])
def _on_PUSH_db_response(self, success, db_results): if not success: return self.send_error(500) push = db_results.first() if not push: return self.send_error(404) else: return self._xjson(util.push_to_jsonable(push))
def _on_PUSHES_db_response(self, success, db_results): self.check_db_results(success, db_results) push_results, last_push_results = db_results def accepting_first(current, previous): # swap only if current push is accepting and previous push not accepting if current['state'] == 'accepting' and previous['state'] != 'accepting': return -1 return 0 push_results = sorted([util.push_to_jsonable(result) for result in push_results], cmp=accepting_first) return self._xjson([push_results, last_push_results.first()[0]])
def _on_PUSHES_db_response(self, success, db_results): self.check_db_results(success, db_results) push_results, last_push_results = db_results def accepting_first(current, previous): # swap only if current push is accepting and previous push not accepting if current['state'] == 'accepting' and previous[ 'state'] != 'accepting': return -1 return 0 push_results = sorted( [util.push_to_jsonable(result) for result in push_results], cmp=accepting_first) return self._xjson([push_results, last_push_results.first()[0]])
def _on_PUSHDATA_db_response(self, success, db_results): self.check_db_results(success, db_results) push_info, push_contents, available_requests = db_results push_info = push_info.first() if not push_info: return self.send_error(404) push_info = util.push_to_jsonable(push_info) available_requests = [util.request_to_jsonable(r) for r in available_requests.fetchall()] push_requests = {} for request in push_contents: request = util.request_to_jsonable(request) push_requests.setdefault(request['state'], []).append(request) push_requests.setdefault('all', []).append(request) return self._xjson([push_info, push_requests, available_requests])
def _on_PUSHDATA_db_response(self, success, db_results): self.check_db_results(success, db_results) push_info, push_contents, available_requests = db_results push_info = push_info.first() if not push_info: return self.send_error(404) push_info = util.push_to_jsonable(push_info) available_requests = [ util.request_to_jsonable(r) for r in available_requests.fetchall() ] push_requests = {} for request in push_contents: request = util.request_to_jsonable(request) push_requests.setdefault(request['state'], []).append(request) push_requests.setdefault('all', []).append(request) return self._xjson([push_info, push_requests, available_requests])
def _on_PUSHBYREQUEST_db_response(self, success, db_results): self.check_db_results(success, db_results) push = db_results.first() return self._xjson(util.push_to_jsonable(push))
def _on_PUSHES_db_response(self, success, db_results): self.check_db_results(success, db_results) push_results, last_push_results = db_results push_results = [util.push_to_jsonable(result) for result in push_results] return self._xjson([push_results, last_push_results.first()[0]])