mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
ac9c0ceb40
The patch would allow to impersonate other accounts if you have an admin role: require 'fog' require 'pp' auth_url = 'https://identity.test.lan/v2.0/tokens' user = 'admin@test.lan' password = 'secret' id = Fog::Identity.new :provider => 'OpenStack', :openstack_auth_url => auth_url, :openstack_username => user, :openstack_api_key => password st = Fog::Storage.new :provider => 'OpenStack', :openstack_auth_url => auth_url, :openstack_username => user, :openstack_api_key => password id.tenants.each do |t| puts "Changing account to #{t.name}" st.change_account "AUTH_#{t.id}" # list account containers pp st.directories # We could also head the account and get usage information pp st.request :method => 'HEAD' end
19 lines
522 B
Ruby
19 lines
522 B
Ruby
Shindo.tests('Fog::Storage[:openstack]', ['openstack', 'storage']) do
|
|
|
|
storage = Fog::Storage[:openstack]
|
|
original_path = storage.instance_variable_get :@path
|
|
|
|
tests("account changes") do
|
|
test("#change_account") do
|
|
new_account = 'AUTH_1234567890'
|
|
storage.change_account new_account
|
|
storage.instance_variable_get(:@path) != original_path
|
|
end
|
|
test("#reset_account_name") do
|
|
storage.reset_account_name
|
|
storage.instance_variable_get(:@path) == original_path
|
|
end
|
|
end
|
|
|
|
end
|
|
|