Commit 1d337def authored by Marin Jankovski's avatar Marin Jankovski

Merge pull request #8168 from cirosantilli/dev-fixtures-visibility

Create dev fixture projects with fixed visibility
parents 2bb8e93d a9fadce3
require 'sidekiq/testing'
Sidekiq::Testing.inline! do
Gitlab::Seeder.quiet do
Gitlab::Seeder.quiet do
project_urls = [
'https://github.com/documentcloud/underscore.git',
'https://gitlab.com/gitlab-org/gitlab-ce.git',
......@@ -13,7 +10,7 @@ Sidekiq::Testing.inline! do
'https://github.com/h5bp/html5-boilerplate.git',
]
project_urls.each_with_index do |url, i|
project_urls.each do |url|
group_path, project_path = url.split('/')[-2..-1]
group = Group.find_by(path: group_path)
......@@ -29,7 +26,7 @@ Sidekiq::Testing.inline! do
group.add_owner(User.first)
end
project_path.gsub!(".git", "")
project_path.gsub!('.git', '')
params = {
import_url: url,
......@@ -48,5 +45,4 @@ Sidekiq::Testing.inline! do
print 'F'
end
end
end
end
require Rails.root.join('db', 'fixtures', Rails.env, 'fixtures_development_helper')
Gitlab::Seeder.quiet do
Gitlab::VisibilityLevel.options.each do |visibility_label, visibility_value|
visibility_label_downcase = visibility_label.downcase
begin
user = User.seed(:username) do |s|
username = "#{visibility_label_downcase}-owner"
s.username = username
s.name = "#{visibility_label} Owner"
s.email = "#{username}@example.com"
s.password = '12345678'
s.confirmed_at = DateTime.now
end[0]
# import_url does not work for local paths,
# so we just copy the template repository in.
unless Project.find_with_namespace("#{user.namespace.id}/"\
"#{visibility_label_downcase}")
params = {
name: "#{visibility_label} Project",
description: "#{visibility_label} Project description",
namespace_id: user.namespace.id,
visibility_level: visibility_value,
}
project = Projects::CreateService.new(user, params).execute
new_path = project.repository.path
FileUtils.rm_rf(new_path)
FileUtils.cp_r(FixturesDevelopmentHelper.template_project.repository.path,
new_path)
end
print '.'
rescue ActiveRecord::RecordNotSaved
print 'F'
end
end
end
module FixturesDevelopmentHelper
class << self
def template_project
@template_project ||= Project.
find_with_namespace('gitlab-org/gitlab-test')
end
end
end
require 'sidekiq/testing'
module Gitlab
class Seeder
def self.quiet
mute_mailer
SeedFu.quiet = true
Sidekiq::Testing.inline! do
yield
end
SeedFu.quiet = false
puts "\nOK".green
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment