summaryrefslogtreecommitdiffstats
path: root/spec/unit/resource_spec.rb
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Merge branch 'ticket/2.6.x/5605' of ↵Jesse Wolfe2011-03-151-9/+2
| | | | | | | | | git://github.com/stschulte/puppet into 2.6.next" This reverts commit 658bdb72bee3ad664627a71793213e6540afd5cb, reversing changes made to 4c9bd43bc2f5fde9d86196e8689dced929d39aad. See comment at http://projects.puppetlabs.com/issues/5605#note-9
* Merge branch 'ticket/2.6.x/5605' of git://github.com/stschulte/puppet into ↵Jesse Wolfe2011-03-151-2/+9
|\ | | | | | | 2.6.next
| * (#5605) Prefetch doesnt work with composite keysStefan Schulte2010-12-231-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The uniqueness_key method of a type or resource object should return a key that can be used to identify this resource. In fact puppet seldomly uses this method and instead uses resource[:name] as an identifier. While this is totally fine for resourcetypes with a single key_attribute (and resource[:name] returning the namevar), it breaks things as soon as one creates a type with a composite key (prefetching for example is broken). To ease the process of replacing calls to resource[:name] to resource.uniqueness_key, the method uniqueness_key now just returns name_var if there is only one key_attribute (immitating self[:name]) and only returns an array of all the values of all the key_attributes if we have more than one key_attribute. The resourcehash which is passed to providers in their prefetch method is now build with uniqueness_key as the hashkey. Because of the new behaviour of uniqueness_key we hopefully wont break existing providers while allowing new providers for types with composite keys to implement correct prefetch methods.
* | Merge branch 'ticket/2.6.next/5428-handle-0.25.x-storedconfig-data' into ↵Jacob Helwig2011-03-151-0/+22
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2.6.next * ticket/2.6.next/5428-handle-0.25.x-storedconfig-data: Remove extra trailing whitespace from lib/puppet/resource.rb (#5428) More fully "stub" Puppet::Resource::Reference for use with storedconfigs Conflicts: lib/puppet/resource.rb
| * | (#5428) More fully "stub" Puppet::Resource::Reference for use with storedconfigsJacob Helwig2011-03-151-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Puppet::Resource::Reference class wasn't stubbing enough of the 0.25.x behavior to satisfy the needs of storedconfigs. Since P::R::Reference, and Puppet::Resource were merged as part of 2.6.x, we can pretend that P::Resource is P::R::Reference for the purposes of loading data from storedconfigs. This should still satisfy the over-the-wire serialization needs of 0.25.x. This also changes internal references to @parameters in Puppet::Resource(::Reference) to go through a parameters method. This allows us to "initialize" this instance variable lazily, since loading via YAML bypasses the normal initialize method. Paired-with: Daniel Pittman <daniel@puppetlabs.com> Reviewed-by: Markus Roberts <markus@puppetlabs.com>
* | | (#5466) Write specs for output of puppet resourceMatt Robinson2011-02-281-13/+17
|/ / | | | | | | Reviewed-by: Nick Lewis <nick@puppetlabs.com>
* | Merge remote branch 'bodepd/feature/2.6.4/5910' into 2.6.nextPaul Berry2011-02-011-0/+8
|\ \ | | | | | | | | | | | | * bodepd/feature/2.6.4/5910: (#5910) Improved logging when declared classes cannot be found:
| * | (#5910) Improved logging when declared classes cannot be found:Dan Bode2011-01-121-0/+8
| |/ | | | | | | | | | | | | | | Previously, when a class could not be found, it was displaying the same error message as when a resource type could not be found. This resulted in confusing error message: Invalid resource type class, when really it should display the name of the class that could not be found. My patch changes the error message to: Could not find declared class #{title}
* / (#5771) Upgrade rspec to version 2Matt Robinson2011-01-041-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
* [#4397]+[#4344] Move type-name resolution out of Puppet::Resource into the ↵Jesse Wolfe2010-08-031-36/+0
| | | | | | | | | | | | | | | | | | AST resources. Move type-name resolution out of Puppet::Resource into the AST resources. Move find_resource_type out of Puppet::Resource into Scope Thus, never pass unqualified type names to Puppet::Resource objects. Thus, Puppet::Resource objects don't need the namespace property, and Puppet::Resource objects never consult the harddrive to look for .pp files that might contain their type definitions, Thus, performance is improved. Also removes the temporary fix for #4257 that caused #4397 (The code was too eager to look for a class in the topscope) Paired-With: Paul Berry <paul@puppetlabs.com> Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
* [#4247] storeconfigs was calling Puppet::Parser::Resource.new with the wrong ↵Jesse Wolfe2010-07-181-0/+6
| | | | | | | | | | | | | arguments When the interface to Puppet::Resource changed, its subclass Puppet::Parser::Resource was also affected. One case of initializing those objects did not get updated when the code changed, causing storeconfigs to break. Also, this patch adds a error message that would have made it easier to catch this problem (as puppet could consume all memory and die trying to print the old error message)
* [#3656] Serializing arrays of referencesJesse Wolfe2010-07-131-0/+7
| | | | | | My previous fix for #3656 missed the case where a "require" attribute (or other graph-ish attribute) had multiple values. This patch generalizes that fix to the multiple-value case.
* Code smell: Two space indentationMarkus Roberts2010-07-091-650/+650
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced 106806 occurances of ^( +)(.*$) with The ruby community almost universally (i.e. everyone but Luke, Markus, and the other eleven people who learned ruby in the 1900s) uses two-space indentation. 3 Examples: The code: end # Tell getopt which arguments are valid def test_get_getopt_args element = Setting.new :name => "foo", :desc => "anything", :settings => Puppet::Util::Settings.new assert_equal([["--foo", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args") becomes: end # Tell getopt which arguments are valid def test_get_getopt_args element = Setting.new :name => "foo", :desc => "anything", :settings => Puppet::Util::Settings.new assert_equal([["--foo", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args") The code: assert_equal(str, val) assert_instance_of(Float, result) end # Now test it with a passed object becomes: assert_equal(str, val) assert_instance_of(Float, result) end # Now test it with a passed object The code: end assert_nothing_raised do klass[:Yay] = "boo" klass["Cool"] = :yayness end becomes: end assert_nothing_raised do klass[:Yay] = "boo" klass["Cool"] = :yayness end
* [#3994-part 3] rename spec tests from *_spec_spec to *_spec.rbMarkus Roberts2010-06-281-0/+805
| | | | Part 2 re-did the change on the spec files, which it shouldn't have.
* [#3994-part 2] rename integration tests to *_spec.rbMarkus Roberts2010-06-281-805/+0
| | | | | | | | | Some spec files like active_record.rb had names that would confuse the load path and get loaded instead of the intended implentation when the spec was run from the same directory as the file. Author: Matt Robinson <matt@puppetlabs.com> Date: Fri Jun 11 15:29:33 2010 -0700
* Fix for pre 1.8.7 compatibility in namvar patchMarkus Roberts2010-06-281-7/+4
| | | | | | | | There was a subtle 1.8.7 dependence in the composite key / namevar patch; Nick discovered that our assumtion that hashes could be used as hash keys does not hold in earlier bersions of ruby. This patch replaces the hash valued uniqueness_key with an array of the values of the (ordered) key attributes.
* [#3994] rename the specs to have _spec.rb at the endMarkus Roberts2010-06-231-0/+808
Some spec files like active_record.rb had names that would confuse the load path and get loaded instead of the intended implentation when the spec was run from the same directory as the file. Author: Matt Robinson <matt@puppetlabs.com> Date: Fri Jun 11 15:29:33 2010 -0700