summaryrefslogtreecommitdiffstats
path: root/spec/unit/application
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | (#6749) clean up various testing bits...Daniel Pittman2011-04-041-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This cleans up a whole bunch of bits of the testing code around the place; nothing revolutionary, just nicer and more robust code. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
| * | | (#6760) set terminus in indirector string base class.Daniel Pittman2011-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now accept a terminus option to each invocation, and set the terminus based on that call. This is probably incomplete, because it only sets the terminus when given, and doesn't try to reset it to the default afterwards. This also resets the terminus class after every invocation, to stop it leaking state across calls. This make, sadly, have some effects if you are not just using the strings to invoke the terminus, but it beats having the strings broken as well... Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
| * | | (#6749) Start porting existing strings to the options API.Daniel Pittman2011-04-041-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This provides a solid test of the new code, by migrating the existing strings to match. This also gives us a chance to determine any weak points in the code as written. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
| * | | (#6749) code and test cleanup of Application/StringBase.Daniel Pittman2011-04-041-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes dead code now we have terminus in the base string, and disables some tests on StringBase app until they can be rewritten. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
| * | | (#6749) string cli base: implement preinit CLI parsingDaniel Pittman2011-04-041-8/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to identify the full set of options we need to know the action that is being invoked; that actually requires a pre-processing step to identify that out of the global options. Notably, our spec is that options can be to the right of their declaration point, but not to the left: that means that we can now extract the full set of options, and interact with the standard Puppet option handling code, resulting in at least vaguely saner behaviour... Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
| * | | (#6749) implementing option handling in CLI string wrapperDaniel Pittman2011-04-041-12/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of this is to adapt the generic option support in our strings to the command line; we adapt the generic option information to optparse, and establish our environment early in the process to ensure that we can play nice with Puppet::Application for the moment. In the process we ensure that we detect, and report, conflicts in option naming across the board. Additionally, when an option is declared with multiple aliases, we insist that either all, or none, of them take an argument. To support this we support introspecting options having an optional argument, as well as documentation and all. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
| * | | (#6758) Pass options as an argument to string actions.Daniel Pittman2011-04-021-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Earlier in their implementation the String prototype would set global state on a String object to reflect options set on the command line. As we move strings away from a CLI-only prototype, this becomes troublesome because we can easily have, for example, HTTP access to a string, which means load balancers can really make this confusing. It also encourages global state pollution, where one invocation can adversely influence another. A better approach is that we pass options to the string action invocation directly; this makes the interaction stateless. Changes required to your code to adapt to the new world: - action(:foo) do |some, args| + action(:foo) do |some, args, options={}| if options[:whatever] then Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
| * | | MAINT: delete a test that can't work on 2.6.Daniel Pittman2011-04-021-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The methods being tested are not available in the 2.6 series, and the test itself is relatively weak, so rather than try to fix it we eliminate it in favour of other testing of the same behaviour. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
| * | | MAINT: implement a pending test for code we wrote...Daniel Pittman2011-04-021-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We had an outstanding pending test for code we wrote, and which we were not actually testing stand-alone. This implements the test for that. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
| * | | maint: Use bracket notation instead of define in specsNick Lewis2011-03-291-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The intent of these specs is to find the String rather than to actually define it. Thus, the bracket notation is more semantically accurate than using Puppet::String#define. Reviewed-By: Pieter van de Bruggen
| * | | (#6770) Change versioning; adopt :current over :latest.Pieter van de Bruggen2011-03-281-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per discussion with Luke, versions of an interface are first looked up by requiring 'puppet/interface/{name}', and secondarily looked up by requiring '{name}@{version}/puppet/interface/{name}' if the first failed. A version of `:current` can be used to represent the version living in 'puppet/interface/{name}'. Paired-With: Nick Lewis
| * | | MAINT: the API is officially named "string" as of this moment.Daniel Pittman2011-03-285-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have settled on the final public name for the API, "Puppet::String", mass-rename and mass-edit all the files to follow. Reviewed-By: Randall Hansen <randall@puppetlabs.com>
| * | | (#6770) Add support for version :latest.Pieter van de Bruggen2011-03-251-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifying a version of `:latest` will find the most recent version of the named interface installed in your RUBYLIB, and attempt to load that. This is unlikely to provide a stable dependency in the future, so should be used sparingly, acknowledging the dangers. Reviewed-By: Daniel Pittman
| * | | Merge branch 'tickets/master/6770'Pieter van de Bruggen2011-03-231-1/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: lib/puppet/interface/certificate.rb spec/unit/application/interface_base_spec.rb spec/unit/interface/interface_collection_spec.rb
| | * | | (#6770) Rename Puppet::Interface::interface method.Pieter van de Bruggen2011-03-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Puppet::Interface::interface is now Puppet::Interface::define, also aliased to Puppet::Interface::[] for convenience. Paired-With: Nick Lewis
| | * | | (#6770) Changing versioning to semver.Pieter van de Bruggen2011-03-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More information about the versioning scheme can be found at http://semver.org. Paired-With: Nick Lewis
| | * | | (#6770) Add basic versioning for interfaces.Pieter van de Bruggen2011-03-231-1/+1
| | | | | | | | | | | | | | | | | | | | Reviewed-By: Nick Lewis
| * | | | Factoring cert status app back into certificate.Richard Crowley2011-03-231-0/+21
| | | | |
| * | | | maint: Fix order-dependent spec failuresNick Lewis2011-03-221-5/+4
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The specs for InterfaceCollection were clearing the list of interfaces at the end of the spec run, which caused later specs to fail because they couldn't re-require interfaces they needed. This fixes the InterfaceCollection specs to save and restore the interfaces at the end of the file. Reviewed-By: Matt Robinson
| * | | maint: Implement an InterfaceCollection class to manage interfacesNick Lewis2011-03-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having an instance variable on class Interface is insufficient for Interface::Indirector. This also changes the semantics of "Interface.interface" to handle registration and loading actions, and for "Interface.new" to only instantiate an Interface. Thus, consumers of the API should typically use "Interface.interface", unless they have reasons to not want an interface automatically registered. Paired-With: Pieter van de Bruggen
| * | | (#6805) Add a "configurer" applicationNick Lewis2011-03-211-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This application is similar in basic functionality to the "agent" application, but implemented in terms of interfaces. It currently will retrieve facts, retrieve a catalog, apply the catalog, and submit a report. Options such as noop and daemonize are still to come. Reviewed-By: Pieter van de Bruggen
| * | | Adding a test for fix to #14Luke Kanies2011-03-021-3/+3
| | | | | | | | | | | | | | | | Signed-off-by: Luke Kanies <luke@puppetlabs.com>
| * | | Fixing plugin usageLuke Kanies2011-02-241-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I had broken some usages of plugins by incorrectly selecting command-line arguments. The fix was to remove the #main method contained in the IndirectionBase subclass. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
| * | | Adding Application options to InterfacesLuke Kanies2011-02-231-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows all of the actions to react to the CLI options. I've also removed the unnecessary 'name' variables I was using in various places - they were just the first of the arguments, and they weren't actually always names. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
| * | | Adding render and exit_code override supportLuke Kanies2011-02-221-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is mostly in response to feature requests from Dan. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
| * | | Fixing 'puppet interface list'Luke Kanies2011-02-221-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also added a test to hopefully confirm it won't break again. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
| * | | Adding a simple "config" appLuke Kanies2011-02-221-0/+10
| | | | | | | | | | | | | | | | Signed-off-by: Luke Kanies <luke@puppetlabs.com>
| * | | Splitting the Application base classLuke Kanies2011-02-222-0/+21
| / / | | | | | | | | | | | | | | | | | | | | | | | | | | | We now have an indirection_base class along with interface_base. I've also added some basic tests for most of the interfaces. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* | | Merge branch '2.6.x' into nextMax Martin2011-03-301-2/+2
|\| | | | | | | | | | | | | | | | | | | | * 2.6.x: (#5908) Add support for new update-rc.d disable API (#6862) Add a default subject for the mail_patches rake task Fixed #6256 - Creation of rrd directory.
| * | Fixed #6256 - Creation of rrd directory.James Turnbull2011-03-261-2/+2
| |/ | | | | | | Added :metrics to the settings used by the master
* | maint: Silence test output in the spec runMatt Robinson2011-03-181-2/+3
| | | | | | | | | | | | | | | | There was a test that output 'false' in the middle of the spec run. This fixes that and makes the test a little stronger, because we actually assert what puts is writing to standard out. Reviewed-by: Nick Lewis <nick@puppetlabs.com>
* | Merge branch '2.6.next' into nextMatt Robinson2011-03-076-30/+77
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was a particularly nasty merge, so rather than hold up merges into next any longer, I'm going to push this merge with a few outstanding problems. The tests that were failing in the following areas have been marked pending, and will be addressed separately, immediately following this push. TODO: Verify that brice's rdoc change is still valid: tests to show that line numbers from class, define and node get into the ast Fix mount parsed_spec spec/unit/provider/mount/parsed_spec.rb * 2.6.next: (85 commits) (#5148) Fix failing spec due to timezone (#5148) Add support for PSON to facts (#6338) Remove inventory indirection, and move to facts indirection (#6445) Fix inline docs: puppet agent does not accept --mkusers Update CHANGELOG and version for 2.6.6rc1 (#6541) Fix content with checksum truncation bug (#6418) Recursive files shouldn't be audited (#6541) maint: whitespace cleanup on the file integration spec (#6541) Fix content with checksum truncation bug (#5466) Write specs for output of puppet resource (#5466) Monkey patch Symbol so that you can sort them (#5466) Fixed puppet resource bug with trailing , Update CHANGELOG for 2.6.5 (#4922) Don't truncate remotely-sourced files on 404 (#6338) Remove unused version control tags Maint: Align tabs in a code block in the Augeas type. (#6509) Inline docs: Fix erroneous code block in directoryservice provider for computer type Maint: Rewrite comments about symlinks to reflect best practice. (#6509) Inline docs: Fix broken lists in Launchd provider. (#6509) Inline docs: Fix broken code blocks in zpool type ... Manually Resolved Conflicts: lib/puppet/application/inspect.rb lib/puppet/defaults.rb lib/puppet/file_bucket/dipper.rb lib/puppet/network/http/handler.rb lib/puppet/node/facts.rb lib/puppet/parser/parser.rb lib/puppet/parser/parser_support.rb lib/puppet/util/command_line/puppet lib/puppet/util/command_line/puppetd lib/puppet/util/command_line/puppetmasterd lib/puppet/util/monkey_patches.rb lib/puppet/util/rdoc/parser.rb spec/unit/application/agent_spec.rb spec/unit/file_bucket/file_spec.rb spec/unit/indirector/file_bucket_file/file_spec.rb spec/unit/network/http/handler_spec.rb spec/unit/parser/parser_spec.rb spec/unit/provider/mount/parsed_spec.rb
| * (#6322) --noop should not suppress error codesJesse Wolfe2011-02-252-2/+18
| | | | | | | | | | | | | | | | | | The noop option has been suppressing exit statuses. This is counterintuitive, as per discussion at http://projects.puppetlabs.com/issues/6322 This patch causes noop runs to return the same exit codes as real runs. Reviewed-By: Daniel Pittman <daniel@puppetlabs.com>
| * (#5552) Display help when no subcommand is given.Daniel Pittman2011-02-221-0/+10
| | | | | | | | | | | | | | | | | | Previously, when the command line was empty we would try and invoke an empty method; this was less helpful than telling people what they could actually do, so we adapt our code to do precisely that. Paired-With: Jesse Wolfe <jesse@puppetlabs.com> Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
| * (#5552) Clean up subcommand handling inside puppet cert.Daniel Pittman2011-02-221-14/+44
| | | | | | | | | | | | | | | | | | | | | | We now have a regular, testable mechanism for handling the legacy '--' version of subcommands, as well as a modern bareword subcommand pattern. This makes it sensible to test command handling and avoid regressions. We identified a few quirks in the command line as part of this process. Pair-With: Jesse Wolfe <jesse@puppetlabs.com> Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
| * Merge branch '2.6.x' into 2.6.nextJacob Helwig2011-02-211-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | * 2.6.x: Updated CHANGELOG for 2.6.5rc5 (#6337) Fix Ruby warning on 1.8.6 about "future compatibility" (#6353) Restore the ability to store paths in the filebucket (#6126) Puppet inspect now reports status after run completes.
| | * (#6126) Puppet inspect now reports status after run completes.Daniel Pittman2011-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | We now emit timing and output a status message at the end of a successful inspect run. Paired-With: Nick Lewis <nick@puppetlabs.com> Signed-Off-By: Daniel Pittman <daniel@puppetlabs.com>
| * | (#6346) Move the trap calls onto Signal so they're easier to stubMatt Robinson2011-02-164-13/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once you stub signal traps in tests, you can hit ctrl+c in the middle of a spec run and it will stop the run instead of puppet catching the SIGINT. I had trouble easily tracking down all the places to stub traps when the trap was being called as a private method on applications and daemons, but calling trap on Signal is equivalent since Kernel calls Signal.trap and Object mixes in Kernel to provide trap as a private method on all objects. A bigger solution would be to refactor everywhere we call trap into a method that's called consistently since right now we sprinkle SIGINT and SIGTERM trap handling over applications and daemons in inconsistent ways, returning different error codes and using different messages. I've captured this info in ticket #6345. Reviewed-by: Jacob Helwig <jacob@puppetlabs.com>
* | Merge branch '2.6.x' into nextMatt Robinson2011-02-021-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 2.6.x: (46 commits) Augmentation of tests for prior commit Fix to fix for #5755 -- backref serialization issues in zaml Fixed #5564 - Added some more fqdn_rand documentation Fixed #4968 - Updated list of options turned on by --test in documentation (#5061) - allow special hostclass/define variables to be evaluated as defaults. (#6107) Fix an error when auditing a file with empty content Remove already initialized constant warning from file_spec.rb tests (#5566) Treat source only File checksums as syntax errors when used with content Rename variable used in File type validation to be more clear Remove invalid "timestamp" and "time", and add missing "ctime" File checksum types. Remove order dependency when specifying source and checksum on File type Bug #5755 -- ZAML generates extra newline in some hash backreferences. bug #5681 -- code fix to handle AIX mount output Bug #5681 -- parse AIX mount command output. Spec for #5681 to allow parsing of AIX mount output in mount provider Fixed #6091 - Changed POSIX path matching to allow multiple leading slashes Bug #6091 -- test leading double-slash in filenames are allowed. Fixed #6071 - Fixed typo and improved exec path error message Fixed #6061 - Allowed -1 as password min/max age Bug #6061 -- verify that negative {min,max}_password_age are accepted. ... Manually Resolved Conflicts: lib/puppet/util/zaml.rb spec/unit/util/zaml_spec.rb
| * Merge remote branch 'james/tickets/2.6.x/5916' into 2.6.nextJesse Wolfe2011-02-011-2/+2
| |\
| | * Fixes #5916 - Cleanup of unused doc methods and documentationJames Turnbull2011-01-171-2/+2
| | |
* | | Merge branch '2.6.x' into nextMatt Robinson2011-01-191-1/+177
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 2.6.x: (21 commits) (#5900) Include ResourceStatus#failed in serialized reports (#5882) Added error-handling for bucketing files in puppet inspect (#5882) Added error-handling to puppet inspect when auditing (#5171) Made "puppet inspect" upload audited files to a file bucket Prep for #5171: Added a missing require to inspect application. Locked Puppet license to GPLv2 (#5838) Support paths as part of file bucket requests. (#5838) Improve the quality of file bucket specs. (#5838) Make file bucket dipper efficient when saving a file that already exists (#5838) Implemented the "head" method for FileBucketFile::File terminus. (#5838) Reworked file dipper spec to perform less stubbing. (#5838) Added support for HEAD requests to the indirector. (#5838) Refactored error handling logic into find_in_cache. (#5838) Refactored Puppet::Network::Rights#fail_on_deny maint: Remove unused Rakefile in spec directory (#5171) Made filebucket able to perform diffs (#5710) Removed unnecessary calls to insync? Prep for fixing #5710: Refactor stub provider in resource harness spec Maint: test partial resource failure maint: Inspect reports should have audited = true on events ... Manually Resolved Conflicts: lib/puppet/file_bucket/dipper.rb lib/puppet/indirector.rb lib/puppet/network/rest_authconfig.rb spec/unit/file_bucket/dipper_spec.rb spec/unit/file_bucket/file_spec.rb spec/unit/indirector_spec.rb
| * | (#5882) Added error-handling for bucketing files in puppet inspectNick Lewis2011-01-131-2/+16
| | | | | | | | | | | | Paired-With: Paul Berry
| * | (#5882) Added error-handling to puppet inspect when auditingNick Lewis2011-01-131-1/+59
| | | | | | | | | | | | | | | | | | | | | | | | If auditing a resource fails, the report will contain failure events for every audited property of the resource. The report itself will also be marked as "failed". Paired-With: Paul Berry
| * | (#5171) Made "puppet inspect" upload audited files to a file bucketPaul Berry2011-01-131-0/+84
| | | | | | | | | | | | | | | | | | | | | | | | This only occurs if the new setting :archive_files is set. Another new setting, :archive_file_server, can be used to specify the server that files should be uploaded to. Paired-with: Nick Lewis <nick@puppetlabs.com>
| * | maint: Inspect reports should have audited = true on eventsMatt Robinson2011-01-061-0/+20
| |/ | | | | | | Paired-with: Jesse Wolfe
* | maint: Stop stubbing 'use' on any_instance of Puppet::Util::SettingsNick Lewis2011-01-073-27/+2
| | | | | | | | | | | | | | This is because of the fix for #5799, which means there will only be a single instance of Puppet::Util::Settings throughout the lifetime of the spec run. Paired-With: Paul Berry
* | Merge branch 'intermediate_merge_branch' into nextNick Lewis2011-01-064-9/+28
|\ \
| * | Merge branch '2.6.x' into nextNick Lewis2011-01-064-9/+28
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Rakefile lib/puppet/resource/type_collection.rb lib/puppet/simple_graph.rb lib/puppet/transaction.rb lib/puppet/transaction/report.rb lib/puppet/util/metric.rb spec/integration/indirector/report/rest_spec.rb spec/spec_specs/runnable_spec.rb spec/unit/configurer_spec.rb spec/unit/indirector_spec.rb spec/unit/transaction/change_spec.rb
| | * (#5771) Upgrade rspec to version 2Matt Robinson2011-01-042-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The biggest change is that we no longer need to monkey patch rspec to get confine behavior. Describe blocks can now be conditional like confine used to be. "describe" blocks with "shared => true" are now "shared_examples_for". Paired-With: Nick Lewis