1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/helpers/collection_tests.rb

47 lines
1,014 B
Ruby

def collection_tests(collection, params, mocks_implemented = true)
tests('success') do
tests("#new(#{params.inspect})").succeeds do
pending if Fog.mocking? && !mocks_implemented
collection.new(params)
end
tests("#create(#{params.inspect})").succeeds do
pending if Fog.mocking? && !mocks_implemented
@instance = collection.create(params)
end
tests("#all").succeeds do
pending if Fog.mocking? && !mocks_implemented
collection.all
end
@identity = @instance.identity
tests("#get(#{@identity})").succeeds do
pending if Fog.mocking? && !mocks_implemented
collection.get(@identity)
end
if block_given?
yield
end
if !Fog.mocking? || mocks_implemented
@instance.destroy
end
end
tests('failure') do
@identity = @identity.gsub(/\w/, '0')
tests("#get('#{@identity}')").returns(nil) do
pending if Fog.mocking? && !mocks_implemented
collection.get(@identity)
end
end
end