Skip to content
代码片段 群组 项目
未验证 提交 fa79eefd 编辑于 作者: Jay McCure's avatar Jay McCure
浏览文件

E2E tests: wait for MRs to be prepared

上级 83deec34
No related branches found
No related tags found
无相关合并请求
...@@ -25,6 +25,7 @@ class MergeRequest < Issuable ...@@ -25,6 +25,7 @@ class MergeRequest < Issuable
:description, :description,
:merge_when_pipeline_succeeds, :merge_when_pipeline_succeeds,
:detailed_merge_status, :detailed_merge_status,
:prepared_at,
:state, :state,
:reviewers :reviewers
...@@ -110,7 +111,9 @@ def fabricate_via_api! ...@@ -110,7 +111,9 @@ def fabricate_via_api!
rescue ResourceNotFoundError, NoValueError # rescue if iid not populated rescue ResourceNotFoundError, NoValueError # rescue if iid not populated
populate_target_and_source_if_required populate_target_and_source_if_required
super url = super
wait_for_preparation
url
end end
def api_merge_path def api_merge_path
...@@ -265,6 +268,18 @@ def wait_until_mergable ...@@ -265,6 +268,18 @@ def wait_until_mergable
raise Support::Repeater::WaitExceededError, raise Support::Repeater::WaitExceededError,
"Timed out waiting for merge of MR with id '#{iid}'. Final status was '#{detailed_merge_status}'" "Timed out waiting for merge of MR with id '#{iid}'. Final status was '#{detailed_merge_status}'"
end end
# Wait until the merge request is prepared. Raises WaitExceededError if the MR is not prepared within 60 seconds
# https://docs.gitlab.com/ee/api/merge_requests.html#preparation-steps
#
# @return [void]
def wait_for_preparation
return if Support::Waiter.wait_until(sleep_interval: 1, raise_on_failure: false, log: false) do
reload!.prepared_at
end
raise Support::Repeater::WaitExceededError, "Timed out waiting for MR with id '#{iid}' to be prepared."
end
end end
end end
end end
...@@ -26,8 +26,7 @@ module QA ...@@ -26,8 +26,7 @@ module QA
end end
it 'merge request assigns code owners as approvers', it 'merge request assigns code owners as approvers',
testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347776', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347776' do
quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/416217', type: :bug } do
# Commit CODEOWNERS to default branch # Commit CODEOWNERS to default branch
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.project = project commit.project = project
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册