1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/spec/fog/dns_spec.rb
Paul Thornthwaite fcd22c9a9a Test service abstraction code loading
The abstraction modules e.g. `Fog::Compute` have a list of registered
providers. All of these providers should be loaded correctly when
accessed with `Fog::Service[:provider]`

These tests hit each endpoint expecting `ArgumentError` from each
provider caused by the lack of credentials.

Credentials are stubbed out to not cause false results when the test
environment does have credentials for a service.

Some services do not have requirements so do not raise the expected
error. These special cases are just asserted. If they are not loaded the
specs fail again.
2014-12-18 09:49:20 +00:00

20 lines
652 B
Ruby

require "minitest/autorun"
require "fog"
describe Fog::DNS do
Fog::DNS.providers.each do |provider|
describe "when #{provider} is passed with no available credentials" do
it "returns ArgumentError" do
# Stub credentials so you still see errors where the tester really has credentials
Fog.stub :credentials, {} do
# These providers do not raise ArgumentError since they have no requirements defined
if [:dnsimple].include?(provider)
assert Fog::DNS[provider]
else
assert_raises(ArgumentError) { Fog::DNS[provider] }
end
end
end
end
end
end