Compare commits

...

2 Commits

Author SHA1 Message Date
benjamin wil fda5bcf3f6 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.
2022-04-30 22:40:37 -07:00
benjamin wil 01005fdccf 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.
2022-04-30 22:39:50 -07:00
3 changed files with 47 additions and 49 deletions
+47 -49
View File
@@ -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