summaryrefslogtreecommitdiff
path: root/spec/routing
diff options
context:
space:
mode:
authorLuke Duncalfe <lduncalfe@eml.cc>2019-07-24 13:53:06 +1200
committerLuke Duncalfe <lduncalfe@eml.cc>2019-07-26 11:49:36 +1200
commit634a03bf608eaf86ecf14b4f44fa30e62905ac6b (patch)
tree4daf3593529dc95619cea5526c56e854770e3296 /spec/routing
parent513daf3dd6e48fe935ce5f062f8ffd201aee1503 (diff)
downloadgitlab-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.rb24
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