mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
5d03a2398c
This guards the newer tests just added that rely on unimplemented mocks
101 lines
3.4 KiB
Ruby
101 lines
3.4 KiB
Ruby
Shindo.tests('Fog::Compute[:brightbox]', ['brightbox']) do
|
|
|
|
@test_service = Fog::Compute[:brightbox]
|
|
|
|
tests("#respond_to? :default_image").returns(true) do
|
|
@test_service.respond_to?(:default_image)
|
|
end
|
|
|
|
end
|
|
|
|
Shindo.tests('Fog::Compute.new', ['brightbox']) do
|
|
|
|
tests("service options") do
|
|
{
|
|
:brightbox_api_url => "https://example.com",
|
|
:brightbox_auth_url => "https://example.com",
|
|
:brightbox_client_id => "app-12345",
|
|
:brightbox_secret => "12345abdef6789",
|
|
:brightbox_username => "user-12345",
|
|
:brightbox_password => "password1234",
|
|
:brightbox_account => "acc-12345",
|
|
:brightbox_access_token => "12345abdef6789",
|
|
:brightbox_refresh_token => "12345abdef6789",
|
|
:brightbox_token_management => false
|
|
}.each_pair do |option, sample|
|
|
tests("recognises :#{option}").returns(true) do
|
|
options = {:provider => "Brightbox"}
|
|
options[option] = sample
|
|
begin
|
|
Fog::Compute.new(options)
|
|
true
|
|
rescue ArgumentError
|
|
false
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
tests("automatic token management") do
|
|
service_options = {:provider => "Brightbox"}
|
|
|
|
tests("when enabled (default)") do
|
|
service_options[:brightbox_token_management] = true
|
|
|
|
tests("using bad token") do
|
|
service_options[:brightbox_access_token] = "bad-token"
|
|
|
|
tests("#request").returns(true, "returns a Hash") do
|
|
pending if Fog.mocking?
|
|
service = Fog::Compute.new(service_options)
|
|
response = service.get_authenticated_user
|
|
response.is_a?(Hash) # This is an outstanding issue, should be Excon::Response
|
|
end
|
|
end
|
|
end
|
|
|
|
tests("when disabled") do
|
|
service_options[:brightbox_token_management] = false
|
|
|
|
tests("using bad token") do
|
|
service_options[:brightbox_access_token] = "bad-token"
|
|
|
|
tests("#request").raises(Excon::Errors::Unauthorized) do
|
|
pending if Fog.mocking?
|
|
service = Fog::Compute.new(service_options)
|
|
service.get_authenticated_user
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
tests("account scoping") do
|
|
service = Fog::Compute.new(:provider => "Brightbox")
|
|
configured_account = Fog.credentials[:brightbox_account]
|
|
tests("when Fog.credentials are #{configured_account}") do
|
|
test("#scoped_account == #{configured_account}") { service.scoped_account == configured_account }
|
|
end
|
|
|
|
set_account = "acc-35791"
|
|
tests("when Compute instance is updated to #{set_account}") do
|
|
service.scoped_account = set_account
|
|
test("#scoped_account == #{set_account}") { service.scoped_account == set_account }
|
|
end
|
|
|
|
tests("when Compute instance is reset") do
|
|
service.scoped_account_reset
|
|
test("#scoped_account == #{configured_account}") { service.scoped_account == configured_account }
|
|
end
|
|
|
|
optioned_account = "acc-56789"
|
|
tests("when Compute instance created with :brightbox_account => #{optioned_account}") do
|
|
service = Fog::Compute.new(:provider => "Brightbox", :brightbox_account => optioned_account )
|
|
test("#scoped_account == #{optioned_account}") { service.scoped_account == optioned_account }
|
|
end
|
|
|
|
request_account = "acc-24680"
|
|
tests("when requested with #{request_account}") do
|
|
test("#scoped_account(#{request_account}) == #{request_account}") { service.scoped_account(request_account) == request_account }
|
|
end
|
|
end
|
|
end
|