diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-22 00:09:38 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-22 00:09:38 +0300 |
commit | 8e180c115da19899960621f8ee77555e81bda7c5 (patch) | |
tree | 8fbe98d1a2439a315a55ffed9d32b47126961eef /qa | |
parent | f1d9023a9049ed7defec5566063b7f704c26dfd6 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'qa')
-rw-r--r-- | qa/qa.rb | 2 | ||||
-rw-r--r-- | qa/qa/resource/project.rb | 9 | ||||
-rw-r--r-- | qa/qa/resource/visibility.rb | 17 | ||||
-rw-r--r-- | qa/qa/runtime/project.rb | 35 |
4 files changed, 25 insertions, 38 deletions
@@ -39,7 +39,6 @@ module QA autoload :MailHog, 'qa/runtime/mail_hog' autoload :IPAddress, 'qa/runtime/ip_address' autoload :Search, 'qa/runtime/search' - autoload :Project, 'qa/runtime/project' autoload :ApplicationSettings, 'qa/runtime/application_settings' module API @@ -88,6 +87,7 @@ module QA autoload :Tag, 'qa/resource/tag' autoload :ProjectMember, 'qa/resource/project_member' autoload :UserGPG, 'qa/resource/user_gpg' + autoload :Visibility, 'qa/resource/visibility' module Events autoload :Base, 'qa/resource/events/base' diff --git a/qa/qa/resource/project.rb b/qa/qa/resource/project.rb index cb047f81d02..1b671a076de 100644 --- a/qa/qa/resource/project.rb +++ b/qa/qa/resource/project.rb @@ -7,11 +7,11 @@ module QA class Project < Base include Events::Project include Members + include Visibility attr_accessor :repository_storage # requires admin access attr_writer :initialize_with_readme attr_writer :auto_devops_enabled - attr_writer :visibility attribute :id attribute :name @@ -19,6 +19,7 @@ module QA attribute :description attribute :standalone attribute :runners_token + attribute :visibility attribute :group do Group.fabricate! @@ -50,7 +51,7 @@ module QA @description = 'My awesome project' @initialize_with_readme = false @auto_devops_enabled = false - @visibility = 'public' + @visibility = :public end def name=(raw_name) @@ -83,6 +84,10 @@ module QA "/projects/#{CGI.escape(path_with_namespace)}" end + def api_visibility_path + "/projects/#{id}" + end + def api_get_archive_path(type = 'tar.gz') "#{api_get_path}/repository/archive.#{type}" end diff --git a/qa/qa/resource/visibility.rb b/qa/qa/resource/visibility.rb new file mode 100644 index 00000000000..b31bd3fca49 --- /dev/null +++ b/qa/qa/resource/visibility.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module QA + module Resource + module Visibility + def set_visibility(visibility) + put Runtime::API::Request.new(api_client, api_visibility_path).url, { visibility: visibility } + end + + class VisibilityLevel + %i(public internal private).each do |level| + const_set(level.upcase, level) + end + end + end + end +end diff --git a/qa/qa/runtime/project.rb b/qa/qa/runtime/project.rb deleted file mode 100644 index 89edfee1fbe..00000000000 --- a/qa/qa/runtime/project.rb +++ /dev/null @@ -1,35 +0,0 @@ -# frozen_string_literal: true - -module QA - module Runtime - module Project - extend self - extend Support::Api - - def create_project(project_name, api_client, project_description = 'default') - project = Resource::Project.fabricate_via_api! do |project| - project.add_name_uuid = false - project.name = project_name - project.description = project_description - project.api_client = api_client - project.visibility = 'public' - end - project - end - - def push_file_to_project(target_project, file_name, file_content) - Resource::Repository::ProjectPush.fabricate! do |push| - push.project = target_project - push.file_name = file_name - push.file_content = file_content - end - end - - def set_project_visibility(api_client, project_id, visibility) - request = Runtime::API::Request.new(api_client, "/projects/#{project_id}") - response = put request.url, visibility: visibility - response.code.equal?(QA::Support::Api::HTTP_STATUS_OK) - end - end - end -end |