|
1 | 1 | require 'spec_helper' |
| 2 | +require 'tempfile' |
| 3 | +require 'json' |
2 | 4 | require_relative '../client_shared' |
3 | 5 | require 'cloud_controller/blobstore/storage_cli/azure_storage_cli_client' |
4 | 6 | require 'cloud_controller/blobstore/storage_cli/storage_cli_blob' |
5 | 7 |
|
6 | 8 | module CloudController |
7 | 9 | module Blobstore |
8 | 10 | RSpec.describe AzureStorageCliClient do |
9 | | - subject(:client) { AzureStorageCliClient.new(connection_config: connection_config, directory_key: directory_key, root_dir: 'bommel') } |
| 11 | + let!(:tmp_cfg) do |
| 12 | + f = Tempfile.new(['storage_cli_config', '.json']) |
| 13 | + f.write({ provider: 'AzureRM', |
| 14 | + account_name: 'some-account-name', |
| 15 | + account_key: 'some-access-key', |
| 16 | + container_name: directory_key, |
| 17 | + environment: 'AzureCloud' }.to_json) |
| 18 | + f.flush |
| 19 | + f |
| 20 | + end |
| 21 | + |
| 22 | + before do |
| 23 | + cc_cfg = instance_double('VCAP::CloudController::Config') |
| 24 | + allow(VCAP::CloudController::Config).to receive(:config).and_return(cc_cfg) |
| 25 | + |
| 26 | + allow(cc_cfg).to receive(:get) do |key, *_| |
| 27 | + case key |
| 28 | + when :storage_cli_config_file_droplets, |
| 29 | + :storage_cli_config_file_buildpacks, |
| 30 | + :storage_cli_config_file_packages, |
| 31 | + :storage_cli_config_file_resource_pool |
| 32 | + tmp_cfg.path |
| 33 | + else |
| 34 | + nil |
| 35 | + end |
| 36 | + end |
| 37 | + end |
| 38 | + |
| 39 | + after { tmp_cfg.close! } |
| 40 | + |
| 41 | + subject(:client) { AzureStorageCliClient.new(connection_config: connection_config, directory_key: directory_key, resource_type: resource_type, root_dir: 'bommel') } |
10 | 42 | let(:directory_key) { 'my-bucket' } |
| 43 | + let(:resource_type) { 'resource_pool' } |
11 | 44 | let(:connection_config) do |
12 | 45 | { |
13 | 46 | azure_storage_access_key: 'some-access-key', |
@@ -59,7 +92,7 @@ module Blobstore |
59 | 92 | expect(client.instance_variable_get(:@config_file)).to be_a(String) |
60 | 93 | expect(File.exist?(client.instance_variable_get(:@config_file))).to be true |
61 | 94 | expect(File.read(client.instance_variable_get(:@config_file))).to eq( |
62 | | - '{"account_name":"some-account-name","account_key":"some-access-key","container_name":"my-bucket","environment":"AzureCloud"}' |
| 95 | + '{"provider":"AzureRM","account_name":"some-account-name","account_key":"some-access-key","container_name":"my-bucket","environment":"AzureCloud"}' |
63 | 96 | ) |
64 | 97 | end |
65 | 98 | end |
|
0 commit comments