1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/openstack/storage_tests.rb
Sergio Rubio ac9c0ceb40 [openstack|storage] Added support to impersonate other accounts
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
2013-03-05 18:46:11 +01:00

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