Commit graph

267 commits

Author SHA1 Message Date
Jeff McCune
a03d8cda18 Merge branch 'bug/2.2.x/is_domain_name' into 2.2.x
* bug/2.2.x/is_domain_name:
  Check according to rfc1035
  Add additional domain name tests
  (maint) Memoize scope in domain_name spec

Closes pull request GH-24
2012-01-11 19:19:19 -08:00
Stig Sandbeck Mathisen
14b77eae6d Check according to rfc1035
Update doc string to match function
2012-01-11 19:17:03 -08:00
Jeff McCune
501bcba719 Add additional domain name tests
Without this patch some valid domain names are not covered in the spec
tests as Stig Sandbeck Mathisen <ssm@debian.org> points out.  This patch
adds spec tests for the domains "." and "x.com" which are both valid.
2012-01-11 19:17:03 -08:00
Jeff McCune
39d28497a3 (maint) Memoize scope in domain_name spec
This is an opportunity improvement since I'm in the code.  Get rid of
instance variables in the spec test and replace them with a memo let
method block.
2012-01-11 19:17:03 -08:00
Jeff McCune
dc674419ae Merge branch 'ticket/2.2.x/11901-rspec_sort_order' into 2.2.x
* ticket/2.2.x/11901-rspec_sort_order:
  (#11901) Fix sort order error in tests for 'keys' and 'values'
2012-01-11 17:48:30 -08:00
Jeff McCune
b7a59a8095 (#11901) Fix sort order error in tests for 'keys' and 'values'
Between Ruby 1.8.7 p352 and p357 the way arrays were returned when using
keys and values in Ruby changed, and due to assumption about the
ordering our tests are now failing.

This patch fixes the issue by using the =~ operator matcher in rspec.
This matcher is implemented as RSpec::Matchers::MatchArray and performs
multiset equality matching of arrays.  Order doesn't matter, but
duplicate values do.

This patch also switches @scope instance variables to memoized let
methods for clarity in the code.

Original Author: Ken Barber
Reviewed-by: Nick Lewis

This commit closes GH-29
2012-01-11 17:39:15 -08:00
Daniel Pittman
b082094599 Merge pull request #28 from kbarber/ticket/2.2.x/11873-time_spec_failure
(#11873) time function spec failure on Fixnum matcher
2012-01-10 11:01:32 -08:00
Ken Barber
7d545f0d60 (#11873) time function spec failure on Fixnum matcher
The rspec code for the time function was trying to match the type to be a
'Fixnum'. Ruby will sometimes make this a 'Bignum' depending on its internals
and we can't rely on this to be true all the time.

This patch just makes sure the type is an integer instead.
2012-01-10 18:58:07 +00:00
Jeff McCune
1370c64df9 Merge branch '2.1.x' into 2.2.x
* 2.1.x:
  (#11607) Add Rakefile to enable spec testing
2011-12-30 15:49:41 -08:00
Jeff McCune
4c2bba86f8 Merge pull request #26 from jeffmccune/ticket/2.1.x/11607_fix_ci_tests_for_stdlib
(#11607) Add Rakefile to enable spec testing
2011-12-30 15:49:03 -08:00
Jeff McCune
0be3090f0f (#11607) Add Rakefile to enable spec testing
Without this patch the 2.1.x branch does not have a Rakefile like the
2.2.x and master branches do.  This is a problem for the continuous
integration testing since it executes `rake test` against 2.1.x, 2.2.x
and master currently.

This patch fixes the problem by copying the Rakefile into place enabling
the `rake test` task.

Reviewed-by: Josh Cooper
2011-12-30 15:48:15 -08:00
Jeff McCune
a70b09d5de Update CHANGELOG and Modulefile for 2.2.1 2011-12-30 12:21:21 -08:00
Jeff McCune
ed0de46a2a Merge branch '2.1.x' into 2.2.x
* 2.1.x:
  Update Modulefile CHANGELOG for v2.1.2 release

Conflicts:
	CHANGELOG
	Modulefile
2011-12-30 12:19:15 -08:00
Jeff McCune
842b0aa19c Update Modulefile CHANGELOG for v2.1.2 release 2011-12-30 12:05:15 -08:00
Jeff McCune
80c9a8feea Merge branch 'v2.1.x' into v2.2.x
* v2.1.x:
  (maint) Add semantic versioning info to README
  Docs: Clarify the use case for the anchor type
  Docs: Remove author emails from stdlib functions
  Docs: Copyedit function doc strings
  Docs: Correct indentation of markdown code examples
  Docs: Update documentation of stdlib classes
  Docs: Update file_line documentation
  Docs: Improve example in merge function
2011-12-30 11:48:21 -08:00
Jeff McCune
a8d4bbd9e2 (maint) Add semantic versioning info to README
This patch adds semantic versioning information to the README of this
module.  This information is missing and unclear without this patch.
This should help clarify the support matrix for the Standard Library as
it relates to Puppet Enterprise released versions.
2011-12-30 11:46:21 -08:00
Garrett Honeycutt
1434f3cea6 Merge pull request #21 from puppetlabs/v2.2
* v2.x:
2011-11-08 14:20:09 -08:00
James Turnbull
051764b3a1 * v2.x:
Update CHANGELOG and Modulefile for v2.2.0
2011-11-08 14:16:11 -08:00
Ken Barber
97d1c692f1 Merge pull request #19 from nanliu/ticket/10285
(#10285) Refactor json to use pson instead.
2011-10-25 16:31:47 -07:00
Nan Liu
b58810089f (#10285) Refactor json to use pson instead.
Remove json requirement since puppet already provides pson which is
equivalent.
2011-10-25 15:54:47 -07:00
Jeff McCune
d65fafd7ef Merge branch 'main/mater/watchr'
* main/mater/watchr:
  (Maint) Add watchr autotest script
2011-10-10 12:06:33 -07:00
Jeff McCune
a8ba1b388e (Maint) Add watchr autotest script
This patch adds a watchr script to autotest the stdlib module.  To use:

    % watchr spec/watchr.rb
2011-10-10 12:03:57 -07:00
Jeff McCune
01335cb8dd Merge pull request #18 from jeffmccune/maint/master/make_tests_run_on_puppet_26
(Maint) Make rspec tests work with Puppet 2.6.4
2011-10-10 12:02:34 -07:00
Jeff McCune
cc001095b3 (Maint) Make rspec tests work with Puppet 2.6.4
The behavior without this patch applied is that the rspec tests do not
function with Puppet 2.6.4.  This patch back-ports some fixes introduced
in Puppet 2.7.x to the spec_helper to make the tests work as expected on
Puppet 2.6.4.

The specific patches back ported from Puppet are:

 * 2ae88067 (Puppet::Util::ExecutionStub.reset)
 * cf183534 (Switched spec tests to use a class rather than Array as the
             log destination.)
2011-10-10 11:58:48 -07:00
Jeff McCune
9f98d3feaf Merge branch 'ticket/master/revert_8925'
* ticket/master/revert_8925:
  (#10007) Revert "Merge pull request #13 from kbarber/issue/master/8925-user_ssl_certs"
2011-10-10 11:52:33 -07:00
Jeff McCune
07b2a3afd9 (#10007) Revert "Merge pull request #13 from kbarber/issue/master/8925-user_ssl_certs"
This reverts commit 14852e0259, reversing
changes made to a95dccd464.

This is to fix the broken build (failing tests) as per #8925 and #10007
2011-10-10 11:51:14 -07:00
James Turnbull
14852e0259 Merge pull request #13 from kbarber/issue/master/8925-user_ssl_certs
(#8925) Added new function called 'get_certificate' for retrieving
2011-10-04 13:00:16 -07:00
Jeff McCune
a95dccd464 Merge branch 'ticket/master/9859_add_root_home_fact_to_stdlib'
* ticket/master/9859_add_root_home_fact_to_stdlib:
  (#9859) Add root_home fact and tests
2011-10-03 11:53:21 -07:00
Jeff McCune
11c1837745 (#9859) Add root_home fact and tests
Without this patch applied, the stdlib module does not provide a
root_home fact.  This fact is necessary to easily determine the root
account home directory on platforms Puppet is supported on.

The major variations this fact address are:
---
solaris: /
linux: /root
macosx: /var/root

Spec tests using rspec have been provided as well to cover these three
general cases.  Windows tests are marked as pending.
2011-10-03 11:51:05 -07:00
Jeff McCune
bdba42dbb6 Merge pull request #16 from nfagerlund/docs/v2.0.0/XXXX_function_doc_updates
Docs/v2.0.0/xxxx function doc updates
2011-08-18 13:45:28 -07:00
nfagerlund
8e770b0423 Docs: Clarify the use case for the anchor type
This commit tweaks the docs for the anchor resource type to give more context
for its existence.
2011-08-18 12:39:05 -07:00
nfagerlund
9e87fd1457 Docs: Remove author emails from stdlib functions
Author email addresses were included in the doc strings for some (but not all)
stdlib functions. This commit removes them in the interest of consistency.
2011-08-18 12:39:05 -07:00
nfagerlund
4b5dfcc733 Docs: Copyedit function doc strings
This commit makes several minor consistency and wording edits to the doc
strings of the stdlib functions.
2011-08-18 12:39:04 -07:00
nfagerlund
400b91ab02 Docs: Correct indentation of markdown code examples
Code examples in several function doc strings were only indented by two
spaces, which would not result in proper display when rendered as HTML. This
commit corrects the indentation to four spaces.
2011-08-18 12:39:04 -07:00
nfagerlund
fa2fde6635 Docs: Update documentation of stdlib classes
This commit edits the puppetdoc text of the stdlib and stdlib::stages classes
to remove redundancy and add additional information.
2011-08-18 12:39:04 -07:00
Jeff McCune
0594aa9141 Docs: Update file_line documentation
This commit clarifies the behavior of the file_line resource type.
2011-08-18 12:39:04 -07:00
Jeff McCune
27c3b644b0 Docs: Improve example in merge function
This commit replaces the example in the merge function with a much clearer
one. It also mentions that the rightmost value wins in the event of duplicated
hash keys.
2011-08-18 12:39:04 -07:00
Jeff McCune
05018f6819 Merge branch 'v2.x'
* v2.x:
  Update CHANGELOG, README and Modulefile for v2.1.1
2011-08-18 12:07:29 -07:00
Jeff McCune
ad5316f561 Update CHANGELOG, README and Modulefile for v2.1.1 2011-08-18 12:06:44 -07:00
Jeff McCune
a8b217f39f Merge branch 'ticket/v2.x/9080_match_facts.d_to_facter2dot0' into v2.x
* ticket/v2.x/9080_match_facts.d_to_facter2dot0:
  (#9080) Make facts.d match Facter 2.0
2011-08-18 12:06:30 -07:00
Jeff McCune
44e92bb176 Update CHANGELOG, README and Modulefile for v2.1.1 2011-08-18 10:52:54 -07:00
Jeff McCune
d7bdfe1dff Merge branch 'ticket/v2.x/9080_match_facts.d_to_facter2dot0'
* ticket/v2.x/9080_match_facts.d_to_facter2dot0:
  (#9080) Make facts.d match Facter 2.0
2011-08-18 10:50:35 -07:00
Jeff McCune
d30e7f81d0 (#9080) Make facts.d match Facter 2.0
Based on feedback from Luke, the facts.d directory should at least match
the directory that will be used by Facter 2.0.

Reading #2157 I believe the Facter 2.0 facts.d feature is reasonably API
compatible with this custom fact from R.I. so I'm comfortable using the
same filesystem path.

Change in behavior:  Now look for facts in:
 * /etc/facter/facts.d
 * /etc/puppetlabs/facter/facts.d
2011-08-18 10:44:40 -07:00
Jeff McCune
e6d62cde42 Merge branch 'v2.x'
* v2.x:
  Update CHANGELOG, Modulefile and README for 2.1.0
  (#9080) Add facts from /etc/puppetlabs/facts.d
2011-08-17 16:38:14 -07:00
Jeff McCune
06b549b028 Update CHANGELOG, Modulefile and README for 2.1.0 2011-08-17 16:37:20 -07:00
Jeff McCune
82267be5be Merge branch 'ticket/v2.x/9080_add_static_facts' into v2.x
* ticket/v2.x/9080_add_static_facts:
  (#9080) Add facts from /etc/puppetlabs/facts.d
2011-08-17 16:32:46 -07:00
Jeff McCune
95c88a1305 (#9080) Add facts from /etc/puppetlabs/facts.d
This fact is a direct copy of R.I.'s work at
https://github.com/ripienaar/facter-facts

This is necessary plumbing to allow the installer to write a simple text
file based on the role the node is receiving.  For example:

    $ cat /etc/puppetlabs/facts.d/puppet_enterprise_mcollective.txt
    fact_stomp_port=61613
    fact_stomp_server=puppetmaster
    fact_is_puppetagent=true
    fact_is_puppetmaster=true

The mcollectivepe module relies on these facts being set and we need a
persistent place to write them during the interview process and later
read them when puppet agent runs to configure MCollective on the agent
systems.

Since stdlib is a public module, both /etc/facts.d and
/etc/puppetlabs/facts.d are scanned for static facts.
2011-08-17 16:25:29 -07:00
Ken Barber
9b912d028f (#8925) Added new function called 'get_certificate' for retrieving
certificates from a CA (or locally).

This function works by either obtaining the file locally
or remotely based on Puppets configuration.

Also added get_pubkey which wraps get_certificate and extracts the
public key.
2011-08-17 16:36:59 +02:00
Jeff McCune
33887f9be5 Merge branch 'issue/master/8797_puppetlabs-functions_merge'
Closes pull request #12

Reviewed-by: Jeff McCune

Verified all spec tests pass using rspec **/*_spec.rb

* issue/master/8797_puppetlabs-functions_merge: (164 commits)
  * Moved kwalify to puppetlabs-kwalify project * Re-arranged tests in line with puppetlabs-stdlib
  Prep for stdlib merge * Renamed load_yaml & load_json to parseyaml & parsejson * Renamed is_valid_* functions and remove the 'valid_'
  Fix some ruby 1.9.2 issues.
  (#3) Provide documentation for remaining functions.
  (#3) Apply missing documentation to more functions.
  Remove rand.
  Some improvements to values_at tests.
  (#1) provide some more detailed tests for a number of functions.
  Removed date stub since this functinality is available in strftime anyway.
  (#2) fix is_string finally so it also makes sure numbers return false.
  (#2) unstub is_valid_domain_name
  Added doc strings for first five functions
  Removed join_with_prefix.
  (#2) unstub is_valid_mac_address.
  Allow sort for strings.
  Count functionality overlaps with size - so removing it.
  Removed crontab functions instead of unstubbing them.
  Removed load_variables. load_yaml is sufficient to solve this problem on its own.
  Remove is_valid_netmask instead of unstubbing. Doesn't seem like a sensible function on its own.
  (#2) unstub is_numeric function.
  ...
2011-08-08 16:58:40 -07:00
Jeff McCune
e8fb6917d1 Merge pull request #11 from jeffmccune/ticket/master/8793_cut_version_2.0.0
Update CHANGELOG and Modulefile for 2.0.0 release

Reviewed-by: Dan Bode
2011-08-08 11:00:26 -07:00