summaryrefslogtreecommitdiffstats
path: root/spec
Commit message (Collapse)AuthorAgeFilesLines
* Fixed some tests broken by #1176James Turnbull2008-04-191-8/+8
|
* Fixishing some pending tests, including filling inLuke Kanies2008-04-112-13/+17
| | | | the connection information.
* Making the changes necessary to get the REST supportLuke Kanies2008-04-112-38/+44
| | | | | to work with the current state of the indirection work, including using a request object and an expiration date.
* The 'destroy' method in the indirection now returnsLuke Kanies2008-04-111-3/+3
| | | | | the results of destroying, so they can return true or false.
* fill out specs for network_* methods; refactor lowest-level network hooksRick Bradley2008-04-111-26/+158
|
* adding rest_connection_details helper to Indirector::REST -- will need to be ↵Rick Bradley2008-04-111-0/+12
| | | | overridden to lookup the real connection details
* make sure unit indirector specs are working with #save; fill out network_put ↵Rick Bradley2008-04-111-3/+53
| | | | pending specs
* updating mongrel/webrick unit tests to match integration-tested version of ↵Rick Bradley2008-04-112-22/+4
| | | | REST save functionality
* adding REST save support, with integration tests. A handful of unit tests ↵Rick Bradley2008-04-112-4/+91
| | | | in that area now need to be updated.
* Added support for destroy/DELETE over REST (including units & integrations ↵Rick Bradley2008-04-112-5/+130
| | | | | | | | on both webrick & mongrel). Added pending specs for the trivialities in the REST network_fetch and network_delete methods. Refactored YAML exception detection out into a private helper method.
* updating search integration specs to include webrickRick Bradley2008-04-112-8/+63
|
* making search work over REST, w/ unit & integration specsRick Bradley2008-04-112-5/+60
|
* unit specs and implementation for Indirector::REST#search methodRick Bradley2008-04-111-8/+52
|
* placeholders for integration specs on final REST methodsRick Bradley2008-04-111-0/+24
|
* ensure that we only run the mongrel specs when mongrel is available as a featureRick Bradley2008-04-112-0/+4
|
* bringing Indirector::REST specs to mongrel-land as well.Rick Bradley2008-04-111-44/+112
|
* Make mongrel happy like WEBrick.Rick Bradley2008-04-113-280/+270
| | | | Refactored specs to put some of the lower-level find/save/search/destroy unit tests under their own contexts.
* exceptions on remote end now properly passed to local end via REST and ↵Rick Bradley2008-04-111-3/+3
| | | | re-raised (integration-tested)
* Much larger commit than I would like to land at once. This is all ↵Rick Bradley2008-04-118-95/+200
| | | | | | | | | | | | | | | | | | | | | REST-related code. Two specs are failing related to how Mongrel is initialized for REST; will fix those shortly. REST indirector now supports find, with deserialization. Network code in indirector now. Will still need to un-hardwire address/port for outbound connections. Will still need to urlencode path parameters. Code for search, destroy, update is coming, should be similar to find. Reworked how the Handler module is used. Needed to be included, rather than inherited. Needed to sidestep initializers for actual web servers (webrick, mongrel), needed to be possible to have handler-including class be used as a class (aka servlet) instead of as an instance. Webrick handler registration is now abstracted to "above" the servlet. Provided a #model method to use instead of @model in handler module. This allows neutering during testing. Brought class_for_protocol up into http/webrick class as a (tested) class method. Integration tests for rest indirection. Split server integration tests into mongrel and webrick tests. Got Node/REST working properly wrt the crazy-ass autoloader thing. We're now actually passing traffic w/ webrick, fwiw.
* a trivial integration test to test whether the RESTful indirection terminus ↵Rick Bradley2008-04-111-0/+35
| | | | has a remote shot at working; will need to be upgraded to actually be useful
* This is the first version where mongrel and webrick are reliably startable ↵Rick Bradley2008-04-113-11/+131
| | | | | | | | | | | | | | | | and stoppable via Puppet::Network::Server. Added a network/server integration spec, testing startup, shutdown, reachability, and collision of webrick and mongrel servers in the new network code. Converted Puppet::Network::HTTP::Handler class to a module, as mongrel Handler should be subclassed; converting subclasses to include the module instead. Mongrel will actually stop if you .stop it, graceful_shutdown didn't seem quite so reliable. Webrick requires running in its own Thread to avoid hanging the entire process; this requires introduction of a Mutex to make things safe. We're only supporting the REST protocol. Made this explicit. Fixed http server setup args, w/ specs, ah the glory of integration testing.
* the indirector will not serve xmlrpc (this is the responsibility of the ↵Rick Bradley2008-04-113-14/+6
| | | | legacy networking code; it was a mistake to include stubbed support for it in the new code); removing
* Modified the 'master' handler to use the Catalog class toLuke Kanies2008-04-112-52/+9
| | | | | | | | | | compile node configurations, rather than using the Configuration handler, which was never used directly. I removed the Configuration handler as a result. Modified the 'master' handler (responsible for sending configurations to clients) to always return Time.now as its compile date, so configurations will always get recompiled.
* Removed the code from the client that tries to avoid recompilingLuke Kanies2008-04-101-25/+0
| | | | | | the catalog. The client will now always recompile, assuming it can reach the server. It will still use the cached config if there's a failure.
* Fixing #1173 -- classes and definitions can now have the sameLuke Kanies2008-04-101-1/+1
| | | | name as a directory with no failures.
* Fixing #1173 -- classes and definitions can now have the sameLuke Kanies2008-04-101-0/+9
| | | | name as a directory with no failures.
* Fixing the expire method (it wasn't using a requestLuke Kanies2008-04-102-9/+38
| | | | | | internally), and fixing the Facts class so it auto-expires any associated cached nodes when facts are saved.
* Moved the request creation into the IndirectionLuke Kanies2008-04-103-183/+224
| | | | | | class instead of the Indirector module. Also, added an 'expire' method to the indirector, so there's an easy way to expire cached instances.
* Ported the rest of the indirection terminuses over toLuke Kanies2008-04-0813-172/+225
| | | | expecting requests instead of having a random interface.
* Intermediate commit.Luke Kanies2008-04-0820-288/+379
| | | | | | | | | | | | | | | | | This commit adds a Request instance into the indirection, pushing it all the way to the terminus instances. It's a big commit because it requires modifying every terminus class. There are still some thorny design issues. In particular, who should be responsible for making the request object? I've tried having both the indirection class and the Indirector module creating it, and both have their issues. Also, the Catalog class previously allowed passing Node instances directly to the find method, which is now no longer possible because the Request class would treat the node as the instance being found. We need the request class to have two modes, one when it's passed an instance and one when it's passed a key.
* Fixing some tests that were failing because new base typesLuke Kanies2008-04-081-31/+39
| | | | | were added to Naginator, but no new related resource types were added.
* Adding the ability for indirection requests to be createdLuke Kanies2008-04-081-0/+15
| | | | with instances instead of just keys.
* Fixing the tests that were failing because of the useLuke Kanies2008-04-081-95/+109
| | | | of the indirection request object.
* Adding a Request class to the Indirection layer. ThisLuke Kanies2008-04-082-82/+169
| | | | | | | | | class is currently only used internally by the Indirection instances, but I expect that I will soon be pushing it to all of the terminus types. I still need to fix a couple of tests that will get broken by this commit.
* Fixing the integration tests related to the destroy fix. Yay.Luke Kanies2008-04-082-2/+2
|
* Fixing one other test that was failing because of the changeLuke Kanies2008-04-081-3/+1
| | | | to Indirection#destroy.
* Changing how destroy works, just a bit -- it now acceptsLuke Kanies2008-04-082-13/+9
| | | | | the name of the instance to be destroyed, rather than the instance itself.
* Reworking the caching layer to use TTLs instead of versionsLuke Kanies2008-04-081-442/+485
| | | | | | based on timestamps. This just modifies the indirection class itself, there is still some work to do to remove version code from other classes.
* Adding an envelope module to handle indirected instanceLuke Kanies2008-04-081-0/+47
| | | | expiration.
* Making a test executableLuke Kanies2008-04-081-0/+0
|
* Used stubs to decouple our code behavior from the behavior of the underlying ↵Paul Lathrop2008-04-071-19/+23
| | | | filesystem, as well as removing the need to sleep (which caused the tests to take a long time).
* Merge branch '0.24.x' of git://reductivelabs.com/puppet into unit-testsPaul Lathrop2008-03-3110-10/+10
|\
| * Fixes #1148 - replaces #!/usr/bin/ruby with #!/usr/bin/env ruby.Paul Lathrop2008-03-2810-10/+10
| |
* | Added some more tests for loadedfile, based off the old unit tests.Paul Lathrop2008-03-251-2/+23
| |
* | Added rspec tests for loadedfilePaul Lathrop2008-03-241-0/+40
|/
* Moved the configuration of the Node cache to the puppetmasterdLuke Kanies2008-03-241-2/+2
| | | | | executable, since it otherwise causes caches to be used in all cases, which we don't want (e.g., bin/puppet was using them).
* Fixing #1138 -- the yamldir is automatically created by theLuke Kanies2008-03-241-1/+0
| | | | | server now that it's in the :puppetmasterd section rather than a separate :yaml section.
* Disabling http keep-alive as a means of preventing #1010.Luke Kanies2008-03-242-96/+161
| | | | | | | There is now a constant in Puppet::Network::HttpPool that will disable or enable this feature, but note that we determined that it can cause corruption, especially in file serving (but it's client-side corruption).
* Fixing a test I broke with my fix to #1147Luke Kanies2008-03-201-3/+3
|
* Fixed #1147: Cached nodes are correctly considered out ofLuke Kanies2008-03-201-0/+6
| | | | | | date if the node facts have been updated (thus causing node facts to again be available in manifests, for those cases where they were not).