Commit graph

409 commits

Author SHA1 Message Date
Eli Young
84279e90ab fqdn_rotate: Add acceptance tests for custom seeds 2015-06-02 12:02:30 -07:00
Eli Young
b436216fe6 fqdn_rotate: Add tests for custom seeds 2015-06-01 17:03:42 -07:00
Eli Young
601f681787 fqdn_rotate: Don't use the value itself as part of the random seed
Previously, the random number generator was seeded with the array or
string to be rotated in addition to any values specifically provided for
seeding. This behavior is potentially insecure in that it allows an
attacker who can modify the source data to choose the post-shuffle
order.
2015-06-01 16:19:07 -07:00
David Schmitt
18d4c21418 Remove unused puppet_spec code
This is copied and changed code from an older version of puppet's internal
test setup code. It does not work with puppet4.
2015-06-01 18:02:22 +01:00
David Schmitt
f3e79ddcd5 Convert tests to use plain rspec-puppet
Tests in the new style produces the following documentation output:

abs
  should not eq nil
  should run abs() and raise an Puppet::ParseError
  should run abs(-34) and return 34
  should run abs("-34") and return 34
  should run abs(34) and return 34
  should run abs("34") and return 34
2015-06-01 18:02:22 +01:00
David Schmitt
b62dff0c6e spec_helper: implement an easy way for specs to confine to puppet version
Usage:

    describe 'puppet3 behaviour', :unless => RSpec.configuration.puppet_future do
    describe 'puppet4 behaviour', :if => RSpec.configuration.puppet_future do
2015-06-01 12:21:59 +01:00
David Schmitt
78bd9c8cbe Add the missing symlinks to get puppet 4 pickup the functions from the environmentpath 2015-06-01 12:21:59 +01:00
David Schmitt
65b56c711d Workaround the broken rspec-mocks support in rspec-puppet 2015-06-01 12:21:59 +01:00
David Schmitt
4a8c0a57f2 Merge pull request #463 from CENGN/fix/master/file_line_multiple_after
(MODULES-2071) Patch file_line provider to use multiple with after
2015-05-29 10:21:41 +01:00
Raymond Maika
72089f3d13 (MODULES-2071) Refactor file_line provider to contain logic to handle parameter multiple in function handle_create_with_after
Without this, file_line resource without the `match` parameter but with the `after` param will throw an error if there are multiple matches for the after expression. This patch creates the handling for the `multiple` parameter in handle_create_with_after. This allows you to add a line after the `after` expression if it appears at multiple points in a file.

Updated reference to `file_line` in the README to reflect that the multiple parameter can be set when using `after` and/or `match` as the matching regex.
2015-05-29 00:30:44 -04:00
David Schmitt
cf9f7a6b7e validate_integer, validate_numeric: explicitely reject hashes in arrays
Without this patch, Ruby 1.8's Hash#to_s behaviour causes [{1=>2}] to be
treated as "12" when validating values.
2015-05-27 20:05:05 +01:00
Hunter Haugen
732f7e8b35 Remove all the pops stuff
The rspec-puppet matchers don't allow to check the return types, but
this is a pretty rare thing to need to do anyway, so probably not worth
patching rspec-puppet
2015-05-12 15:03:27 -07:00
David Schmitt
f49eb6b8e2 range(): fix TypeError(can't convert nil into Integer) when using range syntax 2015-05-06 10:13:27 +01:00
David Schmitt
6a0a6153d5 spec_helper: Remove unneccesary stubbing
This only roots all Facter instances into memory, while something already
creates a new Facter instance each run.
2015-05-05 13:30:57 +01:00
David Schmitt
24680aceec spec_helper: use proper mocha import to avoid warning 2015-05-05 13:30:54 +01:00
David Schmitt
29f09e2181 spec_helper: set parser config if requested 2015-05-05 13:27:46 +01:00
David Schmitt
c0cf14e774 spec_helper_acceptance: fix FUTURE_PARSER usage
Use the more common "yes", instead of "true" to detect FUTURE_PARSER.
2015-05-05 13:27:46 +01:00
David Schmitt
a3016c45c5 specs: move function specs to where rspec-puppet expects them 2015-05-05 13:27:46 +01:00
David Schmitt
b664fec30f specs: loosen certain error expectations to make tests pass on future parser 2015-04-23 16:40:53 -07:00
Morgan Haskel
8a1d1e2f34 Merge pull request #314 from amateo/feature/loadyaml_check_file
Check if file exists before loading with loadyaml. If not, return nil
2015-04-16 10:48:10 -07:00
Angel L. Mateo
ac24e7acc7 test case for when the file does not exist 2015-04-13 09:27:03 +02:00
Bryan Jen
601e2e2574 Modules-2474: Only runs enhanced salts functional test on systems that support it. 2015-04-10 11:38:15 -07:00
Bryan Jen
cf7dbef1e8 Merge pull request #433 from cmurphy/fix_acceptance
Fix acceptance tests for #405
2015-04-10 10:05:02 -07:00
Colleen Murphy
65116dafd5 Fix acceptance tests for #405
This fixes the acceptance tests by:
 - Ensuring the fqdn_rand_string spec is passed undef as the second
   parameter so that the seed is not used as the charset
 - Ensuring the pw_hash spec is passed the key specifying the type of
   hash, rather than the value that will be used to generate the
   password
 - Expecting puppet to report nil instead of empty string for undef
   passwords
 - Removing the fqdn_rand_base64 test because there is no such function
2015-04-10 09:15:15 -07:00
David Schmitt
afec0ab981 Merge pull request #425 from jeffcoat/validate_augeas_spec
Fix off-by-one error in validate_augeas_spec.rb that was causing rspec failure

Even without the gem installed always, this is helpful to avoid errors should augeas be enabled/installed due to something else.
2015-04-10 13:28:48 +01:00
Morgan Haskel
5ee6e960f6 Merge pull request #431 from bmjen/file-line-refactor
File_line checks provided after param if no match is found
2015-04-09 16:47:34 -07:00
Colleen Murphy
e43f058296 Fix unsupported platforms variable name in tests
unsupported_platforms is not a valid identifier, and trying to use it
causes acceptance tests to error out before running any tests. The
correct identifier for the unsupported platforms constants is
UNSUPPORTED_PLATFORMS.
2015-04-09 15:53:16 -07:00
Travis Fields
0af0d7e539 Add spec tests and pulled in PR #427
Changed append line to open in 'w' mode and have to rewrite lines in order to append new line
2015-04-09 15:24:39 -07:00
Hunter Haugen
8fba5c058b Merge pull request #405 from elyscape/feature/fqdn_rand_strings
(MODULES-1715) Add FQDN-based random string generator
2015-04-09 10:45:38 -07:00
Eli Young
23be4020dd (MODULES-1737) Add pw_hash() function 2015-04-05 17:21:17 -07:00
Eli Young
a82266c256 (MODULES-1715) Add fqdn_rand string generators 2015-03-31 17:33:04 -07:00
Mark Jeffcoat
3fec51ac65 Fix off-by-one error in validate_augeas_spec.rb that was causing rspec failure. 2015-03-10 17:43:51 -05:00
Rod Montgomery
ee13438d2a If present, top-level domain must be alphabetic
See RFC 1123, Section 2.1
http://tools.ietf.org/html/rfc1123#section-2
2015-03-05 21:51:12 -06:00
TP Honey
bf8e5b0573 Merge pull request #422 from cyberious/assert_private
Assert private
2015-03-05 19:15:41 +00:00
Travis Fields
4a68b224c4 Add private function back and forward to assert_private with deprecation warning 2015-03-05 11:12:51 -08:00
Hunter Haugen
668b3c31b5 Merge pull request #369 from rfugina/dirname_typecheck
Dirname typecheck
2015-03-05 11:00:36 -08:00
Franz Pletz
56d815bcfc Rename private() to assert_private()
As mentioned in #270, private is a reserved keyword in the future parser
which is to be released with Puppet 4. As it stands, this function is
not useable with the future parser so it needs to renamed.

This is a breaking change.
2015-03-05 10:59:31 -08:00
Hunter Haugen
41965fd2c9 Merge pull request #375 from poikilotherm/feature/master/validate_integer_and_numeric
(MODULES-560) Add new functions validate_numeric() and validate_integer().
2015-03-05 10:57:43 -08:00
Stefan Goethals
0236cd51bc Add support for hashes in the prefix function
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2015-03-03 16:20:55 -08:00
Bryon Roché
41baef8502 URI.escape for the array case was incorrect.
The previous commit to uriescape() changed the implementation to use the ruby default escape list for URI.escape(), but did not change the call triggered when uriescape() was called on an array, triggering ruby errors.
2015-03-03 16:05:47 -08:00
Morgan Haskel
055083c117 Merge pull request #407 from adamcrews/ceiling_function
Add a ceiling function to complement the floor function.
2015-03-03 15:59:06 -08:00
Travis Fields
85e81f9bdf Loosen the restrictions of upcase and allow for recursion of the objects and only worry if the object responds to upcase 2015-03-02 10:45:43 -08:00
Travis Fields
7021b1f55c Add Hash to upcase 2015-02-25 11:39:27 -08:00
Sean Millichamp
1321d586a8 (MODULES-1771) Don't modify input to is_domain_name()
Fix is_domain_name() so it dup's its incoming argument
to avoid changing the original with a later chomp!
2015-02-14 10:49:26 -05:00
Eli Young
84f866ffaf (MODULES-1738) Don't modify global seed in fqdn_rotate()
As per puppetlabs/puppet@292233c, this leaves the global seed in a
deterministic state, which is bad. Puppet::Util.deterministic_rand()
exists to avoid running into this issue, but is only present starting in
Puppet 3.2.0.
2015-02-12 14:04:47 -08:00
Adam Crews
53b1802a92 Add a ceiling function to complement the floor function. 2015-02-01 22:46:16 -08:00
Hunter Haugen
bfb526899f Change all to each
The existence of this directory is behavior for each test, but will also
stop rspec 3 from complaining.
2015-01-13 17:21:28 -08:00
Hunter Haugen
7c8ae311ca (MODULES-1473) Deprecate type() function for new parser
The `type()` function will cease to work on the new parser because 'type'
is a reserved keyword. The `type3x()` function may be used to continue
similar functionality, but will be deprecated in favor of the built-in
typing system.

The `type_of()` function has been included to introspect types in the
new parser.
2015-01-07 16:40:06 -08:00
Travis Fields
8ec6f8dbfd MODULES-1606 add ability to pass array to delete for items to delete 2014-12-19 10:26:01 -08:00
Morgan Haskel
31a6d89410 Fix bad check in test 2014-12-18 16:20:02 -08:00