OSDN Git Service

Fix seeds. More projects for dev seeds
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Thu, 20 Jun 2013 10:14:23 +0000 (13:14 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Thu, 20 Jun 2013 10:14:23 +0000 (13:14 +0300)
db/fixtures/development/01_admin.rb
db/fixtures/development/02_source_code.rb [deleted file]
db/fixtures/development/03_group.rb [deleted file]
db/fixtures/development/04_project.rb
db/fixtures/development/05_users.rb
db/fixtures/development/06_teams.rb
db/fixtures/development/09_issues.rb
db/fixtures/development/10_merge_requests.rb

index fbe41e4..948a345 100644 (file)
@@ -7,5 +7,6 @@ User.seed(:id, [
     password: "5iveL!fe",
     password_confirmation: "5iveL!fe",
     admin: true,
+    projects_limit: 100,
   }
 ])
diff --git a/db/fixtures/development/02_source_code.rb b/db/fixtures/development/02_source_code.rb
deleted file mode 100644 (file)
index 5ce5bcf..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-gitlab_shell_path =  File.expand_path("~#{Gitlab.config.gitlab_shell.ssh_user}")
-root = Gitlab.config.gitlab_shell.repos_path
-
-projects = [
-  { path: 'underscore.git',              git: 'https://github.com/documentcloud/underscore.git' },
-  { path: 'diaspora.git',                git: 'https://github.com/diaspora/diaspora.git' },
-  { path: 'brightbox/brightbox-cli.git', git: 'https://github.com/brightbox/brightbox-cli.git' },
-  { path: 'brightbox/puppet.git',        git: 'https://github.com/brightbox/puppet.git' },
-  { path: 'gitlab/gitlabhq.git',        git: 'https://github.com/gitlabhq/gitlabhq.git' },
-  { path: 'gitlab/gitlab-ci.git',       git: 'https://github.com/gitlabhq/gitlab-ci.git' },
-  { path: 'gitlab/gitlab-recipes.git', git: 'https://github.com/gitlabhq/gitlab-recipes.git' },
-]
-
-projects.each do |project|
-  project_path = File.join(root, project[:path])
-
-  if File.exists?(project_path)
-    print '-'
-    next
-  end
-  if system("#{gitlab_shell_path}/gitlab-shell/bin/gitlab-projects import-project #{project[:path]} #{project[:git]}")
-    print '.'
-  else
-    print 'F'
-  end
-end
-
-puts "OK".green
-
diff --git a/db/fixtures/development/03_group.rb b/db/fixtures/development/03_group.rb
deleted file mode 100644 (file)
index 01174a4..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Group.seed(:id, [
-  { id: 99,  name: "GitLab", path: 'gitlab', owner_id: 1 },
-  { id: 100, name: "Brightbox", path: 'brightbox', owner_id: 1 },
-  { id: 101, name: "KDE", path: 'kde', owner_id: 1 },
-])
index 9904c48..43178de 100644 (file)
@@ -1,20 +1,49 @@
-Project.seed(:id, [
+project_urls = [
+  'https://github.com/documentcloud/underscore.git',
+  'https://github.com/diaspora/diaspora.git',
+  'https://github.com/diaspora/diaspora-project-site.git',
+  'https://github.com/diaspora/diaspora-client.git',
+  'https://github.com/brightbox/brightbox-cli.git',
+  'https://github.com/brightbox/puppet.git',
+  'https://github.com/gitlabhq/gitlabhq.git',
+  'https://github.com/gitlabhq/gitlab-ci.git',
+  'https://github.com/gitlabhq/gitlab-recipes.git',
+  'https://github.com/gitlabhq/gitlab-shell.git',
+  'https://github.com/gitlabhq/grack.git',
+  'https://github.com/twitter/flight.git',
+  'https://github.com/twitter/typeahead.js.git',
+  'https://github.com/h5bp/html5-boilerplate.git',
+  'https://github.com/h5bp/mobile-boilerplate.git',
+]
 
-  # Global
-  { id: 1, name: "Underscore.js", path: "underscore", creator_id: 1 },
-  { id: 2, name: "Diaspora", path: "diaspora", creator_id: 1 },
+project_urls.each_with_index do |url, i|
+  group_path, project_path = url.split('/')[-2..-1]
 
-  # Brightbox
-  { id: 3, namespace_id: 100, name: "Brightbox CLI", path: "brightbox-cli", creator_id: 1 },
-  { id: 4, namespace_id: 100, name: "Puppet", path: "puppet", creator_id: 1 },
+  group = Group.find_by_path(group_path)
 
-  # KDE
-  { id: 5, namespace_id: 101, name: "kdebase", path: "kdebase", creator_id: 1},
-  { id: 6, namespace_id: 101, name: "kdelibs", path: "kdelibs", creator_id: 1},
-  { id: 7, namespace_id: 101, name: "amarok",  path: "amarok",  creator_id: 1},
+  unless group
+    group = Group.new(
+      name: group_path.titleize,
+      path: group_path
+    )
+    group.owner = User.first
+    group.save
+  end
 
-  # GitLab
-  { id: 8,  namespace_id: 99, name: "gitlabhq", path: "gitlabhq", creator_id: 1},
-  { id: 9,  namespace_id: 99, name: "gitlab-ci",  path: "gitlab-ci",  creator_id: 1},
-  { id: 10, namespace_id: 99, name: "gitlab-recipes",  path: "gitlab-recipes",  creator_id: 1},
-])
+  project_path.gsub!(".git", "")
+
+  params = {
+    import_url: url,
+    namespace_id: group.id,
+    name: project_path.titleize
+  }
+
+  project = Projects::CreateContext.new(User.first, params).execute
+
+  if project.valid?
+    print '.'
+  else
+    puts project.errors.full_messages
+    print 'F'
+  end
+end
index abcb025..cbb3e63 100644 (file)
@@ -1,5 +1,5 @@
 Gitlab::Seeder.quiet do
-  (2..300).each  do |i|
+  (2..50).each  do |i|
     begin
       User.seed(:id, [{
         id: i,
index f82977d..a1e0187 100644 (file)
@@ -1,14 +1,23 @@
 ActiveRecord::Base.observers.disable :all
 
 Gitlab::Seeder.quiet do
-  Project.all.each do |project|
-    project.team << [User.first, :master]
-    print '.'
+  Group.all.each do |group|
+    User.all.sample(4).each do |user|
+      if group.add_users([user.id], UsersGroup.group_access_roles.values.sample)
+        print '.'
+      else
+        print 'F'
+      end
+    end
+  end
 
-    User.all.sample(rand(10)).each do |user|
-      role = [:master, :developer, :reporter].sample
-      project.team << [user, role]
-      print '.'
+  Project.all.each do |project|
+    User.all.sample(4).each do |user|
+      if project.team << [user, UsersProject.access_roles.values.sample]
+        print '.'
+      else
+        print 'F'
+      end
     end
   end
 end
index d13d520..32c1139 100644 (file)
@@ -11,7 +11,6 @@ Gitlab::Seeder.quiet do
     next unless user
 
     user_id = user.id
-    IssueObserver.current_user = user
 
     Issue.seed(:id, [{
       id: i,
index d122d96..0a9f986 100644 (file)
@@ -17,7 +17,6 @@ Gitlab::Seeder.quiet do
     next if branches.uniq.size < 2
 
     user_id = user.id
-    MergeRequestObserver.current_user = user
     MergeRequest.seed(:id, [{
       id: i,
       source_branch: branches.first,