fog--fog/tests/hp/block_storage_tests.rb

48 lines
1.6 KiB
Ruby

require 'date'
Shindo.tests('Fog::HP::BlockStorage', ['hp', 'blockstorage']) do
credentials = {
:auth_token => 'auth_token',
:endpoint_url => 'http://127.0.0.1/bpath/',
:service_catalog => {
:"Block Storage" => {
:zone => 'http://127.0.0.1/bpath/'}},
:expires => (DateTime.now + 1).to_s
}
options = {
:hp_access_key => 'key',
:hp_secret_key => 'secret',
:hp_tenant_id => 'tenant',
:hp_avl_zone => 'zone',
:hp_auth_uri => 'https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens',
:credentials => credentials
}
tests('Test good credentials').returns(credentials) do
conn = Fog::HP::BlockStorage::Real.new(options)
conn.credentials
end
tests('Test expired credentials') do
credentials[:expires] = (DateTime.now - 1).to_s
raises(Excon::Errors::Unauthorized) { Fog::HP::BlockStorage::Real.new(options) }
end
tests('Test no expires') do
credentials[:expires] = nil
raises(Excon::Errors::Unauthorized) { Fog::HP::BlockStorage::Real.new(options) }
end
tests('Test no creds') do
options[:credentials] = nil
raises(Excon::Errors::Unauthorized) { Fog::HP::BlockStorage::Real.new(options) }
end
tests('Test no service') do
options[:credentials] = credentials
options[:credentials][:service_catalog] = {
:"CDN" => {
:zone => 'http://127.0.0.1/bpath/'}},
raises(Excon::Errors::Unauthorized) { Fog::HP::BlockStorage::Real.new(options) }
end
tests('Test no creds') do
options[:credentials][:service_catalog] = nil
raises(Excon::Errors::Unauthorized) { Fog::HP::BlockStorage::Real.new(options) }
end
end