1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/brightbox/requests/compute/application_test.rb
Paul Thornthwaite 4e41e00fed [Brightbox] Switches to new format helper
Using #data_matches_schema which correctly fails when a nullable
resource is absent.
2013-09-09 10:52:57 +01:00

63 lines
2.4 KiB
Ruby

Shindo.tests('Fog::Compute[:brightbox] | api client requests', ['brightbox']) do
tests('success') do
create_options = {
:name => "Fog@#{Time.now.iso8601}"
}
tests("#create_application(#{create_options.inspect})") do
pending if Fog.mocking?
result = Fog::Compute[:brightbox].create_application(create_options)
@application_id = result["id"]
data_matches_schema(Brightbox::Compute::Formats::Full::APPLICATION, {:allow_extra_keys => true}) { result }
end
tests("#list_applications") do
pending if Fog.mocking?
result = Fog::Compute[:brightbox].list_applications
data_matches_schema(Brightbox::Compute::Formats::Collection::APPLICATION, {:allow_extra_keys => true}) { result }
end
tests("#get_application('#{@application_id}')") do
pending if Fog.mocking?
result = Fog::Compute[:brightbox].get_application(@application_id)
data_matches_schema(Brightbox::Compute::Formats::Full::APPLICATION, {:allow_extra_keys => true}) { result }
end
update_options = {:name => "Fog@#{Time.now.iso8601}"}
tests("#update_application('#{@application_id}', #{update_options.inspect})") do
pending if Fog.mocking?
result = Fog::Compute[:brightbox].update_application(@application_id, update_options)
data_matches_schema(Brightbox::Compute::Formats::Full::APPLICATION, {:allow_extra_keys => true}) { result }
end
tests("#reset_secret_application('#{@application_id}')") do
pending if Fog.mocking?
result = Fog::Compute[:brightbox].reset_secret_application(@application_id)
data_matches_schema(Brightbox::Compute::Formats::Full::APPLICATION, {:allow_extra_keys => true}) { result }
test("new secret is visible") { ! result["secret"].nil? }
end
tests("#destroy_application('#{@application_id}')") do
pending if Fog.mocking?
result = Fog::Compute[:brightbox].destroy_application(@application_id)
data_matches_schema(Brightbox::Compute::Formats::Full::APPLICATION, {:allow_extra_keys => true}) { result }
end
end
tests('failure') do
tests("#get_api_client('app-00000')").raises(Excon::Errors::NotFound) do
pending if Fog.mocking?
Fog::Compute[:brightbox].get_application('app-00000')
end
tests("#get_api_client").raises(ArgumentError) do
pending if Fog.mocking?
Fog::Compute[:brightbox].get_application
end
end
end