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/spec/lib
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-04-10 21:48:21 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-04-10 21:48:21 +0400
commit0415566b3796f500e7f694a0aee4882752d150c1 (patch)
treea4e5ae3bca16a41d99a62098bd3beb30566df0ad /spec/lib
parent86e368a8af35fb0f09369630a226c80dc16ae5ec (diff)
Remove wiki migrator. We dont need it any more. Users should migrate to 5.0 first
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/wiki_to_gollum_migrator_spec.rb219
1 files changed, 0 insertions, 219 deletions
diff --git a/spec/lib/wiki_to_gollum_migrator_spec.rb b/spec/lib/wiki_to_gollum_migrator_spec.rb
deleted file mode 100644
index f9b9c78ea01..00000000000
--- a/spec/lib/wiki_to_gollum_migrator_spec.rb
+++ /dev/null
@@ -1,219 +0,0 @@
-require "spec_helper"
-
-describe WikiToGollumMigrator do
-
- def create_wiki_for(project)
- 3.times { @pages[project.id] << create_page(project) }
- end
-
- def create_revisions_for(project)
- @pages[project.id].each do |page|
- create_revision(page)
- end
- end
-
- def create_page(project)
- page = project.wikis.new(title: "Page #{rand(1000)}", content: "Content")
- page.user = project.owner
- page.slug = page.title.parameterize
- page.save!
- page
- end
-
- def create_revision(page)
- revision = page.dup
- revision.content = "Updated Content"
- revision.save!
- end
-
- def create_temp_repo(path)
- FileUtils.mkdir_p path
- command = "git init --quiet --bare #{path};"
- system(command)
- end
-
- before do
- @repo_path = "#{Rails.root}/tmp/test-git-base-path"
- @projects = []
- @pages = Hash.new {|h,k| h[k] = Array.new }
-
- @projects << create(:project)
- @projects << create(:project)
-
- @projects.each do |project|
- create_wiki_for project
- create_revisions_for project
- end
-
- @project_without_wiki = create(:project)
- end
-
- context "Before the migration" do
- it "has two projects with valid wikis" do
- @projects.each do |project|
- pages = project.wikis.group(:slug).all
- pages.count.should == 3
- end
- end
-
- it "has two revision for each page" do
- @projects.each do |project|
- @pages[project.id].each do |page|
- revisions = project.wikis.where(slug: page.slug)
- revisions.count.should == 2
- end
- end
- end
- end
-
- describe "#initialize" do
- it "finds all projects that have existing wiki pages" do
- Project.count.should == 3
- subject.projects.count.should == 2
- end
- end
-
- context "#migrate!" do
- before do
- Gitlab::Shell.any_instance.stub(:add_repository) do |path|
- create_temp_repo("#{@repo_path}/#{path}.git")
- end
-
- subject.stub(:log).as_null_object
-
- subject.migrate!
- end
-
- it "creates a new Gollum Wiki for each project" do
- @projects.each do |project|
- wiki_path = project.path_with_namespace + ".wiki.git"
- full_path = @repo_path + "/" + wiki_path
- File.exist?(full_path).should be_true
- File.directory?(full_path).should be_true
- end
- end
-
- it "creates a gollum page for each unique Wiki page" do
- @projects.each do |project|
- wiki = GollumWiki.new(project, nil)
- wiki.pages.count.should == 3
- end
- end
-
- it "creates a new revision for each old revision of the page" do
- @projects.each do |project|
- wiki = GollumWiki.new(project, nil)
- wiki.pages.each do |page|
- page.versions.count.should == 2
- end
- end
- end
-
- context "wikis with pages that have titles that do not match the slugs" do
- before do
- project = @projects.last
- @page = project.wikis.new(title: "test page", content: "Invalid Page")
- @page.slug = "totally-incorrect-slug"
- @page.user = project.owner
- @page.save!
-
- create_revision(@page)
-
- subject.rollback!
- subject.migrate!
- end
-
- it "has a page with a title differing the slug" do
- @page.slug.should_not == @page.title.parameterize
- end
-
- it "creates a new revision for each old revision of the page" do
- @projects.each do |project|
- wiki = GollumWiki.new(project, nil)
- wiki.pages.each do |page|
- page.versions.count.should == 2
- end
- end
- end
- end
-
- context "changing wiki title from index to home" do
- before do
- @project = @projects.last
- @page = @project.wikis.new(title: "Index", content: "Home Page")
- @page.slug = "index"
- @page.user = @project.owner
- @page.save!
-
- create_revision(@page)
-
- subject.rollback!
- end
-
- it "creates a page called Home" do
- subject.migrate!
- wiki = GollumWiki.new(@project, nil)
- page = wiki.find_page("home")
- page.should be_present
- end
-
- context "when a page called Home already exists" do
- before do
- @index_page = @project.wikis.new(title: "Index", content: "Index Page")
- @index_page.slug = "index"
- @index_page.user = @project.owner
- @index_page.save!
-
- create_revision(@index_page)
-
- @home_page = @project.wikis.new(title: "Home", content: "Home Page")
- @home_page.slug = "home"
- @home_page.user = @project.owner
- @home_page.save!
-
- create_revision(@home_page)
- subject.migrate!
- end
-
- it "creates the index page" do
- wiki = GollumWiki.new(@project, nil)
- page = wiki.find_page("index")
- page.should be_present
- end
-
- it "creates the home page" do
- wiki = GollumWiki.new(@project, nil)
- page = wiki.find_page("home")
- page.should be_present
- end
- end
- end
- end
-
- context "#rollback!" do
- before do
- Gitlab::Shell.any_instance.stub(:add_repository) do |path|
- create_temp_repo("#{@repo_path}/#{path}.git")
- end
-
- Gitlab::Shell.any_instance.stub(:remove_repository) do |path|
- FileUtils.rm_rf "#{@repo_path}/#{path}.git"
- end
-
- subject.stub(:log).as_null_object
-
- subject.migrate!
- subject.rollback!
- end
-
- it "destroys all of the wiki repositories that were created during migrate!" do
- @projects.each do |project|
- wiki_path = project.path_with_namespace + ".wiki.git"
- full_path = @repo_path + "/" + wiki_path
- File.exist?(full_path).should be_false
- end
- end
- end
-
-
-end