Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-03-05 00:07:54 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-05 00:07:54 +0300
commit2fd92f2dc784ade9cb4e1c33dd60cbfad7b86818 (patch)
tree7779f36689db97a46e0268a4aec1d49f283eb0c8 /spec/lib/gitlab/asset_proxy_spec.rb
parent42ca24aa5bbab7a2d43bc866d9bee9876941cea2 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib/gitlab/asset_proxy_spec.rb')
-rw-r--r--spec/lib/gitlab/asset_proxy_spec.rb50
1 files changed, 50 insertions, 0 deletions
diff --git a/spec/lib/gitlab/asset_proxy_spec.rb b/spec/lib/gitlab/asset_proxy_spec.rb
new file mode 100644
index 00000000000..f5aa1819982
--- /dev/null
+++ b/spec/lib/gitlab/asset_proxy_spec.rb
@@ -0,0 +1,50 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe Gitlab::AssetProxy do
+ context 'when asset proxy is disabled' do
+ before do
+ stub_asset_proxy_setting(enabled: false)
+ end
+
+ it 'returns the original URL' do
+ url = 'http://example.com/test.png'
+
+ expect(described_class.proxy_url(url)).to eq(url)
+ end
+ end
+
+ context 'when asset proxy is enabled' do
+ before do
+ stub_asset_proxy_setting(whitelist: %w(gitlab.com *.mydomain.com))
+ stub_asset_proxy_setting(
+ enabled: true,
+ url: 'https://assets.example.com',
+ secret_key: 'shared-secret',
+ domain_regexp: Banzai::Filter::AssetProxyFilter.compile_whitelist(Gitlab.config.asset_proxy.whitelist)
+ )
+ end
+
+ it 'returns a proxied URL' do
+ url = 'http://example.com/test.png'
+ proxied_url = 'https://assets.example.com/08df250eeeef1a8cf2c761475ac74c5065105612/687474703a2f2f6578616d706c652e636f6d2f746573742e706e67'
+
+ expect(described_class.proxy_url(url)).to eq(proxied_url)
+ end
+
+ context 'whitelisted domain' do
+ it 'returns original URL for single domain whitelist' do
+ url = 'http://gitlab.com/test.png'
+
+ expect(described_class.proxy_url(url)).to eq(url)
+ end
+
+ it 'returns original URL for wildcard subdomain whitelist' do
+ url = 'http://test.mydomain.com/test.png'
+
+ expect(described_class.proxy_url(url)).to eq(url)
+ end
+ end
+ end
+end