fog--fog/tests/core/mocking_tests.rb

61 lines
1.2 KiB
Ruby

Shindo.tests('Fog mocking', 'core') do
before do
@fog_was_mocked = Fog.mock?
Fog.unmock! if @fog_was_mocked
end
after do
Fog.mock! if @fog_was_mocked
end
tests('Fog.mock!') do
tests('Fog.mock!').returns(true) do
Fog.mock!
end
tests('Fog.mock? without Fog.mock!').returns(false) do
Fog.mock?
end
tests('Fog.mock? with Fog.mock!').returns(true) do
Fog.mock!
Fog.mock?
end
tests('Fog.mocking? without Fog.mock!').returns(false) do
Fog.mocking?
end
tests('Fog.mocking? with Fog.mock!').returns(true) do
Fog.mock!
Fog.mocking?
end
end
tests('Fog::Mock.delay') do
tests('Fog::Mock.delay').returns(1, "defaults to 1") do
Fog::Mock.delay
end
tests('Fog::Mock.delay = 2').returns(2, "changes Fog::Mock.delay to 2") do
Fog::Mock.delay = 2
Fog::Mock.delay
end
tests('Fog::Mock.delay = 0').returns(0, "changes Fog::Mock.delay to 0") do
Fog::Mock.delay = 0
Fog::Mock.delay
end
tests('Fog::Mock.delay = -1').raises(ArgumentError) do
Fog::Mock.delay = -1
end
end
tests('Fog::Mock.not_implemented').raises(Fog::Errors::MockNotImplemented) do
Fog::Mock.not_implemented
end
end