summaryrefslogtreecommitdiff
path: root/db/fixtures/development/04_project.rb
blob: ae4c0550a4f8fcfc4d022b5d9fcb1248417295e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
require 'sidekiq/testing'

Sidekiq::Testing.inline! do
  Gitlab::Seeder.quiet do
    project_urls = [
      'https://github.com/documentcloud/underscore.git',
      'https://gitlab.com/gitlab-org/gitlab-ce.git',
      'https://gitlab.com/gitlab-org/gitlab-ci.git',
      'https://gitlab.com/gitlab-org/gitlab-shell.git',
      'https://gitlab.com/gitlab-org/gitlab-test.git',
      'https://github.com/twitter/flight.git',
      'https://github.com/twitter/typeahead.js.git',
      'https://github.com/h5bp/html5-boilerplate.git',
    ]

    project_urls.each_with_index do |url, i|
      group_path, project_path = url.split('/')[-2..-1]

      group = Group.find_by(path: group_path)

      unless group
        group = Group.new(
          name: group_path.titleize,
          path: group_path
        )
        group.description = Faker::Lorem.sentence
        group.save

        group.add_owner(User.first)
      end

      project_path.gsub!(".git", "")

      params = {
        import_url: url,
        namespace_id: group.id,
        name: project_path.titleize,
        description: Faker::Lorem.sentence,
        visibility_level: Gitlab::VisibilityLevel.values.sample
      }

      project = Projects::CreateService.new(User.first, params).execute

      if project.valid?
        print '.'
      else
        puts project.errors.full_messages
        print 'F'
      end
    end
  end
end