summaryrefslogtreecommitdiffstats
path: root/spec/integration
Commit message (Collapse)AuthorAgeFilesLines
...
* updating search integration specs to include webrickRick Bradley2008-04-111-4/+59
|
* making search work over REST, w/ unit & integration specsRick Bradley2008-04-111-4/+59
|
* 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
|
* 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-113-49/+110
| | | | | | | | | | | | | | | | | | | | | 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-111-0/+85
| | | | | | | | | | | | | | | | 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.
* Fixing the expire method (it wasn't using a requestLuke Kanies2008-04-101-1/+8
| | | | | | 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-101-0/+4
| | | | | | 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-084-31/+143
| | | | expecting requests instead of having a random interface.
* Intermediate commit.Luke Kanies2008-04-082-4/+40
| | | | | | | | | | | | | | | | | 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 the integration tests related to the destroy fix. Yay.Luke Kanies2008-04-082-2/+2
|
* Fixing a unit test for node integrationLuke Kanies2008-03-181-9/+2
|
* Fixing an integration test so it cleans up after itselfLuke Kanies2008-02-281-0/+5
|
* Fixing a test that was failing when a user-specificLuke Kanies2008-02-231-2/+2
| | | | fileserver.conf actually exists.
* Fixing #924 -- clearing the configuration cache before andLuke Kanies2007-11-261-0/+3
| | | | after the test.
* Rewriting the tests for the package resource type, fixing #930.Luke Kanies2007-11-261-0/+24
|
* Using the Environment class to determine the default environment,Luke Kanies2007-11-201-2/+4
| | | | | rather than plenty of different places having the logic of how to determine the default environment.
* File serving should work now, both recursive andLuke Kanies2007-10-242-5/+108
| | | | | | | | | | | | | | single files, across modules, local file system, and the traditional file server. This work revolves around making sure that the termini produce functional file instances, meaning that they know how to find their content or metadata, which largely comes down to setting their paths correctly. I also created a new terminus base class for the local filesystem, since there was so much common code between content and metadata.
* Link handling is now in the file serving classes.Luke Kanies2007-10-221-1/+1
| | | | | | | | | | This was done by putting all of the functionality in the Content and Metadata class (actually, in a new base class for them). There are still some issues, and there need to be integration tests between the :local (soon to be renamed :file) termini for these classes.
* Renaming the 'mounts' terminus to 'file_server', and renamingLuke Kanies2007-10-204-36/+36
| | | | tests accordingly.
* File serving now works. I've tested a couple of ways toLuke Kanies2007-10-192-0/+66
| | | | | | | | | | | | | | | | use it, and added integration tests at the most important hook points. This provides the final class structure for all of these classes, but a lot of the class names are pretty bad, so I'm planning on going through all of them (especially the file_server stuff) and renaming. The functionality is all here for finding files, though (finally). Once the classes are renamed, I'll be adding searching ability (which will enable the recursive file copies) and then adding the link management and enabling ignoring files.
* I've now split the file-serving termini into two separate types (inLuke Kanies2007-10-184-0/+73
| | | | | | | | | | | | | | | | addition to Rest): A local terminus that just uses direct file paths, and a mounts terminus that uses the file server to figure out what the path should be. It looks like it also makes sense to split the 'mounts' terminus further, so there is a 'modules' terminus used to look files up in the terminus. I've added some integration tests to verify that everything is hooked together correctly. Lastly, I added a directory for shared behaviours. There's a ton of duplication in this setup, because the Content and Metadata classes behave almost but not quite identically across the board.
* Translating the report handler to an indirected model.Luke Kanies2007-10-131-0/+14
| | | | | | | | | | | I've provided backward compatibility with the old handler. The only terminus type that currently exists for reports is the 'code' terminus, which is used to process reports in the style of the old handler. At some point, we should likely switch at least some of these report types (e.g., 'store') to terminus types.
* Adding the integration tests to the Rakefile for spec,Luke Kanies2007-10-042-3/+2
| | | | | | fixing the integration tests, and extending the Classmethods for the indirector so that indirected classes can set the terminus class and cache class.
* Adding a "memory" node terminus, which willLuke Kanies2007-09-231-0/+46
| | | | | | be used by 'puppet' and the Cfengine 'module_puppet', since they need to set up the node specially with classes and other weird things.
* Adding my first integration test, verifying thatLuke Kanies2007-09-231-0/+48
checksum interaction behaves as I expect when interacting with the file terminus. I've also changed how files and checksums behave a bit. Files now create model instances with the content as the only argument during initialization, and checksums now calculate their checksums rather than having them passed in.