summaryrefslogtreecommitdiff
path: root/spec/unit/puppet/parser/functions/validate_slength_spec.rb
AgeCommit message (Collapse)Author
2013-08-12(maint) refactor validate_slength testsAdrien Thebo
2013-08-06Merge pull request #167 from mhellmic/minlengthAdrien Thebo
extend the validate_slength function to accept a minimum length
2013-08-06changed the validate_slength function to accept a min lengthMartin Hellmich
An optional third parameter can be given a min length. The function then only passes successfully, if all strings are in the range min_length <= string <= max_length update and fix function and unit tests the check for the minlength has to be written differently because 0 values should be possible. We now check a) if the input is convertible, and throw a ParseError and b) if the input .is_a?(Numeric) and ask for a positive number it's not as clean as for maxlength, but keeps a similar behaviour refined the error checking for the min length try to convert to Integer(args[2]) and fail, if it's not possible changed the tests accordingly to the new parameter checking
2013-05-24Adding base64 functionfiddyspence
Adding base64 function and spec test. Included a bonus fix to validate_slength_spec.rb to put the expectation message in the right place.
2012-07-23(Maint) use PuppetlabsSpec::PuppetSeams.parser_scope (2.3.x)Jeff McCune
This patch is the same approach as the one that want into 2.2.x. It covers the functions in 2.3.x that do not exist in 2.2.x. Without this patch all of the spec tests for parser functions in stdlib would instantiate their own scope instances. This is a problem because the standard library is tightly coupled with the internal behavior of Puppet. Tight coupling like this creates failures when we change the internal behavior of Puppet. This is exactly what happened recently when we changed the method signature for the initializer of Puppet::Parser::Scope instances. This patch fixes the problem by creating scope instances using the puppet labs spec helper. The specific method that provides scope instances in Puppet-version-independent way is something like this: let(:scope) { PuppetlabsSpec::PuppetInternals.scope } This patch simply implements this across the board.
2012-02-22(#12776) Added validate_slength function and rspec testChris Spence
This function is used to validate a string is less than a maximum length. The string, or array of strings, is passed as the first argument to the function. The maximum length of the string is passed as the second argument. It is useful to validate, for example, that Puppet is not sending a username to a downstream system that the system cannot cope with, but that might not cause an error message - for example, MySQL will not accept a username of more than 16 characters. This enables a Puppet administrator to validate the data that it may have been passed from upstream through, for example, Hiera.