summaryrefslogtreecommitdiff
path: root/spec/unit
AgeCommit message (Collapse)Author
2017-07-18Add new file_line option append_on_no_matchasif.shaikh
2017-07-13(MODULES-5003) file_line_does_not_change_multiple_lines_when_one_matchestkishel
The exists? method is called to determine the need to call the create and destroy methods. When the ensure, match, and multiple attributes are defined, the exists? method needs to return false unless all the lines that match the match attribute equal the line attribute. The first commit is minimal, and implements this change. The second commit normalizes the code, which I needed for comprehension.
2017-07-07Merge pull request #788 from tphoney/MODULES-5003Eric Putnam
(MODULES-5003) file_line fix all broken lines
2017-07-07(MODULES-5186) dont run this test on windowstphoney
2017-07-06(MODULES-5186) move test to correct locationtphoney
2017-07-03(MODULES-5003) file_line fix all broken linestphoney
2017-03-13(#FM-6068) allow file encoding to be specified (#726)Geoff Williams
* (#FM-6068) allow file encoding to be specified Add a new parameter `encoding` to allow non UTF-8 files to specify a file encoding. This prevents receiving the error message "invalid byte sequence in UTF-8" when special characters that are not UTF-8 encoded appear in the input stream, such as the copyright symbol. * (#FM-6068) allow file encoding to be specified Added docs and tests as requested
2017-03-08(FM-6086) - Unit tests for Resource TypesPaula McMaw
2017-01-24(MODULES-4098) Sync the rest of the filesHunter Haugen
2016-12-08(MODULES-3829) Add tests for ensure_resourcesHailee Kenney
Prior to this commit, we didn't have tests for the ensure_resources function (only for the ensure_resource function). This meant that we weren't catching a bug in the ensure_resources function. In order to prevent this in the future, add some tests which test the specific functionality of ensure_resources.
2016-10-06(MODULES-3590) Fix match_for_absence parameterHailee Kenney
Prior to this commit, due to a bug in the exists? method in the file_line provider, match_for_absence didn't work as described (or at all really). Update the exists? logic so that match_for_absence works as described. Additionally add a unit test to prevent regressions and update the documentation for the parameter to reflect the fact that it is ignored when `ensure => present`.
2016-04-07Merge pull request #585 from ↵Hunter Haugen
jearls/MODULES-2370-update-validate-to-not-require-line-when-matching-for-absence [MODULES-2370] file_line.rb: Fix `line` attribute validation
2016-03-28[MODULES-2370] file_line.rb: Fix `line` attribute validationJohnson Earls
`file_line` type: During validation, do not require `line` attribute if: * `ensure` is `absent`, * `match` is not empty, * and `match_for_absence` is `true`. Also update `spec` tests to reflect this.
2016-03-24Fixed typo 'absense' to 'absence'Derek McEachern
2016-03-13Add enclose_ipv6 functionEmilien Macchi
Copy a function from puppetlabs/apache, created by Benedikt Bock by 55cc3b4e8f4bc859a1255cb57be2c7923005d822 . This function enclose IPv6 addresses in square brackets. It takes an array of ip addresses and encloses the ipv6 addresses with square brackets. Co-Authored-By: Benedikt Bock <benedikt_bock@web.de>
2015-12-21Merge pull request #553 from logicminds/absolute_pathBryan Jen
adds new parser called is_absolute_path
2015-12-18Allow package_provider fact to resolve on PE 3.xDavid Schmitt
PE 3.x emits a puppetversion fact in the format "3.x.x (Puppet Enterprise 3.x.x)". This fact causes an error when invoked on PE 3.x: Could not retrieve fact='package_provider', resolution='<anonymous>': Malformed version number string 3.8.1 (Puppet Enterprise 3.8.1 This fix has been tested on PE 3.8.2 and should work for PE 3.3, 3.7, and 3.8. Original-fix-by: Alex Harden <aharden@gmail.com>
2015-12-15adds new parser called is_absolute_pathCorey Osman
* is_absolute_path returns boolean true if the given path is absolute, returns false otherwise. * works for windows and unix
2015-11-19(FM-3773) Fix root_home fact on AIX 5.xReid Vandewiele
The -C (capital C) flag to lsuser is incorrect. It should be -c (lowercase). this commit updates the aix root_home fact to use `lsuser -c`, rather than `lsuser -C`.
2015-10-15Add check to ensure regex does not throw for none type.Jesse Lovelace
Add a quick check to ensure puppetversion value is not nil and supporting test.
2015-09-25Add package_provider factAdam S
This adds a package_provider fact for situations where we need to be able to know the client's package provider in a simple way. Situations such as: package { 'name': install_options => [] } As those tend to be package provider specific options.
2015-09-24Merge pull request #506 from binford2k/feature/service_provider_factHunter Haugen
Add a service_provider fact
2015-08-28(MODULES-2478) Support root_home fact on AIX through "lsuser" commandJon Fautley
Squashed, and amended test for comment lines.
2015-08-19Add a service_provider factBen Ford
This returns the default provider Puppet will choose to manage services on this system by instantiating a dummy service resource type and returning the provider chosen. Co-Authored-By: Simon Fraser University <asa188@sfu.ca>
2015-08-06allow `match` parameter to influence `ensure => absent` behavior.Johnson Earls
Split the `destroy` method of the file_type::ruby provider into two private methods: `handle_destroy_line` which is the same as the previous `destroy` method, and `handle_destroy_with_match` which will destroy any line which matches the `match` parameter, raising an error if multiple lines match and the `multiple` parameter is not `true`. This new behavior is only used if the new boolean parameter `match_for_absence` is `true` (it defaults to `false`).
2015-08-04(MODULES-2316) Change file_type boolean parameter to symbolsDominic Cleal
Puppet's boolean parameter type is only available in Puppet 3.3 and higher, so change file_type's new "replace" parameter to a regular parameter with true and false as possible values. This matches the existing "multiple" parameter.
2015-07-30(MODULES-2024) Adding replace attribute to file_lineRaymond Maika
2015-06-01Convert tests to use plain rspec-puppetDavid Schmitt
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-05-29 (MODULES-2071) Refactor file_line provider to contain logic to handle ↵Raymond Maika
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-05specs: move function specs to where rspec-puppet expects themDavid Schmitt
2015-04-09Add spec tests and pulled in PR #427Travis Fields
Changed append line to open in 'w' mode and have to rewrite lines in order to append new line
2015-01-07(MODULES-1473) Deprecate type() function for new parserHunter Haugen
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.
2014-12-18Merge pull request #388 from mhaskel/merge_4.5.x_into_masterHunter Haugen
Merge 4.5.x into master
2014-12-17Added basename() based on Ruby's File.basenameRob Fugina
Based on dirname code. Includes RSpec tests and docs.
2014-12-16Remove line match validationHunter Haugen
The `match` attribute was validated to match `line`, except that in many cases (even the example given in the docs) a user would want to match a line entirely different from the new line. See comments on the original commit https://github.com/puppetlabs/puppetlabs-stdlib/commit/a06c0d8115892a74666676b50d4282df9850a119 and ask https://ask.puppetlabs.com/question/14366/file_line-resource-match-problems/ for further examples of confusion.
2014-06-04Convert specs to RSpec 2.99.0 syntax with TranspecAshley Penney
This conversion is done by Transpec 2.2.1 with the following command: transpec spec/unit * 53 conversions from: obj.should to: expect(obj).to * 19 conversions from: == expected to: eq(expected) * 5 conversions from: lambda { }.should to: expect { }.to * 2 conversions from: be_true to: be_truthy For more details: https://github.com/yujinakayama/transpec#supported-conversions
2014-05-15Merge pull request #258 from mckern/enhancement/master/camelcasedemboolsAshley Penney
(MODULES-905) Narrow the confinement in bool2str
2014-05-15(MODULES-905) Extend spec tests for bool2strRyan McKern
The extended spec tests validate that the common types of values that could be passed to bool2str() are rejected.
2014-05-15Revert "Merge pull request #256 from stbenjam/2571-before"Ashley Penney
This reverts commit 8499ebdb7f892f2623295058649c67a5553d4732, reversing changes made to 08b00d9229961d7b3c3cba997bfb35c8d47e4c4b.
2014-05-15Merge pull request #255 from mckern/enhancement/master/camelcasedemboolsAshley Penney
(MODULES-905) Add bool2str() and camelcase() for string manipulation
2014-05-14(PUP-2571) add 'before' functionality to file_lineStephen Benjamin
file_line supports adding lines after a match, but there are use cases when having "before" would be useful. For example, in Debian-based OS's, the last line of /etc/rc.local is "exit 0" it's an incredible pain to deal with that scenario today. This commit adds a 'before' parameter to the file_line type, and implements it for the ruby provider.
2014-05-13(maint) Add bool2str & camelcase spec testsRyan McKern
2014-05-08Move unit tests to spec/functionsHunter Haugen
rspec-puppet matchers are defined for tests which exist in spec/functions, but the function unit tests lived in spec/unit/puppet/parser/functions. This moves them to the correct place for using rspec-puppet
2014-05-07Add mode +x to spec .rb filesHunter Haugen
2014-05-07Move the 4 misplaced testsHunter Haugen
2014-05-07Add the missing shebangs and fix the wrong ones for rpmlint to stop ↵Andrea Veri
complaining loudly
2014-04-24Merge pull request #222 from mfoo/fix/master/concat-primitivesAshley Penney
Allow concat to take non-array second parameters
2014-04-22Adjust the regular expression for facts.Ashley Penney
Previously this was incorrectly handling facts that were of the form foo=1+1=2 due to the ='s in the actual fact contents. Fix this and add tests to try and prevent regressions.
2014-04-16(maint) Remove facter versions testKylo Ginsberg
This test attempts to emulate various versions of facter, but is still dependent on the version of facter it is running against. The immediate symptom was that the test breaks with facter 2.0.1 because it adds another external facts search directory. I tried a couple ways to stub this but allowing it to pretend to run against one set of facters, while actually running against one real facter (which might itself be one of several versions) eluded me. So this patch just removes the test.
2014-03-11Merge pull request #220 from mediatemple/fix/master/deep_merge_fixAshley Penney
PUP-1724 Don't modify the paramaters to deep_merge