summaryrefslogtreecommitdiff
path: root/spec/unit/file_serving
AgeCommit message (Collapse)AuthorFilesLines
2008-08-26FileServing Configurations now expect unqualified files.Luke Kanies1-17/+22
This fits in with the fact that the indirection requests split URIs and set the request key to an unqualified path rather than a fully-qualified path. The whole system is unqualified end-to-end, now, except when you're specifically asking for a full, local file name. Signed-off-by: Luke Kanies <luke@madstop.com>
2008-08-26Fixing whitespace in docs of some tests.Luke Kanies1-4/+4
Signed-off-by: Luke Kanies <luke@madstop.com>
2008-08-26Fixing the fileserving terminus selection hook.Luke Kanies1-78/+78
It now uses the fact that the indirection request does URI parsing, rather than doing the parsing on its own. Signed-off-by: Luke Kanies <luke@madstop.com>
2008-07-29Merge branch '0.24.x' into mergingLuke Kanies1-48/+46
Conflicts: test/ral/type/filesources.rb
2008-07-18Fixed all of the fileserving termini so they use indirection requests.Luke Kanies1-48/+46
This looks like a much larger commit than it is -- it doesn't change any behaviour at all, it just adds some integration tests (which expose the problem) and then switches from an ad-hoc api to a request-based api. Signed-off-by: Luke Kanies <luke@madstop.com>
2008-05-13Using the new Cacher class for handling cached data.Luke Kanies2-7/+7
This provides a single, global bit for determining whether a given piece of cached data is still valid.
2008-04-08Fixing the tests that were failing because of the useLuke Kanies1-95/+109
of the indirection request object.
2008-03-28Fixes #1148 - replaces #!/usr/bin/ruby with #!/usr/bin/env ruby.Paul Lathrop2-2/+2
2008-02-28Fixing #1093 -- 0.23.2 clients are again compatibleLuke Kanies1-1/+5
with 0.24.x servers. :ignore links is now equivalent to :manage links.
2008-02-23Somewhat refactored fileserving so that it no longer cachesLuke Kanies2-69/+125
any objects, nor does it use Puppet's RAL resources. In the process, I fixed #894 (you can now copy links) and refactored other classes as necessary. Mostly it was fixing tests. This is a squashed commit of a temporary branch, fwiw, and it also includes any fixes to the tests that were necessary to get all tests passing again.
2008-02-18converting file serving configuration specs from setup/teardown to before/afterRick Bradley1-196/+193
2008-02-18converting fileserving/configuration/parser specs from setup/teardown to ↵Rick Bradley1-86/+89
before/after
2008-02-18Fixing a failing test that resulted from a changeLuke Kanies1-1/+2
in how checksums are created.
2007-10-24File serving should work now, both recursive andLuke Kanies4-135/+129
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.
2007-10-22Renaming the FileServing TerminusSelector module to IndirectionHooks,Luke Kanies3-9/+9
because I'm going to add some hooks for transforming returned objects.
2007-10-22Renaming the :local termini for metadata and contentLuke Kanies1-7/+7
to :file.
2007-10-22Link handling is now in the file serving classes.Luke Kanies4-39/+225
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.
2007-10-22Adding searchability to the fileserving termini, using theLuke Kanies2-11/+49
new Fileset class. The tests aren't the cleanest, in that there is still a good bit of duplication in them, but it's what we got.
2007-10-22Adding a Fileset class for managing sets of files. ThisLuke Kanies1-0/+230
is the new server-side for file recursion, and I'll next be hooking it to the fileserving 'search' methods. This is basically a mechanism for abstracting that search functionality into a single class.
2007-10-21Adding authorization hooks to the file_server andLuke Kanies2-9/+95
module_files indirection terminus types. Both hooks use the fileserver configuration, but the module_files hook only uses the 'modules' mount. Also moved all responsibility for knowing whether to use the 'modules' terminus type to the terminus selector; it was previously spread between that and the file_server terminus, which made some things annoyingly complicated. This normalizes the deprecation notices and the logic about how we make these decisions.
2007-10-20Renaming the 'mounts' terminus to 'file_server', and renamingLuke Kanies1-4/+4
tests accordingly.
2007-10-19File serving now works. I've tested a couple of ways toLuke Kanies4-180/+69
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.
2007-10-18I've now split the file-serving termini into two separate types (inLuke Kanies5-20/+126
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.
2007-10-18Fixing all of the classes that I just renamed, and addingLuke Kanies1-0/+4
the TerminusSelector module to the File Metadata indirection.
2007-10-18I'm working on making file serving work in the indirector now, so ILuke Kanies2-0/+35
added two abilities to the indirections: Models can specify a module to extend the indirection instance with, and indirections will use a :select_terminus method, if it's available, to select the terminus to use for finding. (It's currently only used for finding, not destroying or saving.) The upshot is that a model can have a module that handles terminus selection for it, and then extend its indirection with that module. This will allow me to use the local terminus when the protocol is 'file' and the REST terminus when the protocol is 'puppet'. It should also open the door for other protocols if they become available.
2007-10-18Renaming the file_serving/{content,metadata} indirectionsLuke Kanies2-0/+12
so that they make more sense in the REST API, and creating stub tests for the indirection termini. Now it's on to create the rest of the tests for them.
2007-10-18This is the first mostly functional commit of theLuke Kanies3-46/+369
new file serving structure. The next step is to hook it up to the indirection so we can start writing integration tests to see if we can actually serve up files.
2007-10-17Adding the first pass at modifying file servingLuke Kanies4-0/+322
to work with indirection. I've split the fileserver handler into four pieces: Mount (which so far I've just copied wholesale), Configuration (responsible for reading the configuration file and determining what's allowed), Metadata (retrieves information about the files), and Content (retrieves the actual file content). I haven't added the indirection tests yet, and the configuration tests are still all stubs.