Exemplo n.º 1
0
    def test_update_req_sha_and_queue_pickme_added_test_conflicting_pickmes(self):
        new_sha = "1"*40
        pickme_request = copy.deepcopy(self.fake_request)
        pickme_request['state'] = 'added'
        pickme_request['tags'] = 'conflict-pickme'
        with mock.patch('pushmanager.core.git.GitQueue.enqueue_request') as enqueue_req:
            with mock.patch.dict(Settings, MockedSettings):
                GitQueue._update_req_sha_and_queue_pickme(pickme_request, new_sha)

                result = [None]

                def on_db_return(success, db_results):
                    assert success, "Database error"
                    result[0] = db_results.first()

                request_info_query = db.push_requests.select().where(
                    db.push_requests.c.id == self.fake_request['id']
                )
                db.execute_cb(request_info_query, on_db_return)
                T.assert_equal(result[0][5], new_sha)
                T.assert_equals(enqueue_req.call_count, 2)
                enqueue_req.assert_has_calls([
                    mock.call(
                        GitTaskAction.TEST_CONFLICTING_PICKMES,
                        GitQueue._get_push_for_request(pickme_request['id'])['push'],
                        pushmanager_url='https://%s:%s' % (
                            MockedSettings['main_app']['servername'],
                            MockedSettings['main_app']['port'])
                        )
                ])
Exemplo n.º 2
0
    def test_update_req_sha_and_queue_pickme_added_test_conflicting_pickmes(self):
        new_sha = "1"*40
        pickme_request = copy.deepcopy(self.fake_request)
        pickme_request['state'] = 'added'
        pickme_request['tags'] = 'conflict-pickme'
        with mock.patch('pushmanager.core.git.GitQueue.enqueue_request') as enqueue_req:
            with mock.patch.dict(Settings, MockedSettings):
                GitQueue._update_req_sha_and_queue_pickme(pickme_request, new_sha)

                result = [None]
                def on_db_return(success, db_results):
                    assert success, "Database error"
                    result[0] = db_results.first()

                request_info_query = db.push_requests.select().where(
                    db.push_requests.c.id == self.fake_request['id']
                )
                db.execute_cb(request_info_query, on_db_return)
                T.assert_equal(result[0][5], new_sha)
                T.assert_equals(enqueue_req.call_count, 2)
                enqueue_req.assert_has_calls([
                    mock.call(
                        GitTaskAction.TEST_CONFLICTING_PICKMES,
                        GitQueue._get_push_for_request(pickme_request['id'])['push'],
                        pushmanager_url='https://%s:%s' % (MockedSettings['main_app']['servername'], MockedSettings['main_app']['port']))
                ])
Exemplo n.º 3
0
    def on_checklist_upsert_complete(self, success, db_results):
        if not success:
            return self.send_error(500)

        if self.requestid:
            GitQueue.enqueue_request(GitTaskAction.VERIFY_BRANCH, self.requestid)

            # Check if the request is already pickme'd for a push, and if
            # so also enqueue it to be checked for conflicts.
            request_push_id = GitQueue._get_push_for_request(self.requestid)
            if request_push_id:
                GitQueue.enqueue_request(GitTaskAction.TEST_PICKME_CONFLICT, self.requestid)

        return self.redirect("/requests?user=%s" % self.request_user)
Exemplo n.º 4
0
    def on_checklist_upsert_complete(self, success, db_results):
        if not success:
            return self.send_error(500)

        if self.requestid:
            GitQueue.enqueue_request(GitTaskAction.VERIFY_BRANCH,
                                     self.requestid,
                                     pushmanager_url=self.get_base_url())

            # Check if the request is already pickme'd for a push, and if
            # so also enqueue it to be checked for conflicts.
            request_push_id = GitQueue._get_push_for_request(self.requestid)
            if request_push_id:
                GitQueue.enqueue_request(GitTaskAction.TEST_PICKME_CONFLICT,
                                         self.requestid,
                                         pushmanager_url=self.get_base_url())

        return self.redirect("/requests?user=%s" % self.request_user)