summaryrefslogtreecommitdiff
path: root/qa/qa/specs/features/shared_contexts/import/github_import_shared_context.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/specs/features/shared_contexts/import/github_import_shared_context.rb')
-rw-r--r--qa/qa/specs/features/shared_contexts/import/github_import_shared_context.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/qa/qa/specs/features/shared_contexts/import/github_import_shared_context.rb b/qa/qa/specs/features/shared_contexts/import/github_import_shared_context.rb
index 27d94b04cde..481a09f601b 100644
--- a/qa/qa/specs/features/shared_contexts/import/github_import_shared_context.rb
+++ b/qa/qa/specs/features/shared_contexts/import/github_import_shared_context.rb
@@ -35,8 +35,44 @@ module QA
end
end
+ let(:smocker_host) { ENV["QA_SMOCKER_HOST"] }
+ let(:smocker) do
+ Vendor::Smocker::SmockerApi.new(
+ host: smocker_host,
+ public_port: 443,
+ admin_port: 8081,
+ tls: true
+ )
+ end
+
+ let(:mocks_path) { File.join(Runtime::Path.fixtures_path, "mocks", "import") }
+
before do
+ set_mocks
group.add_member(user, Resource::Members::AccessLevel::MAINTAINER)
end
+
+ def expect_project_import_finished_successfully
+ imported_project.reload! # import the project
+
+ status = nil
+ Support::Retrier.retry_until(max_duration: 240, sleep_interval: 1, raise_on_failure: false) do
+ status = imported_project.project_import_status[:import_status]
+ %w[finished failed].include?(status)
+ end
+
+ # finished status means success, all other statuses are considered to fail the test
+ expect(status).to eq('finished'), "Expected import to finish successfully, but status was: #{status}"
+ end
+
+ # Setup github mocked responses if mock server host is present
+ #
+ # @return [void]
+ def set_mocks
+ return Runtime::Logger.warn("Mock host is not set, skipping github response setup") unless smocker_host
+
+ smocker.reset
+ smocker.register(File.read(File.join(mocks_path, "github.yml")))
+ end
end
end