Test simple push with PostReceive
It seems that because of gitlab-shell interactions, we should test a simple push and ensure that PostReceive completes successfully without any errors.
This would help prevent https://gitlab.com/gitlab-org/gitlab-ee/issues/2822 occurring in the first place.
Then, ideally we should probably check that each of the updates that happen in GitTagPushService / GitPushService have been performed:
-
ProcessCommitWorker: https://gitlab.com/gitlab-org/gitlab-ce/issues/52707-
a commit with
Closes #1234effectively closes the related issue -
a commit with
Closes #1234effectively creates a cross-reference in the related issue
-
-
UpdateMergeRequestsWorker: https://gitlab.com/gitlab-org/gitlab-ce/issues/52708-
the commit appears in the commits list of the MR
-
the commit content appears in the diff of the MR
-
-
EventCreateService: #155 (closed) => https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/16423- a new event is created and appears in the Activity page
-
Ci::CreatePipelineService: #229 (closed) => Covered by https://gitlab.com/gitlab-org/gitlab-ce/blob/3a1843f9470e8916d65e182f33c1e5f53b217140/qa/qa/specs/features/project/pipelines_spec.rb#L28-100- a new pipeline is created and appears in the Pipelines page (no need to check that the pipeline is picked up by a runner in this test)
-
SystemHookPushWorker- a trigger that we've set up is effectively called (we'll have to find how to check that): we could spin up a simple web app in a Docker container that would write the last body it receives to a file on
POST, and return it onGET, so that we could curl it to ensure that what it returns is the information of the commit that we just pushed to GitLab...
- a trigger that we've set up is effectively called (we'll have to find how to check that): we could spin up a simple web app in a Docker container that would write the last body it receives to a file on
-
AfterBranchDeleteService- this ones requires an environment to be started: deleting the branch should stop the environment
-
check that the number of commits shown in the Project page is updated
-
more checks for EE