summaryrefslogtreecommitdiff
path: root/spec
AgeCommit message (Collapse)Author
2012-03-29(#13439) Fix MRI 1.9 issue with spec_helperJeff McCune
When using MRI 1.9.x the stdlib spec helper does not invoke because Puppet.settings.private_methods returns symbols instead of strings. This is a problem because we need to set default configuration settings like Puppet[:vardir] when using the compiler. This patch fixes the issue by simply checking the Puppet version. This seems a better choice than rescuing NoMethodError since the method might be renamed or removed in the future.
2012-03-29(#13439) Fix test failures with Puppet 2.6.xJeff McCune
Without this patch the spec_helper sends a message named initialize_everything_for_tests to Puppet.settings. This is a problem because Puppet 2.6.x does not have this method, only Puppet 2.7.x and Puppet master have this method at this time and we're getting false positive test failures. This patch fixes the problem by looking before we leap. We test if the private method exists before calling it. This works with Ruby 1.8.5 and onwards and Puppet 2.6, 2.7 and master. This should fix all of the failures I've caused in Jenkins today.
2012-03-29(#13439) refactor spec helper for compatibility with both puppet 2.7 andcprice
master
2012-03-29(#13494) Specify the behavior of zero padded stringsJeff McCune
Without this patch the specified behavior of strings that are numeric only and zero padded is unclear and untested in the spec tests. This is a problem because it's not clear that range('00', '10') will actually return [ "0", "1", ..., "10" ] instead of [ "00", "01", ..., "10" ] This patch addresses the issue by providing explicit test coverage. If the string conversion behavior of puppet changes, this test will begin to fail.
2012-01-11Add additional domain name testsJeff McCune
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(maint) Memoize scope in domain_name specJeff McCune
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(#11901) Fix sort order error in tests for 'keys' and 'values'Jeff McCune
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-10(#11873) time function spec failure on Fixnum matcherKen Barber
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.
2011-10-10(Maint) Add watchr autotest scriptJeff McCune
This patch adds a watchr script to autotest the stdlib module. To use: % watchr spec/watchr.rb
2011-10-10(Maint) Make rspec tests work with Puppet 2.6.4Jeff McCune
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(#10007) Revert "Merge pull request #13 from ↵Jeff McCune
kbarber/issue/master/8925-user_ssl_certs" This reverts commit 14852e0259e1e43371dbcb2675e00c6d6e614f05, reversing changes made to a95dccd464b55945feb8bcf7483f777c25164115. This is to fix the broken build (failing tests) as per #8925 and #10007
2011-10-04Merge pull request #13 from kbarber/issue/master/8925-user_ssl_certsJames Turnbull
(#8925) Added new function called 'get_certificate' for retrieving
2011-10-03(#9859) Add root_home fact and testsJeff McCune
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-08-17(#8925) Added new function called 'get_certificate' for retrievingKen Barber
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-08Merge branch 'issue/master/8797_puppetlabs-functions_merge'Jeff McCune
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-05(#8797) Merge puppetlabs-functions into puppetlabs-stdlibKen Barber
It was decided that maintaining puppetlabs-functions and puppetlabs-stdlib was duplication as both are trying to achieve the same goal. This patch provides a merge of the puppetlabs-functions into the puppetlabs-stdlib repository, with history preservation. The following conflicts were found and resolved: * LICENSE file from functions was used as it aligns with ASL usage instructions and contains relevant copyright information: http://www.apache.org/licenses/LICENSE-2.0.html * Used spec_helper.rb from functions - this is what Puppet core uses and doesn't break tests. * Merged .gitignore and spec.opts options.
2011-08-05* Moved kwalify to puppetlabs-kwalify projectKen Barber
* Re-arranged tests in line with puppetlabs-stdlib
2011-08-05Prep for stdlib mergeKen Barber
* Renamed load_yaml & load_json to parseyaml & parsejson * Renamed is_valid_* functions and remove the 'valid_'
2011-08-04(#8792) Rename whole_line type to file_lineJeff McCune
Without this patch the resource whole_line would be included in the stable stdlib module shipping in PE 1.2. Ideally the name will be stable and unchanging in the future. There was quite a bit of concern over whole_line being an unwise name. file_line appears to be the most suitable name and least likely to need another rename in the future.
2011-08-04Merge branch 'refactor/master/8665_whole_line'Jeff McCune
* refactor/master/8665_whole_line: (#8665) Change type from append_line to whole_line
2011-08-04(#8678) Add validate_array and validate_string functionsJeff McCune
The accounts module is making use of validate_array() and validate_string() which do not exist int he stdlib module without this patch. This patch adds the two functions to the stdlib with unit tests. Reviewed-by: Dan Bode
2011-07-30Fix some ruby 1.9.2 issues.Ken Barber
2011-07-29(#8709) Add hash merging functionDan Bode
In Puppet, it is not possible to reassign hash values. This function allows a reasonable way to perform hash munging in Puppet. Reviewed-by: Jeff McCune
2011-07-29(#8708) Add has_key functionDan Bode
It is difficult to use existance of keys in a hash as a boolean condition in Puppet (see #8705) This function provides a working solution until the underlying issue in Puppet can be resolved. Reviewed-by: Jeff McCune
2011-07-29(#3) Provide documentation for remaining functions.Ken Barber
2011-07-29(#3) Apply missing documentation to more functions.Ken Barber
2011-07-29Remove rand.Ken Barber
2011-07-29Some improvements to values_at tests.Ken Barber
2011-07-29(#1) provide some more detailed tests for a number of functions.Ken Barber
2011-07-29Removed date stub since this functinality is available in strftime anyway.Ken Barber
2011-07-29(#2) fix is_string finally so it also makes sure numbers return false.Ken Barber
2011-07-29(#2) unstub is_valid_domain_nameKen Barber
2011-07-29Removed join_with_prefix.Ken Barber
2011-07-29(#2) unstub is_valid_mac_address.Ken Barber
2011-07-29Allow sort for strings.Ken Barber
2011-07-28Count functionality overlaps with size - so removing it.Ken Barber
2011-07-28Removed crontab functions instead of unstubbing them.Ken Barber
2011-07-28Removed load_variables. load_yaml is sufficient to solve this problem on its ↵Ken Barber
own.
2011-07-28Remove is_valid_netmask instead of unstubbing. Doesn't seem like a sensible ↵Ken Barber
function on its own.
2011-07-28(#2) unstub is_numeric function.Ken Barber
2011-07-28(#2) - unstubbed is_valid_ip_addressKen Barber
2011-07-28(#1) - added new test for upcase.Ken Barber
2011-07-28(#2) - Added is_float and is_integer functionality.Ken Barber
2011-07-27(#8665) Change type from append_line to whole_lineDan Bode
Changed the type name from append_line to whole_line. After feedback that having a type with a verb in the name was confusing.
2011-07-26(#8628) Add append_line native typeDan Bode
This commit adds a native type that can check if a line exists and append it to a file. This use case seems common enough to warrant its inclusion into stdlib. Reviewed-by: Jeff McCune
2011-07-24(#1) - fleshed out some more tests.Ken Barber
2011-06-30Few more tests.Ken Barber
2011-06-29Add some more functional tests.Ken Barber
2011-06-29New abs test.Ken Barber
2011-06-29Added tests for each function, fixing functions as we hit bugs.Ken Barber