diff options
author | Rémy Coutable <remy@rymai.me> | 2018-01-25 09:55:39 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-01-25 09:55:39 +0000 |
commit | dcb79741a170eaf673237bb2becbf6fb742a8bfd (patch) | |
tree | 537e0a23eb73fd386fb4d5fa6303ce13f37e3a1d /qa/qa/factory | |
parent | 944c1eb684fe979339262ba6e9f7bf9e1b77fc81 (diff) | |
parent | 5bead3e29965ec26ccf3320d65a5757d673d9958 (diff) | |
download | gitlab-ce-dcb79741a170eaf673237bb2becbf6fb742a8bfd.tar.gz |
Merge branch 'qa/gb/ci-cd-qa-pipelines' into 'master'
CI/CD end-to-end tests
Closes gitlab-qa#18
See merge request gitlab-org/gitlab-ce!16619
Diffstat (limited to 'qa/qa/factory')
-rw-r--r-- | qa/qa/factory/resource/deploy_key.rb | 2 | ||||
-rw-r--r-- | qa/qa/factory/resource/runner.rb | 42 |
2 files changed, 43 insertions, 1 deletions
diff --git a/qa/qa/factory/resource/deploy_key.rb b/qa/qa/factory/resource/deploy_key.rb index 671114d38b1..25d2af6e321 100644 --- a/qa/qa/factory/resource/deploy_key.rb +++ b/qa/qa/factory/resource/deploy_key.rb @@ -19,7 +19,7 @@ module QA project.visit! Page::Menu::Side.act do - click_repository_setting + click_repository_settings end Page::Project::Settings::Repository.perform do |setting| diff --git a/qa/qa/factory/resource/runner.rb b/qa/qa/factory/resource/runner.rb new file mode 100644 index 00000000000..5f37f8ac2e9 --- /dev/null +++ b/qa/qa/factory/resource/runner.rb @@ -0,0 +1,42 @@ +require 'securerandom' + +module QA + module Factory + module Resource + class Runner < Factory::Base + attr_writer :name, :tags + + dependency Factory::Resource::Project, as: :project do |project| + project.name = 'project-with-ci-cd' + project.description = 'Project with CI/CD Pipelines' + end + + def name + @name || "qa-runner-#{SecureRandom.hex(4)}" + end + + def tags + @tags || %w[qa e2e] + end + + def fabricate! + project.visit! + + Page::Menu::Side.act { click_ci_cd_settings } + + Service::Runner.new(name).tap do |runner| + Page::Project::Settings::CICD.perform do |settings| + settings.expand_runners_settings do |runners| + runner.pull + runner.token = runners.registration_token + runner.address = runners.coordinator_address + runner.tags = tags + runner.register! + end + end + end + end + end + end + end +end |