blob: 8327ec0403cd27424a607e0b19d790807d6b342d (
plain)
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
|
class ProviderExampleGroup < Spec::Example::ExampleGroup
attr_reader :resource
before :each do
resource_hash = example_group_hierarchy.inject({}) do |memo, klass|
memo.merge(klass.options[:resource] || {})
end
full_hash = resource_hash.merge(:provider => described_class.name)
@resource = described_class.resource_type.new(full_hash)
end
subject { described_class.new(@resource) }
alias :provider :subject
def _(name)
resource.value(name)
end
end
Spec::Example::ExampleGroupFactory.register(:provider, ProviderExampleGroup)
def describe_provider(type_name, provider_name, options = {}, &block)
provider_class = Puppet::Type.type(type_name).provider(provider_name)
describe(provider_class, options.merge(:type => :provider), &block)
end
|