Hi,
I found this rspec check in above mentioned file, and would love to use
it in all my type/provider rspec's.
in the _rsepc.rb
properties = [:attributeoptions, :saslsecprops, :tlsverifyvlient,
:loglevel, :authzregexp]
properties.each do |property|
it "should have a #{property}property" do
described_class.attrclass(property).ancestors.should
be_include(Puppet::Property)
end
it "should have documentation for its #{property}property" do
described_class.attrclass(property).doc.should be_instance_of(String)
end
end
En in my <type>.rb
newproperty(:attributeoptions) do
end
newproperty(:saslsecprops) do
end
newproperty(:tlsverifyvlient) do
end
newproperty(:loglevel) do
end
newproperty(:authzregexp) do
end
I noticed the all tests passes, but the only the first should pass.
Looking at it with pry, i noticed the following :
[22] pry(#<Class>)> described_class.attrclass(:loglevel)
=> Puppet::Type::Ldapconfig::Loglevel
[23] pry(#<Class>)> described_class.attrclass(:loglevel)
=> Puppet::Type::Ldapconfig::Loglevel
[24] pry(#<Class>)> described_class.attrclass(:loglevel).doc
=> ""
[25] pry(#<Class>)> described_class.attrclass(:configdir).doc
=> "The (absolete) path of the directory where the dynamic configuration
files reside"
[26] pry(#<Class>)> described_class.attrclass(:loglevel).doc.class
=> String
As you can see, even if no desc is defined in the newproperty block, the
test will always pass.
changing the code to
it "should have documentation for its #{property} property" do
described_class.attrclass(property).doc.strip.should_not == ""
end
gives the expected behaviour.
Here is my environment : :
ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux]
puppet 3.3.2 (community)
some relevant gems (i think)
rspec (2.14.1, 2.13.0, 2.8.0)
rspec-core (2.14.5, 2.13.1, 2.8.0)
rspec-expectations (2.14.1, 2.13.0, 2.8.0)
rspec-mocks (2.14.3, 2.13.1, 2.8.0)
rspec-puppet (0.1.6)
rspec-system (2.2.0)
rspec-system-puppet (2.1.0)
rspec-system-serverspec (1.0.1)
serverspec (0.10.9)
puppet (3.2.3)
puppet-lint (0.3.2)
puppetlabs_spec_helper (0.4.1)
Patch attached for
https://github.com/puppetlabs/puppet/blob/master/spec/unit/type/user_spec.rb
Grts
Johan
--
Johan De Wit
Open Source Consultant
Red Hat Certified Engineer (805008667232363)
Puppet Certified Professional 2013 (PCP0000006)
_________________________________________________________
Open-Future Phone +32 (0)2/255 70 70
Zavelstraat 72 Fax +32 (0)2/255 70 71
3071 KORTENBERG Mobile +32 (0)474/42 40 73
BELGIUM http://www.open-future.be
_________________________________________________________
Next Events:
Puppet Advanced Training |
https://www.open-future.be/puppet-advanced-training-12-till-14th-november
Zabbix Certified Training |
http://www.open-future.be/zabbix-certified-training-18-till-20th-november
Zabbix Large Environments Training |
http://www.open-future.be/zabbix-large-environments-training-21-till-22nd-november
Puppet Fundamentals Training |
http://www.open-future.be/puppet-fundamentals-training-10-till-12th-december
Subscribe to our newsletter | http://eepurl.com/BUG8H
--
You received this message because you are subscribed to the Google Groups "Puppet
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-dev/528F3B02.1060000%40open-future.be.
For more options, visit https://groups.google.com/groups/opt_out.
--- user_spec.rb_orig 2013-11-22 11:38:17.111913887 +0100
+++ user_spec.rb 2013-11-22 11:39:03.081339190 +0100
@@ -89,7 +89,7 @@
end
it "should have documentation for its #{property} property" do
- described_class.attrclass(property).doc.should be_instance_of(String)
+ described_class.attrclass(property).doc.strip.should_not == ""
end
end