diff options
author | Luke Duncalfe <lduncalfe@eml.cc> | 2019-07-24 13:53:06 +1200 |
---|---|---|
committer | Luke Duncalfe <lduncalfe@eml.cc> | 2019-07-26 11:49:36 +1200 |
commit | 634a03bf608eaf86ecf14b4f44fa30e62905ac6b (patch) | |
tree | 4daf3593529dc95619cea5526c56e854770e3296 /spec/routing | |
parent | 513daf3dd6e48fe935ce5f062f8ffd201aee1503 (diff) | |
download | gitlab-ce-634a03bf608eaf86ecf14b4f44fa30e62905ac6b.tar.gz |
Redirect project.wiki.git to project wiki home19186-redirect-wiki-git-route-to-wiki
https://gitlab.com/gitlab-org/gitlab-ce/issues/19186
Diffstat (limited to 'spec/routing')
-rw-r--r-- | spec/routing/git_http_routing_spec.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/routing/git_http_routing_spec.rb b/spec/routing/git_http_routing_spec.rb new file mode 100644 index 00000000000..af14e5f81cb --- /dev/null +++ b/spec/routing/git_http_routing_spec.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe 'git_http routing' do + include RSpec::Rails::RequestExampleGroup + + describe 'wiki.git routing', 'routing' do + let(:wiki_path) { '/gitlab/gitlabhq/wikis' } + + it 'redirects namespace/project.wiki.git to the project wiki' do + expect(get('/gitlab/gitlabhq.wiki.git')).to redirect_to(wiki_path) + end + + it 'preserves query parameters' do + expect(get('/gitlab/gitlabhq.wiki.git?foo=bar&baz=qux')).to redirect_to("#{wiki_path}?foo=bar&baz=qux") + end + + it 'only redirects when the format is .git' do + expect(get('/gitlab/gitlabhq.wiki')).not_to redirect_to(wiki_path) + expect(get('/gitlab/gitlabhq.wiki.json')).not_to redirect_to(wiki_path) + end + end +end |