diff --git a/test/functional/repositories_git_controller_test.rb b/test/functional/repositories_git_controller_test.rb index 94280f639..284028b51 100644 --- a/test/functional/repositories_git_controller_test.rb +++ b/test/functional/repositories_git_controller_test.rb @@ -386,6 +386,33 @@ class RepositoriesGitControllerTest < ActionController::TestCase assert_nil @project.repository end + def test_destroy_invalid_repository + @request.session[:user_id] = 1 # admin + @repository.fetch_changesets + @repository.reload + assert @repository.changesets.count > 0 + + get :destroy, :id => PRJ_ID + assert_response 302 + @project.reload + assert_nil @project.repository + + @repository = Repository::Git.create( + :project => @project, + :url => "/invalid", + :path_encoding => 'ISO-8859-1' + ) + assert @repository + @repository.fetch_changesets + @repository.reload + assert_equal 0, @repository.changesets.count + + get :destroy, :id => PRJ_ID + assert_response 302 + @project.reload + assert_nil @project.repository + end + private def puts_ruby19_non_utf8_pass