Fix failing importer test case on MySQL due to missing trailing slash in root path
This commit is contained in:
parent
78f7c3c8a2
commit
e8cced8077
|
@ -34,8 +34,11 @@ module Gitlab
|
|||
private
|
||||
|
||||
def repo_relative_path
|
||||
absolute_path = Pathname.new(repo_path)
|
||||
project_root = Pathname.new(@root_path)
|
||||
|
||||
# Remove root path and `.git` at the end
|
||||
repo_path[@root_path.size...-4]
|
||||
absolute_path.relative_path_from(project_root).to_s.gsub(/\.git$/, '')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -134,8 +134,12 @@ describe Gitlab::BareRepositoryImport::Importer, repository: true do
|
|||
end
|
||||
|
||||
it 'moves an existing project to the correct path' do
|
||||
# This is a quick way to get a valid repository instead of copying an existing one
|
||||
project = create(:project, :repository)
|
||||
original_commit_count = project.repository.commit_count
|
||||
# We need to destroy the model but keep the repository so that the
|
||||
# importer will attempt to load the repository
|
||||
project.destroy
|
||||
|
||||
bare_repo = Gitlab::BareRepositoryImport::Repository.new(project.repository_storage_path, project.repository.path)
|
||||
gitlab_importer = described_class.new(admin, bare_repo)
|
||||
|
|
|
@ -46,6 +46,13 @@ describe ::Gitlab::BareRepositoryImport::Repository do
|
|||
describe '#project_full_path' do
|
||||
it 'returns the project full path' do
|
||||
expect(project_repo_path.repo_path).to eq('/full/path/to/repo.git')
|
||||
expect(project_repo_path.project_full_path).to eq('to/repo')
|
||||
end
|
||||
|
||||
it 'with no trailing slash in the root path' do
|
||||
repo_path = described_class.new('/full/path', '/full/path/to/repo.git')
|
||||
|
||||
expect(repo_path.project_full_path).to eq('to/repo')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue