Skip to content

Commit dc7c831

Browse files
committed
Fix broken specs after fog-aws removal
Replace obsolete FogClient/fog_connection test setup with LocalClient and blobstore_type: 'local'. Job and controller specs that used FogClient as a test double now use LocalClient directly; config-based specs switch from fog_connection to blobstore_type/local_blobstore_path. Remove Fog::Mock.reset calls that are no longer needed. Delete fog_client_spec.rb — it tested the deprecated FogClient which requires fog provider gems no longer bundled. * Tests were broken because fog-aws removal left no registered fog provider, so Fog::Storage.new(provider: ...) raised ArgumentError at runtime. * Blobstore behavior under test is the job/controller logic, not fog internals, so LocalClient is the right substitute.
1 parent 2b0f11e commit dc7c831

10 files changed

Lines changed: 34 additions & 777 deletions

spec/api/documentation/buildpack_cache_api_spec.rb

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@
1616
external_port: cc_port,
1717
droplets: {
1818
droplet_directory_key: 'cc-droplets',
19-
fog_connection: {
20-
provider: 'local'
21-
}
19+
blobstore_type: 'local',
20+
local_blobstore_path: Dir.mktmpdir('droplets', workspace)
2221
},
2322
directories: {
2423
tmpdir: Dir.mktmpdir('tmpdir', workspace)
@@ -30,11 +29,9 @@
3029

3130
before do
3231
TestConfig.override(**blobstore_config)
33-
CloudController::DependencyLocator.instance.buildpack_cache_blobstore.ensure_bucket_exists
3432
end
3533

3634
after do
37-
Fog::Mock.reset
3835
FileUtils.rm_rf(workspace)
3936
end
4037

spec/unit/controllers/internal/download_droplets_controller_spec.rb

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,18 @@
55
module VCAP::CloudController
66
RSpec.describe DownloadDropletsController do
77
describe 'GET /internal/v2/droplets/:guid/:droplet_hash/download' do
8+
let(:workspace) { Dir.mktmpdir }
89
let(:original_staging_config) do
910
{
1011
packages: {
11-
fog_connection: {
12-
provider: 'local'
13-
},
12+
blobstore_type: 'local',
13+
local_blobstore_path: Dir.mktmpdir('packages', workspace),
1414
app_package_directory_key: 'cc-packages'
1515
},
1616
droplets: {
1717
droplet_directory_key: 'cc-droplets',
18-
fog_connection: {
19-
provider: 'local'
20-
}
18+
blobstore_type: 'local',
19+
local_blobstore_path: Dir.mktmpdir('droplets', workspace)
2120
}
2221
}
2322
end
@@ -32,10 +31,9 @@ module VCAP::CloudController
3231

3332
before do
3433
TestConfig.override(**staging_config)
35-
blobstore.ensure_bucket_exists
3634
end
3735

38-
after { Fog::Mock.reset }
36+
after { FileUtils.rm_rf(workspace) }
3937

4038
def get_and_redirect(url)
4139
get url
@@ -93,19 +91,18 @@ def upload_droplet
9391
end
9492

9593
describe 'GET /internal/v4/droplets/:guid/:droplet_hash/download' do
94+
let(:workspace) { Dir.mktmpdir }
9695
let(:original_staging_config) do
9796
{
9897
packages: {
99-
fog_connection: {
100-
provider: 'local'
101-
},
98+
blobstore_type: 'local',
99+
local_blobstore_path: Dir.mktmpdir('packages', workspace),
102100
app_package_directory_key: 'cc-packages'
103101
},
104102
droplets: {
105103
droplet_directory_key: 'cc-droplets',
106-
fog_connection: {
107-
provider: 'local'
108-
}
104+
blobstore_type: 'local',
105+
local_blobstore_path: Dir.mktmpdir('droplets', workspace)
109106
}
110107
}
111108
end
@@ -120,10 +117,9 @@ def upload_droplet
120117

121118
before do
122119
TestConfig.override(**staging_config)
123-
blobstore.ensure_bucket_exists
124120
end
125121

126-
after { Fog::Mock.reset }
122+
after { FileUtils.rm_rf(workspace) }
127123

128124
def upload_droplet(target_droplet=droplet)
129125
droplet_file = Tempfile.new(v3_app.guid)

spec/unit/controllers/runtime/stagings_controller_spec.rb

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -197,21 +197,18 @@ module VCAP::CloudController
197197
nginx: { use_nginx: true },
198198
resource_pool: {
199199
resource_directory_key: 'cc-resources',
200-
fog_connection: {
201-
provider: 'local'
202-
}
200+
blobstore_type: 'local',
201+
local_blobstore_path: Dir.mktmpdir('resource_pool', workspace)
203202
},
204203
packages: {
205-
fog_connection: {
206-
provider: 'local'
207-
},
204+
blobstore_type: 'local',
205+
local_blobstore_path: Dir.mktmpdir('packages', workspace),
208206
app_package_directory_key: 'cc-packages'
209207
},
210208
droplets: {
211209
droplet_directory_key: 'cc-droplets',
212-
fog_connection: {
213-
provider: 'local'
214-
}
210+
blobstore_type: 'local',
211+
local_blobstore_path: Dir.mktmpdir('droplets', workspace)
215212
},
216213
directories: {
217214
tmpdir: Dir.mktmpdir('tmpdir', workspace)
@@ -238,7 +235,6 @@ module VCAP::CloudController
238235
end
239236

240237
after do
241-
Fog::Mock.reset
242238
FileUtils.rm_rf(workspace)
243239
end
244240

spec/unit/jobs/runtime/buildpack_cache_cleanup_spec.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ module Jobs::Runtime
1717
tls_port: cc_port,
1818
droplets: {
1919
droplet_directory_key: 'cc-droplets',
20-
fog_connection: {
21-
provider: 'local'
22-
}
20+
blobstore_type: 'local',
21+
local_blobstore_path: Dir.mktmpdir('droplets', workspace)
2322
},
2423
directories: {
2524
tmpdir: Dir.mktmpdir('tmpdir', workspace)
@@ -49,7 +48,6 @@ module Jobs::Runtime
4948

5049
after do
5150
FileUtils.rm_rf(workspace)
52-
Fog::Mock.reset
5351
end
5452

5553
it 'deletes everything from the buildpack_cache directory' do

spec/unit/jobs/v3/buildpack_cache_cleanup_spec.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ module Jobs::V3
1717
tls_port: cc_port,
1818
droplets: {
1919
droplet_directory_key: 'cc-droplets',
20-
fog_connection: {
21-
provider: 'local'
22-
}
20+
blobstore_type: 'local',
21+
local_blobstore_path: Dir.mktmpdir('droplets', workspace)
2322
},
2423
directories: {
2524
tmpdir: Dir.mktmpdir('tmpdir', workspace)
@@ -49,7 +48,6 @@ module Jobs::V3
4948

5049
after do
5150
FileUtils.rm_rf(workspace)
52-
Fog::Mock.reset
5351
end
5452

5553
it 'deletes everything from the buildpack_cache directory' do

spec/unit/jobs/v3/buildpack_cache_delete_spec.rb

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,13 @@ module Jobs::V3
66
RSpec.describe BuildpackCacheDelete, job_context: :worker do
77
let(:app_guid) { 'some-guid' }
88
let!(:blobstore) do
9-
CloudController::Blobstore::FogClient.new(connection_config: { provider: 'local' },
10-
directory_key: 'directory_key')
9+
CloudController::Blobstore::LocalClient.new(directory_key: 'directory_key', base_path: Dir.mktmpdir)
1110
end
1211
let(:path_1) { Presenters::V3::CacheKeyPresenter.cache_key(guid: app_guid, stack_name: 'stack1') }
1312
let(:path_2) { Presenters::V3::CacheKeyPresenter.cache_key(guid: app_guid, stack_name: 'stack2') }
1413
let(:path_3) { Presenters::V3::CacheKeyPresenter.cache_key(guid: 'other-guid', stack_name: 'stack3') }
1514

1615
before do
17-
blobstore.ensure_bucket_exists
1816
Tempfile.create('cache_file') do |f|
1917
allow(CloudController::DependencyLocator.instance).to receive(:buildpack_cache_blobstore).and_return(blobstore)
2018
blobstore.cp_to_blobstore(f.path, path_1)
@@ -23,10 +21,6 @@ module Jobs::V3
2321
end
2422
end
2523

26-
after do
27-
Fog::Mock.reset
28-
end
29-
3024
subject(:job) { BuildpackCacheDelete.new(app_guid) }
3125

3226
it { is_expected.to be_a_valid_job }

spec/unit/jobs/v3/droplet_bits_copier_spec.rb

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,11 @@ module Jobs::V3
77

88
let(:droplet_bits_path) { File.expand_path('../../../fixtures/good.zip', File.dirname(__FILE__)) }
99
let(:droplet_blobstore) do
10-
CloudController::Blobstore::FogClient.new(connection_config: { provider: 'local' },
11-
directory_key: 'droplet')
10+
CloudController::Blobstore::LocalClient.new(directory_key: 'droplet', base_path: Dir.mktmpdir)
1211
end
1312
let(:source_droplet) { create(:droplet_model, droplet_hash: 'abcdef1234', sha256_checksum: '4321fedcba', state: DropletModel::STAGED_STATE, set_as_current_droplet: false) }
1413
let(:destination_droplet) { create(:droplet_model, droplet_hash: nil, sha256_checksum: nil, state: DropletModel::STAGING_STATE, set_as_current_droplet: false) }
1514

16-
before do
17-
droplet_blobstore.ensure_bucket_exists
18-
end
19-
20-
after do
21-
Fog::Mock.reset
22-
end
23-
2415
it { is_expected.to be_a_valid_job }
2516

2617
it 'knows its job name' do

spec/unit/jobs/v3/package_bits_copier_spec.rb

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,11 @@ module Jobs::V3
77

88
let(:package_bits_path) { File.expand_path('../../../fixtures/good.zip', File.dirname(__FILE__)) }
99
let(:package_blobstore) do
10-
CloudController::Blobstore::FogClient.new(connection_config: { provider: 'local' },
11-
directory_key: 'package')
10+
CloudController::Blobstore::LocalClient.new(directory_key: 'package', base_path: Dir.mktmpdir)
1211
end
1312
let(:source_package) { create(:package_model, type: 'bits', package_hash: 'something', sha256_checksum: 'sha256') }
1413
let(:destination_package) { create(:package_model, type: 'bits') }
1514

16-
before do
17-
package_blobstore.ensure_bucket_exists
18-
end
19-
20-
after do
21-
Fog::Mock.reset
22-
end
23-
2415
it { is_expected.to be_a_valid_job }
2516

2617
describe '#perform' do

0 commit comments

Comments
 (0)