There are at least a few decent libraries out there for mocking out HTTP calls in Python unit tests. The best solution looks like HTTPretty. One feature that it does not have, however, is the ability to specify url parameters. For many applications, such as testing OAuth flows, a lot of the behavior you are trying to validate involves parameters being passed. At the same time, you don't want to be forced to specify all the parameters. For example, the oauth_timestamp changes for every REST call; it's dynamic based on the system clock.
Here is a quick class that can mock urllib2 requests, and lets you specify some parameters that you want to validate are being passed. Any parametes that you don't specify are allowed.
You can enable this mock in your unit tests as follows. Note the call to unpatch() to remove the mock. Without this, other tests in your test suite may fail if they try to make a HTTP call.
I'm currently working at NerdWallet, a startup in San Francisco trying to bring clarity to all of life's financial decisions. We're hiring like crazy. Hit me up on Twitter, I would love to talk.