Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/qa
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-04-22 00:09:38 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-04-22 00:09:38 +0300
commit8e180c115da19899960621f8ee77555e81bda7c5 (patch)
tree8fbe98d1a2439a315a55ffed9d32b47126961eef /qa
parentf1d9023a9049ed7defec5566063b7f704c26dfd6 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'qa')
-rw-r--r--qa/qa.rb2
-rw-r--r--qa/qa/resource/project.rb9
-rw-r--r--qa/qa/resource/visibility.rb17
-rw-r--r--qa/qa/runtime/project.rb35
4 files changed, 25 insertions, 38 deletions
diff --git a/qa/qa.rb b/qa/qa.rb
index af418033252..378ea79ce45 100644
--- a/qa/qa.rb
+++ b/qa/qa.rb
@@ -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