1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
require "helpers/test_helper"
class UnitTestPubsubCollections < MiniTest::Test
def setup
Fog.mock!
@client = Fog::Google::Pubsub.new(google_project: "foo")
# Enumerate all descendants of Fog::Collection
descendants = ObjectSpace.each_object(Fog::Collection.singleton_class)
@collections = descendants.select { |d| d.name.match(/Fog::Google::Pubsub/) }
end
def teardown
Fog.unmock!
end
def test_common_methods
# This tests whether Fog::Compute::Google collections have common lifecycle methods
@collections.each do |klass|
obj = klass.new
assert obj.respond_to?(:all), "#{klass} should have an .all method"
assert obj.respond_to?(:get), "#{klass} should have a .get method"
assert obj.respond_to?(:each), "#{klass} should behave like Enumerable"
end
end
def test_collection_get_arguments
@collections.each do |klass|
obj = klass.new
assert_operator(obj.method(:get).arity, :<=, 1,
"#{klass} should have at most 1 required parameter in get()")
end
end
end
|