From a3a63eeb92f5cc660dc3f03e2d7249e4b5f04acf Mon Sep 17 00:00:00 2001
From: Robert Speicher <rspeicher@gmail.com>
Date: Tue, 28 Aug 2012 21:13:22 -0400
Subject: [PATCH] Remove all instances to 'gitlabhq_x' seed repositories from
 specs and features

We now need only one seed repo! Also cleans up the seeding script.
---
 db/fixtures/test/001_repo.rb                 | 36 ++++++++++++--------
 features/step_definitions/dashboard_steps.rb |  8 ++---
 spec/models/project_spec.rb                  |  2 +-
 spec/requests/admin/admin_projects_spec.rb   |  2 +-
 spec/requests/atom/dashboard_issues_spec.rb  |  8 ++---
 spec/support/stubbed_repository.rb           |  4 +--
 6 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/db/fixtures/test/001_repo.rb b/db/fixtures/test/001_repo.rb
index ebf005a146..67d4e7bfbd 100644
--- a/db/fixtures/test/001_repo.rb
+++ b/db/fixtures/test/001_repo.rb
@@ -1,15 +1,23 @@
-# create tmp dir if not exist
-tmp_dir = File.join(Rails.root, "tmp")
-Dir.mkdir(tmp_dir) unless File.exists?(tmp_dir)
-
-# Create dir for test repo
-repo_dir = File.join(Rails.root, "tmp", "tests")
-Dir.mkdir(repo_dir) unless File.exists?(repo_dir)
-
-`cp spec/seed_project.tar.gz tmp/tests/`
-Dir.chdir(repo_dir)
-`tar -xf seed_project.tar.gz`
-3.times do |i|
-`cp -r gitlabhq/ gitlabhq_#{i}/`
-puts "Unpacked seed repo - tmp/tests/gitlabhq_#{i}"
+require 'fileutils'
+
+print "Unpacking seed repository..."
+
+SEED_REPO = 'seed_project.tar.gz'
+REPO_PATH = File.join(Rails.root, 'tmp', 'repositories')
+
+# Make whatever directories we need to make
+FileUtils.mkdir_p(REPO_PATH)
+
+# Copy the archive to the repo path
+FileUtils.cp(File.join(Rails.root, 'spec', SEED_REPO), REPO_PATH)
+
+# chdir to the repo path
+FileUtils.cd(REPO_PATH) do
+  # Extract the archive
+  `tar -xf #{SEED_REPO}`
+
+  # Remove the copy
+  FileUtils.rm(SEED_REPO)
 end
+
+puts ' done.'
diff --git a/features/step_definitions/dashboard_steps.rb b/features/step_definitions/dashboard_steps.rb
index d910ec90d1..a4edd224dc 100644
--- a/features/step_definitions/dashboard_steps.rb
+++ b/features/step_definitions/dashboard_steps.rb
@@ -106,13 +106,9 @@ Given /^I have assigned issues$/ do
 end
 
 Given /^I have authored merge requests$/ do
-  project1 = Factory :project,
-   :path => "gitlabhq_1",
-   :code => "gitlabhq_1"
+  project1 = Factory :project
 
-  project2 = Factory :project,
-   :path => "gitlabhq_2",
-   :code => "gitlabhq_2"
+  project2 = Factory :project
 
   project1.add_access(@user, :read, :write)
   project2.add_access(@user, :read, :write)
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index af193295ee..faaa9a917f 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -85,7 +85,7 @@ describe Project do
 
   it "should return path to repo" do
     project = Project.new(path: "somewhere")
-    project.path_to_repo.should == File.join(Rails.root, "tmp", "tests", "somewhere")
+    project.path_to_repo.should == File.join(Rails.root, "tmp", "repositories", "somewhere")
   end
 
   it "returns the full web URL for this repo" do
diff --git a/spec/requests/admin/admin_projects_spec.rb b/spec/requests/admin/admin_projects_spec.rb
index 0ce66f5f86..2edfb59231 100644
--- a/spec/requests/admin/admin_projects_spec.rb
+++ b/spec/requests/admin/admin_projects_spec.rb
@@ -87,7 +87,7 @@ describe "Admin::Projects" do
       visit new_admin_project_path
       fill_in 'project_name', with: 'NewProject'
       fill_in 'project_code', with: 'NPR'
-      fill_in 'project_path', with: 'gitlabhq_1'
+      fill_in 'project_path', with: 'newproject'
       expect { click_button "Create project" }.to change { Project.count }.by(1)
       @project = Project.last
     end
diff --git a/spec/requests/atom/dashboard_issues_spec.rb b/spec/requests/atom/dashboard_issues_spec.rb
index 1d208c70b1..79a9b8ef99 100644
--- a/spec/requests/atom/dashboard_issues_spec.rb
+++ b/spec/requests/atom/dashboard_issues_spec.rb
@@ -6,13 +6,9 @@ describe "User Issues Dashboard" do
 
       login_as :user
 
-      @project1 = Factory :project,
-        path: "gitlabhq_0",
-        code: "TEST1"
+      @project1 = Factory :project
 
-      @project2 = Factory :project,
-        path: "gitlabhq_1",
-        code: "TEST2"
+      @project2 = Factory :project
 
       @project1.add_access(@user, :read, :write)
       @project2.add_access(@user, :read, :write)
diff --git a/spec/support/stubbed_repository.rb b/spec/support/stubbed_repository.rb
index 637754bac5..8dd4f40e08 100644
--- a/spec/support/stubbed_repository.rb
+++ b/spec/support/stubbed_repository.rb
@@ -17,11 +17,11 @@ module StubbedRepository
     if new_record? || path == 'newproject'
       # There are a couple Project specs and features that expect the Project's
       # path to be in the returned path, so let's patronize them.
-      File.join(Rails.root, 'tmp', 'tests', path)
+      File.join(Rails.root, 'tmp', 'repositories', path)
     else
       # For everything else, just give it the path to one of our real seeded
       # repos.
-      File.join(Rails.root, 'tmp', 'tests', 'gitlabhq_0')
+      File.join(Rails.root, 'tmp', 'repositories', 'gitlabhq')
     end
   end
 
-- 
2.30.9