Ensure example git repos are valid (#1821)
* Ensure example git repos are valid It was reported in #1817 that the `lotr_migration.git` repository we use in `test/test_migrate.rb` is not a valid git repository on when clone, causing the test suite to fail when run locally. The reason is because there is no `.git/refs` directory, meaning it's not really a valid git repository at all. I noticed that the `empty.git` example repository has the same problem. This commit simply ensures that the directory structure of these example repositories are persisted in git. * Run `test_migrate` tests on CI Now that we've resolved the issue with the invalid git repository in the parent commit, we can run all of the tests in our CI environment.
This commit is contained in:
+47
-49
@@ -25,62 +25,60 @@ def load_script(**args)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
unless ENV['CI']
|
context '4.x -> 5.x tag migrator' do
|
||||||
context '4.x -> 5.x tag migrator' do
|
include Rack::Test::Methods
|
||||||
include Rack::Test::Methods
|
|
||||||
|
|
||||||
setup do
|
setup do
|
||||||
@path = cloned_testpath("examples/lotr_migration.git")
|
@path = cloned_testpath("examples/lotr_migration.git")
|
||||||
end
|
end
|
||||||
|
|
||||||
test 'repair broken links' do
|
test 'repair broken links' do
|
||||||
# The original contents of Subdir/Foo.md:
|
# The original contents of Subdir/Foo.md:
|
||||||
#
|
#
|
||||||
# waa
|
# waa
|
||||||
# [[Samwi]]
|
# [[Samwi]]
|
||||||
# [[samwise gamgee.mediaWiki]]
|
# [[samwise gamgee.mediaWiki]]
|
||||||
# [[Samwise Gamgee.mediawiki]]
|
# [[Samwise Gamgee.mediawiki]]
|
||||||
# [[Samwise Gamgee]]
|
# [[Samwise Gamgee]]
|
||||||
# [[Test|Samwise Gamgee#Anchor]]
|
# [[Test|Samwise Gamgee#Anchor]]
|
||||||
# [[Waaa|Test]]
|
# [[Waaa|Test]]
|
||||||
# [[Zaa]]
|
# [[Zaa]]
|
||||||
#
|
#
|
||||||
# The contents will be updated after running the migration script.
|
# The contents will be updated after running the migration script.
|
||||||
load_script
|
load_script
|
||||||
|
|
||||||
file = ::File.new(::File.join(@path, 'Subdir/Foo.md'), 'r')
|
file = ::File.new(::File.join(@path, 'Subdir/Foo.md'), 'r')
|
||||||
assert_equal <<~FILE_CONTENTS, file.read
|
assert_equal <<~FILE_CONTENTS, file.read
|
||||||
waa
|
waa
|
||||||
[[Samwi]]
|
[[Samwi]]
|
||||||
[[/Samwise Gamgee.mediawiki]]
|
[[/Samwise Gamgee.mediawiki]]
|
||||||
[[/Samwise Gamgee.mediawiki]]
|
[[/Samwise Gamgee.mediawiki]]
|
||||||
[[/Samwise Gamgee.md]]
|
[[/Samwise Gamgee.md]]
|
||||||
[[Test|/Samwise Gamgee.md#Anchor]]
|
[[Test|/Samwise Gamgee.md#Anchor]]
|
||||||
[[Waaa|/Bar/Test.md]]
|
[[Waaa|/Bar/Test.md]]
|
||||||
[[Subsub/Zaa.md]]
|
[[Subsub/Zaa.md]]
|
||||||
FILE_CONTENTS
|
FILE_CONTENTS
|
||||||
end
|
end
|
||||||
|
|
||||||
test 'change spaced filenames to hyphenated filenames' do
|
test 'change spaced filenames to hyphenated filenames' do
|
||||||
load_script(hyphenate: true)
|
load_script(hyphenate: true)
|
||||||
|
|
||||||
f = ::File.new(::File.join(@path, 'Home.textile'), 'r')
|
f = ::File.new(::File.join(@path, 'Home.textile'), 'r')
|
||||||
output = f.read
|
output = f.read
|
||||||
assert_equal true, output.include?('[[Bilbo-Baggins.md]]')
|
assert_equal true, output.include?('[[Bilbo-Baggins.md]]')
|
||||||
assert_equal true, output.include?('[[evil|Mordor/Eye-Of-Sauron.md]]')
|
assert_equal true, output.include?('[[evil|Mordor/Eye-Of-Sauron.md]]')
|
||||||
end
|
end
|
||||||
|
|
||||||
test 'migration with page file dir' do
|
test 'migration with page file dir' do
|
||||||
load_script(page_file_dir: 'Subdir')
|
load_script(page_file_dir: 'Subdir')
|
||||||
|
|
||||||
f = ::File.new(::File.join(@path, 'Subdir/Foo.md'), 'r')
|
f = ::File.new(::File.join(@path, 'Subdir/Foo.md'), 'r')
|
||||||
output = f.read
|
output = f.read
|
||||||
assert_equal true, output.include?('[[Subsub/Zaa.md]]')
|
assert_equal true, output.include?('[[Subsub/Zaa.md]]')
|
||||||
assert_equal true, output.include?('[[Samwi]]')
|
assert_equal true, output.include?('[[Samwi]]')
|
||||||
end
|
end
|
||||||
|
|
||||||
teardown do
|
teardown do
|
||||||
FileUtils.rm_rf(@path)
|
FileUtils.rm_rf(@path)
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user