aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/gems/fakeweb-1.3.0/README.rdoc
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gems/fakeweb-1.3.0/README.rdoc')
-rw-r--r--vendor/gems/fakeweb-1.3.0/README.rdoc189
1 files changed, 0 insertions, 189 deletions
diff --git a/vendor/gems/fakeweb-1.3.0/README.rdoc b/vendor/gems/fakeweb-1.3.0/README.rdoc
deleted file mode 100644
index 33115325b..000000000
--- a/vendor/gems/fakeweb-1.3.0/README.rdoc
+++ /dev/null
@@ -1,189 +0,0 @@
-= FakeWeb
-
-FakeWeb is a helper for faking web requests in Ruby. It works at a global
-level, without modifying code or writing extensive stubs.
-
-
-== Installation
-
- gem install fakeweb
-
-Note: the gem was previously available as +FakeWeb+ (capital letters), but now
-all versions are simply registered as +fakeweb+. If you have any old +FakeWeb+
-gems lying around, remove them: <tt>gem uninstall FakeWeb</tt>
-
-
-== Help and discussion
-
-RDocs for the current release are available at http://fakeweb.rubyforge.org.
-
-There's a mailing list for questions and discussion at
-http://groups.google.com/group/fakeweb-users.
-
-The main source repository is http://github.com/chrisk/fakeweb.
-
-== Examples
-
-Start by requiring FakeWeb:
-
- require 'fakeweb'
-
-=== Registering basic string responses
-
- FakeWeb.register_uri(:get, "http://example.com/test1", :body => "Hello World!")
-
- Net::HTTP.get(URI.parse("http://example.com/test1"))
- => "Hello World!"
-
- Net::HTTP.get(URI.parse("http://example.com/test2"))
- => FakeWeb is bypassed and the response from a real request is returned
-
-You can also call <tt>register_uri</tt> with a regular expression, to match
-more than one URI.
-
- FakeWeb.register_uri(:get, %r|http://example\.com/|, :body => "Hello World!")
-
- Net::HTTP.get(URI.parse("http://example.com/test3"))
- => "Hello World!"
-
-=== Replaying a recorded response
-
- page = `curl -is http://www.google.com/`
- FakeWeb.register_uri(:get, "http://www.google.com/", :response => page)
-
- Net::HTTP.get(URI.parse("http://www.google.com/"))
- # => Full response, including headers
-
-=== Adding a custom status to the response
-
- FakeWeb.register_uri(:get, "http://example.com/", :body => "Nothing to be found 'round here",
- :status => ["404", "Not Found"])
-
- Net::HTTP.start("example.com") do |req|
- response = req.get("/")
- response.code # => "404"
- response.message # => "Not Found"
- response.body # => "Nothing to be found 'round here"
- end
-
-=== Responding to any HTTP method
-
- FakeWeb.register_uri(:any, "http://example.com", :body => "response for any HTTP method")
-
-If you use the <tt>:any</tt> symbol, the URI you specify will be completely
-stubbed out (regardless of the HTTP method of the request). This can be useful
-for RPC-style services, where the HTTP method isn't significant. (Older
-versions of FakeWeb always behaved like this, and didn't accept the first
-+method+ argument above; this syntax is now deprecated.)
-
-=== Rotating responses
-
-You can optionally call <tt>FakeWeb.register_uri</tt> with an array of options
-hashes; these are used, in order, to respond to repeated requests. Once you run
-out of responses, further requests always receive the last response. (You can
-also send a response more than once before rotating, by specifying a
-<tt>:times</tt> option for that response.)
-
- FakeWeb.register_uri(:delete, "http://example.com/posts/1",
- [{:body => "Post 1 deleted.", :status => ["200", "OK"]},
- {:body => "Post not found", :status => ["404", "Not Found"]}])
-
- Net::HTTP.start("example.com") do |req|
- req.delete("/posts/1").body # => "Post 1 deleted"
- req.delete("/posts/1").body # => "Post not found"
- req.delete("/posts/1").body # => "Post not found"
- end
-
-=== Using HTTP basic authentication
-
-You can fake requests that use basic authentication by adding +userinfo+ strings
-to your URIs:
-
- FakeWeb.register_uri(:get, "http://example.com/secret", :body => "Unauthorized", :status => ["401", "Unauthorized"])
- FakeWeb.register_uri(:get, "http://user:pass@example.com/secret", :body => "Authorized")
-
- Net::HTTP.start("example.com") do |http|
- req = Net::HTTP::Get.new("/secret")
- http.request(req) # => "Unauthorized"
- req.basic_auth("user", "pass")
- http.request(req) # => "Authorized"
- end
-
-=== Clearing registered URIs
-
-The FakeWeb registry is a singleton that lasts for the duration of your program,
-maintaining every fake response you register. If needed, you can clean out the
-registry and remove all registered URIs:
-
- FakeWeb.clean_registry
-
-=== Blocking all real requests
-
-When you're using FakeWeb to replace _all_ of your requests, it's useful to
-catch when requests are made for unregistered URIs (unlike the default
-behavior, which is to pass those requests through to Net::HTTP as usual).
-
- FakeWeb.allow_net_connect = false
- Net::HTTP.get(URI.parse("http://example.com/"))
- => raises FakeWeb::NetConnectNotAllowedError
-
- FakeWeb.allow_net_connect = true
- Net::HTTP.get(URI.parse("http://example.com/"))
- => FakeWeb is bypassed and the response from a real request is returned
-
-It's recommended that you set <tt>FakeWeb.allow_net_connect = false</tt> in the
-setup for your tests.
-
-==== Allowing requests to a specific server
-
-If you want to prevent your tests from hitting the internet while allowing
-access to a specific server for integration testing, you can assign a URI or
-+Regexp+ to be used as a whitelist for outbound requests:
-
- FakeWeb.allow_net_connect = %r[^https?://localhost]
- Net::HTTP.get(URI.parse("http://localhost/path")) # => allowed
- Net::HTTP.get(URI.parse("http://example.com/")) # => raises FakeWeb::NetConnectNotAllowedError
-
-=== Specifying HTTP response headers
-
-When you register a response using the <tt>:body</tt> option, you're only
-setting the body of the response. If you want to add headers to these responses,
-simply add the header as an option to +register_uri+:
-
- FakeWeb.register_uri(:get, "http://example.com/hello.txt", :body => "Hello", :content_type => "text/plain")
-
-This sets the "Content-Type" header in the response.
-
-=== Checking the last request
-
-It's often useful to retrieve the last request made by your code, so you can
-write tests for its content. FakeWeb keeps track of the last request, whether it
-was stubbed or not:
-
- Net::HTTP.get(URI.parse("http://example.com"))
- FakeWeb.last_request # => Net::HTTP::Get request object
-
-== More info
-
-FakeWeb lets you decouple your test environment from live services without
-modifying code or writing extensive stubs.
-
-In addition to the conceptual advantage of having idempotent request
-behaviour, FakeWeb makes tests run faster than if they were made to remote (or
-even local) web servers. It also makes it possible to run tests without a
-network connection or in situations where the server is behind a firewall or
-has host-based access controls.
-
-FakeWeb works with anything based on Net::HTTP--both higher-level wrappers,
-like OpenURI, as well as a ton of libraries for popular web services.
-
-
-== Known Issues
-
-* Request bodies are ignored, including PUT and POST parameters. If you need
- different responses for different request bodies, you need to request
- different URLs, and register different responses for each. (Query strings are
- fully supported, though.) We're currently considering how the API should
- change to add support for request bodies in 1.3.0. Your input would be really
- helpful: see http://groups.google.com/group/fakeweb-users/browse_thread/thread/44d190a6b12e4273
- for a discussion of some different options. Thanks!