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>2023-02-20 16:49:51 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-02-20 16:49:51 +0300
commit71786ddc8e28fbd3cb3fcc4b3ff15e5962a1c82e (patch)
tree6a2d93ef3fb2d353bb7739e4b57e6541f51cdd71 /spec/uploaders
parenta7253423e3403b8c08f8a161e5937e1488f5f407 (diff)
Add latest changes from gitlab-org/gitlab@15-9-stable-eev15.9.0-rc42
Diffstat (limited to 'spec/uploaders')
-rw-r--r--spec/uploaders/object_storage/cdn/google_cdn_spec.rb5
-rw-r--r--spec/uploaders/object_storage/cdn_spec.rb18
-rw-r--r--spec/uploaders/object_storage/s3_spec.rb39
3 files changed, 58 insertions, 4 deletions
diff --git a/spec/uploaders/object_storage/cdn/google_cdn_spec.rb b/spec/uploaders/object_storage/cdn/google_cdn_spec.rb
index 96755b7292b..184c664f6dc 100644
--- a/spec/uploaders/object_storage/cdn/google_cdn_spec.rb
+++ b/spec/uploaders/object_storage/cdn/google_cdn_spec.rb
@@ -3,7 +3,10 @@
require 'spec_helper'
RSpec.describe ObjectStorage::CDN::GoogleCDN,
- :use_clean_rails_memory_store_caching, :use_clean_rails_redis_caching, :sidekiq_inline do
+ :use_clean_rails_memory_store_caching,
+ :use_clean_rails_redis_caching,
+ :sidekiq_inline,
+ feature_category: :build_artifacts do # the google cdn is currently only used by build artifacts
include StubRequests
let(:key) { SecureRandom.hex }
diff --git a/spec/uploaders/object_storage/cdn_spec.rb b/spec/uploaders/object_storage/cdn_spec.rb
index 2a447921a19..d6c638297fa 100644
--- a/spec/uploaders/object_storage/cdn_spec.rb
+++ b/spec/uploaders/object_storage/cdn_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe ObjectStorage::CDN do
+RSpec.describe ObjectStorage::CDN, feature_category: :build_artifacts do
let(:cdn_options) do
{
'object_store' => {
@@ -32,6 +32,7 @@ RSpec.describe ObjectStorage::CDN do
let(:object) { build_stubbed(:user) }
let(:public_ip) { '18.245.0.1' }
+ let(:query_params) { { foo: :bar } }
let_it_be(:project) { build(:project) }
@@ -46,9 +47,9 @@ RSpec.describe ObjectStorage::CDN do
describe '#cdn_enabled_url' do
it 'calls #cdn_signed_url' do
expect(subject).not_to receive(:url)
- expect(subject).to receive(:cdn_signed_url).and_call_original
+ expect(subject).to receive(:cdn_signed_url).with(query_params).and_call_original
- result = subject.cdn_enabled_url(public_ip)
+ result = subject.cdn_enabled_url(public_ip, query_params)
expect(result.used_cdn).to be true
end
@@ -76,6 +77,17 @@ RSpec.describe ObjectStorage::CDN do
uploader_class.options = Gitlab.config.uploads
end
+ describe '#cdn_enabled_url' do
+ it 'calls #url' do
+ expect(subject).not_to receive(:cdn_signed_url)
+ expect(subject).to receive(:url).with(query: query_params).and_call_original
+
+ result = subject.cdn_enabled_url(public_ip, query_params)
+
+ expect(result.used_cdn).to be false
+ end
+ end
+
describe '#use_cdn?' do
it 'returns false' do
expect(subject.use_cdn?(public_ip)).to be false
diff --git a/spec/uploaders/object_storage/s3_spec.rb b/spec/uploaders/object_storage/s3_spec.rb
new file mode 100644
index 00000000000..de86642c58d
--- /dev/null
+++ b/spec/uploaders/object_storage/s3_spec.rb
@@ -0,0 +1,39 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe ObjectStorage::S3, feature_category: :source_code_management do
+ describe '.signed_head_url' do
+ subject { described_class.signed_head_url(package_file.file) }
+
+ let(:package_file) { create(:package_file) }
+
+ context 'when the provider is AWS' do
+ before do
+ stub_lfs_object_storage(config: Gitlab.config.lfs.object_store.merge(
+ connection: {
+ provider: 'AWS',
+ aws_access_key_id: 'test',
+ aws_secret_access_key: 'test'
+ }
+ ))
+ end
+
+ it 'generates a signed url' do
+ expect_next_instance_of(Fog::AWS::Storage::Files) do |instance|
+ expect(instance).to receive(:head_url).and_return(a_valid_url)
+ end
+
+ subject
+ end
+
+ it 'delegates to Fog::AWS::Storage::Files#head_url' do
+ expect_next_instance_of(Fog::AWS::Storage::Files) do |instance|
+ expect(instance).to receive(:head_url).and_return('stubbed_url')
+ end
+
+ expect(subject).to eq('stubbed_url')
+ end
+ end
+ end
+end