[DRE-commits] [ruby-oauth] 01/01: Revert 0.5.1, sorry for my going too far.
Daisuke Higuchi
dai at moszumanska.debian.org
Tue May 24 13:35:08 UTC 2016
This is an automated email from the git hooks/post-receive script.
dai pushed a commit to branch master
in repository ruby-oauth.
commit 20a0074cd97becfaa8161ad2aac355501fd79002
Author: HIGUCHI Daisuke (VDR dai) <dai at debian.org>
Date: Tue May 24 22:31:37 2016 +0900
Revert 0.5.1, sorry for my going too far.
---
.gemtest | 0
Gemfile | 16 ++
Gemfile.lock | 47 ++++
HISTORY | 173 +++++++++++++
README.rdoc | 16 +-
Rakefile | 37 +++
debian/control | 11 +-
debian/copyright | 2 +-
debian/patches/add_missing_rsa.patch | 41 ----
debian/patches/series | 1 -
debian/ruby-oauth.examples | 1 +
debian/ruby-tests.rb | 14 +-
examples/yql.rb | 44 ++++
lib/digest/hmac.rb | 104 ++++++++
lib/oauth.rb | 4 +-
lib/oauth/cli.rb | 6 +-
lib/oauth/client/helper.rb | 4 -
lib/oauth/client/net_http.rb | 16 +-
lib/oauth/consumer.rb | 14 +-
lib/oauth/helper.rb | 6 +-
.../request_proxy/action_controller_request.rb | 30 +--
lib/oauth/request_proxy/base.rb | 4 +-
lib/oauth/request_proxy/net_http.rb | 2 +-
lib/oauth/request_proxy/rest_client_request.rb | 62 -----
lib/oauth/request_proxy/typhoeus_request.rb | 7 +-
lib/oauth/signature/base.rb | 32 ++-
lib/oauth/signature/hmac/base.rb | 15 ++
lib/oauth/signature/hmac/md5.rb | 8 +
lib/oauth/signature/hmac/rmd160.rb | 8 +
lib/oauth/signature/hmac/sha1.rb | 16 +-
lib/oauth/signature/hmac/sha2.rb | 8 +
lib/oauth/signature/md5.rb | 13 +
lib/oauth/signature/plaintext.rb | 6 -
lib/oauth/signature/rsa/sha1.rb | 10 +-
lib/oauth/signature/sha1.rb | 13 +
lib/oauth/tokens/access_token.rb | 12 -
lib/oauth/tokens/request_token.rb | 7 +-
lib/oauth/tokens/token.rb | 2 +-
lib/oauth/version.rb | 3 -
metadata.yml | 270 +++++++++++++++++++++
oauth.gemspec | 165 +++++++++----
tasks/deployment.rake | 34 +++
tasks/environment.rake | 7 +
tasks/website.rake | 17 ++
test/cases/oauth_case.rb | 4 +-
.../1_0-final/test_normalize_request_parameters.rb | 4 +-
test/integration/consumer_test.rb | 26 +-
test/keys/rsa.cert | 11 +
test/keys/rsa.pem | 16 ++
test/test_access_token.rb | 4 +-
test/test_action_controller_request_proxy.rb | 34 +--
test/test_consumer.rb | 12 +-
test/test_curb_request_proxy.rb | 2 +-
test/test_em_http_client.rb | 2 +-
test/test_em_http_request_proxy.rb | 2 +-
test/test_helper.rb | 11 +-
test/test_hmac_sha1.rb | 2 +-
test/test_net_http_client.rb | 12 +-
test/test_net_http_request_proxy.rb | 2 +-
test/test_oauth_helper.rb | 10 +-
test/test_rack_request_proxy.rb | 2 +-
test/test_request_token.rb | 13 +-
test/test_rest_client_request_proxy.rb | 81 -------
test/test_rsa_sha1.rb | 2 +-
test/test_server.rb | 13 +-
test/test_signature.rb | 19 +-
test/test_signature_base.rb | 12 +-
test/test_signature_hmac_sha1.rb | 40 ---
test/test_signature_plain_text.rb | 2 +-
test/test_token.rb | 2 +-
test/test_typhoeus_request_proxy.rb | 27 +--
71 files changed, 1128 insertions(+), 547 deletions(-)
diff --git a/.gemtest b/.gemtest
new file mode 100644
index 0000000..e69de29
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..c5c59f7
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,16 @@
+source :rubygems
+
+
+group :development do
+ gem 'rake'
+ gem 'jeweler'
+end
+
+group :test do
+ gem 'actionpack', '~>2.3.8'
+ gem 'mocha', '>=0.9.8'
+ gem 'typhoeus', '>=0.1.13'
+ gem 'em-http-request', "0.2.11"
+ gem 'curb', ">= 0.6.6.0"
+ gem 'webmock'
+end
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..dd920ea
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,47 @@
+GEM
+ remote: http://rubygems.org/
+ specs:
+ actionpack (2.3.14)
+ activesupport (= 2.3.14)
+ rack (~> 1.1.0)
+ activesupport (2.3.14)
+ addressable (2.2.7)
+ crack (0.3.1)
+ curb (0.8.0)
+ em-http-request (0.2.11)
+ addressable (>= 2.0.0)
+ eventmachine (>= 0.12.9)
+ eventmachine (0.12.10)
+ git (1.2.5)
+ jeweler (1.8.3)
+ bundler (~> 1.0)
+ git (>= 1.2.5)
+ rake
+ rdoc
+ json (1.6.6)
+ metaclass (0.0.1)
+ mime-types (1.18)
+ mocha (0.11.1)
+ metaclass (~> 0.0.1)
+ rack (1.1.3)
+ rake (0.9.2.2)
+ rdoc (3.12)
+ json (~> 1.4)
+ typhoeus (0.3.3)
+ mime-types
+ webmock (1.8.6)
+ addressable (>= 2.2.7)
+ crack (>= 0.1.7)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ actionpack (~> 2.3.8)
+ curb (>= 0.6.6.0)
+ em-http-request (= 0.2.11)
+ jeweler
+ mocha (>= 0.9.8)
+ rake
+ typhoeus (>= 0.1.13)
+ webmock
diff --git a/HISTORY b/HISTORY
new file mode 100644
index 0000000..a48db07
--- /dev/null
+++ b/HISTORY
@@ -0,0 +1,173 @@
+=== 0.4.7 2012-09-03
+
+* Fix merging paths if the path is not empty
+* Set a configurable timeout for all requests (Rick Olson)
+* Fix nested hash params in Consumer#request (Ernie Miller)
+
+=== 0.4.6 2012-04-21
+
+* Fixed nested attributes in #normalize (Shaliko Usubov)
+* Make use the path component of the :site parameter (Jonathon M. Abbott)
+* Fixed post body's being dropped in 1.9 (Steven Hammond)
+* Fixed PUT request handling (Anton Panasenko)
+
+=== 0.4.5 2011-06-25
+
+* Add explicit require for rsa/sha1 (Juris Galang)
+* Use webmock to mock all http-requests in tests (Adrian Feldman)
+* Add gemtest support (Adrian Feldman)
+* Fix POST Requests with Typhoeus proxy (niedhui)
+* Mention Typhoeus require in the README (Kim Ahlström)
+* Fix incorrect hardcoded port (Ian Taylor)
+* Use Net::HTTPGenericRequest (Jakub Kuźma)
+
+=== 0.4.4 2010-10-31
+
+* Fix LoadError rescue in tests: return can't be used in this context (Hans de Graaff)
+* HTTP headers should be strings. (seancribbs)
+* ensure consumer uri gets set back to original config even if an error occurs (Brian Finney)
+* Yahoo uses & to split records in OAuth headers (Brian Finney)
+* Added support for Rails 3 in client/action_controller_request (Pelle)
+
+== 0.4.3 2010-09-01
+
+* Fix for em-http proxy (ichverstehe)
+
+== 0.4.2 2010-08-13
+
+* Fixed compatibility with Ruby 1.9.2 (ecavazos)
+* Fixed the em-http request proxy (Joshua Hull)
+* Fix for oauth proxy string manipulation (Jakub Suder)
+* Added Bundler (rc) Gemfile for easier dev/testing
+
+== 0.4.1 2010-06-16
+
+* Added support for using OAuth with proxies (Marsh Gardiner)
+* Rails 3 Compatibility fixes (Pelle Braendgaard)
+* Fixed load errors on tests for missing (non-required) libraries
+
+== 0.4.0 2010-04-22
+
+* Added computation of oauth_body_hash as per OAuth Request Body Hash 1.0
+ Draft 4 (Michael Reinsch)
+* Added the optional `oauth_session_handle` parameter for the Yahoo implementation (Will Bailey)
+* Better marshalling implementation (Yoan Blanc)
+* Added optional block to OAuth::Consumer.get_*_token (Neill Pearman)
+* Exclude `oauth_callback` with :exclude_callback (Neill Pearman)
+* Strip extraneous spaces and line breaks from access_token responses
+ (observed in the wild with Yahoo!'s OAuth+OpenID hybrid) (Eric Hartmann)
+* Stop double-escaping PLAINTEXT signatures (Jimmy Zimmerman)
+* OAuth::Client::Helper won't override the specified `oauth_version`
+ (Philip Kromer)
+* Support for Ruby 1.9 (Aaron Quint, Corey Donahoe, et al)
+* Fixed an encoding / multibyte issue (成田 一生)
+* Replaced hoe with Jeweler (Aaron Quint)
+* Support for Typhoeus (Bill Kocik)
+* Support for em-http (EventMachine) (Darcy Laycock)
+* Support for curb (André Luis Leal Cardoso Junior)
+* New website (Aaron Quint)
+
+== 0.3.6 2009-09-14
+
+* Added -B CLI option to use the :body authentication scheme (Seth)
+* Respect `--method` in `authorize` CLI command (Seth)
+* Support POST and PUT with raw bodies (Yu-Shan Fung et al)
+* Test clean-up (Xavier Shay, Hannes Tydén)
+* Added :ca_file consumer option to allow consumer specific certificate
+ override. (Pelle)
+
+== 0.3.5 2009-06-03
+
+* `query` CLI command to access protected resources (Seth)
+* Added -H, -Q CLI options for specifying the authentication scheme (Seth)
+* Added -O CLI option for specifying a file containing options (Seth)
+* Support streamable body contents for large request bodies (Seth Cousins)
+* Support for OAuth 1.0a (Seth)
+* Added proxy support to OAuth::Consumer (Marshall Huss)
+* Added --scope CLI option for Google's 'scope' parameter (Seth)
+
+== 0.3.4 2009-05-06
+
+* OAuth::Client::Helper uses OAuth::VERSION (chadisfaction)
+* Fix OAuth::RequestProxy::ActionControllerRequest's handling of params
+ (Tristan Groléat)
+
+== 0.3.3 2009-05-04
+
+* Corrected OAuth XMPP namespace (Seth)
+* Improved error handling for invalid Authorization headers (Matt Sanford)
+* Fixed signatures for non-ASCII under $KCODE other than 'u' (Matt Sanford)
+* Fixed edge cases in ActionControllerRequestProxy where params were being
+ incorrectly signed (Marcos Wright Kuhns)
+* Support for arguments in OAuth::Consumer#get_access_token (Matt Sanford)
+* Add gem version to user-agent header (Matt Sanford)
+* Handle input from aggressive form encoding libraries (Matt Wood)
+
+== 0.3.2 2009-03-23
+
+* 2xx statuses should be treated as success (Anders Conbere)
+* Support applications using the MethodOverride Rack middleware (László Bácsi)
+* `authorize` command for `oauth` CLI (Seth)
+* Initial support for Problem Reporting extension (Seth)
+* Verify SSL certificates if CA certificates are available (Seth)
+* Fixed ActionController parameter escaping behavior (Thiago Arrais, László
+ Bácsi, Brett Gibson, et al)
+* Fixed signature calculation when both options and a block were provided to
+ OAuth::Signature::Base#initialize (Seth)
+* Added help to the 'oauth' CLI (Seth)
+* Fixed a problem when attempting to normalize MockRequest URIs (Seth)
+
+== 0.3.1 2009-1-26
+
+* Fixed a problem with relative and absolute token request paths. (Michael
+ Wood)
+
+== 0.3.0 2009-1-25
+
+* Support ActionController::Request from Edge Rails (László Bácsi)
+* Correctly handle multi-valued parameters (Seth)
+* Added #normalized_parameters to OAuth::RequestProxy::Base (Pelle)
+* OAuth::Signature.sign and friends now yield the RequestProxy instead of the
+ token when the passed block's arity is 1. (Seth)
+* Token requests are made to the configured URL rather than generating a
+ potentially incorrect one. (Kellan Elliott-McCrea)
+* Command-line app for generating signatures. (Seth)
+* Improved test-cases and compatibility for encoding issues. (Pelle)
+
+== 0.2.7 2008-9-10 The lets fix the last release release
+
+* Fixed plain text signatures (Andrew Arrow)
+* Fixed RSA requests using OAuthTokens. (Philip Lipu Tsai)
+
+== 0.2.6 2008-9-9 The lets RSA release
+
+* Improved support for Ruby 1.8.7 (Bill Kocik)
+* Fixed RSA verification to support RSA providers
+ now using Ruby and RSA
+* Improved RSA testing
+* Omit token when signing with RSA
+* Added support for 'private_key_file' option for RSA signatures (Chris Mear)
+* Fixed several edge cases where params were being incorrectly signed (Scott
+ Hill)
+* Fixed RSA signing (choonkeat)
+
+== 0.2.2 2008-2-22 Lets actually support SSL release
+
+* Use HTTPS when required.
+
+== 0.2 2008-1-19 All together now release
+
+This is a big release, where we have merged the efforts of various parties into one common library.
+This means there are definitely some API changes you should be aware of. They should be minimal
+but please have a look at the unit tests.
+
+== 0.1.2 2007-12-1
+
+* Fixed checks for missing OAuth params to improve performance
+* Includes Pat's fix for getting the realm out.
+
+== 0.1.1 2007-11-26
+
+* First release as a GEM
+* Moved all non-Rails functionality from the Rails plugin:
+ http://code.google.com/p/oauth-plugin/
diff --git a/README.rdoc b/README.rdoc
index 5b7134b..5932a24 100644
--- a/README.rdoc
+++ b/README.rdoc
@@ -10,7 +10,7 @@ See the OAuth specs http://oauth.net/core/1.0/
sudo gem install oauth
-The source code is now hosted on the OAuth GitHub Project http://github.com/oauth-xx/oauth-ruby
+The source code is now hosted on the OAuth GitHub Project http://github.com/oauth/oauth-ruby
== The basics
@@ -44,9 +44,9 @@ Now that you have an access token, you can use Typhoeus to interact with the OAu
require 'oauth/request_proxy/typhoeus_request'
oauth_params = {:consumer => oauth_consumer, :token => access_token}
hydra = Typhoeus::Hydra.new
- req = Typhoeus::Request.new(uri, options) # :method needs to be specified in options
+ req = Typhoeus::Request.new(uri, options)
oauth_helper = OAuth::Client::Helper.new(req, oauth_params.merge(:request_uri => uri))
- req.options[:headers].merge!({"Authorization" => oauth_helper.header}) # Signs the request
+ req.headers.merge!({"Authorization" => oauth_helper.header}) # Signs the request
hydra.queue(req)
hydra.run
@response = req.response
@@ -54,22 +54,22 @@ Now that you have an access token, you can use Typhoeus to interact with the OAu
== More Information
-* RDoc: http://rdoc.info/github/oauth-xx/oauth-ruby/master/frames
+* RDoc: http://rdoc.info/projects/oauth/oauth-ruby/
* Mailing List/Google Group: http://groups.google.com/group/oauth-ruby
== How to submit patches
-The source code is now hosted on the OAuth GitHub Project http://github.com/oauth-xx/oauth-ruby
+The source code is now hosted on the OAuth GitHub Project http://github.com/oauth/oauth-ruby
To submit a patch, please fork the oauth project and create a patch with tests. Once you're happy with it send a pull request and post a message to the google group.
== License
-This code is free to use under the terms of the MIT license.
+This code is free to use under the terms of the MIT license.
== Contact
-OAuth Ruby has been created and maintained by a large number of talented individuals.
+OAuth Ruby has been created and maintained by a large number of talented individuals.
The current maintainer is Aaron Quint (quirkey).
-Comments are welcome. Send an email to via the OAuth Ruby mailing list http://groups.google.com/group/oauth-ruby
+Comments are welcome. Send an email to via the OAuth Ruby mailing list http://groups.google.com/group/oauth-ruby
\ No newline at end of file
diff --git a/Rakefile b/Rakefile
new file mode 100644
index 0000000..17782d1
--- /dev/null
+++ b/Rakefile
@@ -0,0 +1,37 @@
+%w[rubygems rake rake/clean rake/testtask fileutils].each { |f| require f }
+$LOAD_PATH << File.dirname(__FILE__) + '/lib'
+require 'oauth'
+
+begin
+ require 'jeweler'
+ Jeweler::Tasks.new do |s|
+ s.name = %q{oauth}
+ s.version = OAuth::VERSION
+ s.authors = ["Pelle Braendgaard", "Blaine Cook", "Larry Halff", "Jesse Clark", "Jon Crosby", "Seth Fitzsimmons", "Matt Sanford", "Aaron Quint"]
+ s.email = "oauth-ruby at googlegroups.com"
+ s.description = "OAuth Core Ruby implementation"
+ s.summary = s.description
+ s.rubyforge_project = %q{oauth}
+ s.add_development_dependency(%q<actionpack>, [">=2.3.5"])
+ s.add_development_dependency(%q<rack>, [">= 1.0.0"])
+ s.add_development_dependency(%q<mocha>, [">= 0.9.8"])
+ s.add_development_dependency(%q<typhoeus>, [">= 0.1.13"])
+ s.add_development_dependency(%q<em-http-request>, [">= 0.2.10"])
+ s.add_development_dependency(%q<curb>, [">= 0.6.6.0"])
+
+ s.files.include '.gemtest'
+ end
+ Jeweler::GemcutterTasks.new
+rescue LoadError
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
+end
+
+Rake::TestTask.new do |t|
+ t.libs << "test"
+ t.test_files = FileList['test/**/*test*.rb']
+ t.verbose = true
+end
+
+Dir['tasks/**/*.rake'].each { |t| load t }
+
+task :default => :test
diff --git a/debian/control b/debian/control
index 674a7fd..d8da30a 100644
--- a/debian/control
+++ b/debian/control
@@ -5,17 +5,8 @@ Maintainer: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers at lists.al
Uploaders: Taku YASUI <tach at debian.org>
Build-Depends: debhelper (>= 9~),
gem2deb,
- ruby-actionpack,
- ruby-byebug,
- ruby-curb,
- ruby-mocha,
- ruby-typhoeus,
- ruby-rack-test,
- ruby-webmock,
- ruby-activesupport,
- ruby-rest-client,
rake
-Standards-Version: 3.9.8
+Standards-Version: 3.9.7
Vcs-Git: https://anonscm.debian.org/git/pkg-ruby-extras/ruby-oauth.git
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-ruby-extras/ruby-oauth.git
Homepage: https://github.com/oauth-xx/oauth-ruby
diff --git a/debian/copyright b/debian/copyright
index 950a726..9384acf 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,7 +1,7 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: OAuth
Upstream-Contact: Blaine Cook, Larry Halff, Pelle Braendgaard
-Source: https://github.com/oauth-xx/oauth-ruby
+Source: http://rubygems.org/gems/oauth
Files: *
Copyright: Copyright (c) 2007 Blaine Cook, Larry Halff, Pelle Braendgaard
diff --git a/debian/patches/add_missing_rsa.patch b/debian/patches/add_missing_rsa.patch
deleted file mode 100644
index 0285520..0000000
--- a/debian/patches/add_missing_rsa.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Description: Add missing RSA files
-Author: HIGUCHI Daisuke (VDR dai) <dai at debian.org>
-Last-Update: 2016-05-22
-
-Index: ruby-oauth/test/keys/rsa.cert
-===================================================================
---- /dev/null
-+++ ruby-oauth/test/keys/rsa.cert
-@@ -0,0 +1,11 @@
-+-----BEGIN CERTIFICATE-----
-+MIIBpjCCAQ+gAwIBAgIBATANBgkqhkiG9w0BAQUFADAZMRcwFQYDVQQDDA5UZXN0
-+IFByaW5jaXBhbDAeFw03MDAxMDEwODAwMDBaFw0zODEyMzEwODAwMDBaMBkxFzAV
-+BgNVBAMMDlRlc3QgUHJpbmNpcGFsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
-+gQC0YjCwIfYoprq/FQO6lb3asXrxLlJFuCvtinTF5p0GxvQGu5O3gYytUvtC2JlY
-+zypSRjVxwxrsuRcP3e641SdASwfrmzyvIgP08N4S0IFzEURkV1wp/IpH7kH41Etb
-+mUmrXSwfNZsnQRE5SYSOhh+LcK2wyQkdgcMv11l4KoBkcwIDAQABMA0GCSqGSIb3
-+DQEBBQUAA4GBAGZLPEuJ5SiJ2ryq+CmEGOXfvlTtEL2nuGtr9PewxkgnOjZpUy+d
-+4TvuXJbNQc8f4AMWL/tO9w0Fk80rWKp9ea8/df4qMq5qlFWlx6yOLQxumNOmECKb
-+WpkUQDIDJEoFUzKMVuJf4KO/FJ345+BNLGgbJ6WujreoM1X/gYfdnJ/J
-+-----END CERTIFICATE-----
-Index: ruby-oauth/test/keys/rsa.pem
-===================================================================
---- /dev/null
-+++ ruby-oauth/test/keys/rsa.pem
-@@ -0,0 +1,16 @@
-+-----BEGIN PRIVATE KEY-----
-+MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALRiMLAh9iimur8V
-+A7qVvdqxevEuUkW4K+2KdMXmnQbG9Aa7k7eBjK1S+0LYmVjPKlJGNXHDGuy5Fw/d
-+7rjVJ0BLB+ubPK8iA/Tw3hLQgXMRRGRXXCn8ikfuQfjUS1uZSatdLB81mydBETlJ
-+hI6GH4twrbDJCR2Bwy/XWXgqgGRzAgMBAAECgYBYWVtleUzavkbrPjy0T5FMou8H
-+X9u2AC2ry8vD/l7cqedtwMPp9k7TubgNFo+NGvKsl2ynyprOZR1xjQ7WgrgVB+mm
-+uScOM/5HVceFuGRDhYTCObE+y1kxRloNYXnx3ei1zbeYLPCHdhxRYW7T0qcynNmw
-+rn05/KO2RLjgQNalsQJBANeA3Q4Nugqy4QBUCEC09SqylT2K9FrrItqL2QKc9v0Z
-+zO2uwllCbg0dwpVuYPYXYvikNHHg+aCWF+VXsb9rpPsCQQDWR9TT4ORdzoj+Nccn
-+qkMsDmzt0EfNaAOwHOmVJ2RVBspPcxt5iN4HI7HNeG6U5YsFBb+/GZbgfBT3kpNG
-+WPTpAkBI+gFhjfJvRw38n3g/+UeAkwMI2TJQS4n8+hid0uus3/zOjDySH3XHCUno
-+cn1xOJAyZODBo47E+67R4jV1/gzbAkEAklJaspRPXP877NssM5nAZMU0/O/NGCZ+
-+3jPgDUno6WbJn5cqm8MqWhW1xGkImgRk+fkDBquiq4gPiT898jusgQJAd5Zrr6Q8
-+AO/0isr/3aa6O6NLQxISLKcPDk2NOccAfS/xOtfOz4sJYM3+Bs4Io9+dZGSDCA54
-+Lw03eHTNQghS0A==
-+-----END PRIVATE KEY-----
diff --git a/debian/patches/series b/debian/patches/series
deleted file mode 100644
index 8699276..0000000
--- a/debian/patches/series
+++ /dev/null
@@ -1 +0,0 @@
-add_missing_rsa.patch
diff --git a/debian/ruby-oauth.examples b/debian/ruby-oauth.examples
new file mode 100644
index 0000000..466522f
--- /dev/null
+++ b/debian/ruby-oauth.examples
@@ -0,0 +1 @@
+examples/*.rb
diff --git a/debian/ruby-tests.rb b/debian/ruby-tests.rb
index c64ad24..eac5ce6 100644
--- a/debian/ruby-tests.rb
+++ b/debian/ruby-tests.rb
@@ -1 +1,13 @@
-Dir['test/**/*.rb'].each { |f| require f }
+# FIXME
+# there's a spec/ or a test/ directory in the upstream source, but
+# no test suite was defined in the Gem specification. It would be
+# a good idea to define it here so the package gets tested at build time.
+# Examples:
+# $: << 'lib' << '.'
+# Dir['{spec,test}/**/*.rb'].each { |f| require f }
+#
+# require 'test/ts_foo.rb'
+#
+# require 'rbconfig'
+# ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
+# exec("#{ruby} -I. test/runtests.rb")
diff --git a/examples/yql.rb b/examples/yql.rb
new file mode 100755
index 0000000..41bb1f2
--- /dev/null
+++ b/examples/yql.rb
@@ -0,0 +1,44 @@
+#!/usr/bin/env ruby -rubygems
+
+# Sample queries:
+# ./yql.rb --consumer-key <key> --consumer-secret <secret> "show tables"
+# ./yql.rb --consumer-key <key> --consumer-secret <secret> "select * from flickr.photos.search where text='Cat' limit 10"
+
+require 'oauth'
+require 'optparse'
+require 'json'
+require 'pp'
+
+options = {}
+
+option_parser = OptionParser.new do |opts|
+ opts.banner = "Usage: #{$0} [options] <query>"
+
+ opts.on("--consumer-key KEY", "Specifies the consumer key to use.") do |v|
+ options[:consumer_key] = v
+ end
+
+ opts.on("--consumer-secret SECRET", "Specifies the consumer secret to use.") do |v|
+ options[:consumer_secret] = v
+ end
+end
+
+option_parser.parse!
+query = ARGV.pop
+query = STDIN.read if query == "-"
+
+if options[:consumer_key].nil? || options[:consumer_secret].nil? || query.nil?
+ puts option_parser.help
+ exit 1
+end
+
+consumer = OAuth::Consumer.new \
+ options[:consumer_key],
+ options[:consumer_secret],
+ :site => "http://query.yahooapis.com"
+
+access_token = OAuth::AccessToken.new(consumer)
+
+response = access_token.request(:get, "/v1/yql?q=#{OAuth::Helper.escape(query)}&format=json")
+rsp = JSON.parse(response.body)
+pp rsp
diff --git a/lib/digest/hmac.rb b/lib/digest/hmac.rb
new file mode 100644
index 0000000..28711db
--- /dev/null
+++ b/lib/digest/hmac.rb
@@ -0,0 +1,104 @@
+# = digest/hmac.rb
+#
+# An implementation of HMAC keyed-hashing algorithm
+#
+# == Overview
+#
+# This library adds a method named hmac() to Digest classes, which
+# creates a Digest class for calculating HMAC digests.
+#
+# == Examples
+#
+# require 'digest/hmac'
+#
+# # one-liner example
+# puts Digest::HMAC.hexdigest("data", "hash key", Digest::SHA1)
+#
+# # rather longer one
+# hmac = Digest::HMAC.new("foo", Digest::RMD160)
+#
+# buf = ""
+# while stream.read(16384, buf)
+# hmac.update(buf)
+# end
+#
+# puts hmac.bubblebabble
+#
+# == License
+#
+# Copyright (c) 2006 Akinori MUSHA <knu at iDaemons.org>
+#
+# Documentation by Akinori MUSHA
+#
+# All rights reserved. You can redistribute and/or modify it under
+# the same terms as Ruby.
+#
+# $Id: hmac.rb 14881 2008-01-04 07:26:14Z akr $
+#
+
+require 'digest'
+
+unless defined?(Digest::HMAC)
+ module Digest
+ class HMAC < Digest::Class
+ def initialize(key, digester)
+ @md = digester.new
+
+ block_len = @md.block_length
+
+ if key.bytesize > block_len
+ key = @md.digest(key)
+ end
+
+ ipad = Array.new(block_len).fill(0x36)
+ opad = Array.new(block_len).fill(0x5c)
+
+ key.bytes.each_with_index { |c, i|
+ ipad[i] ^= c
+ opad[i] ^= c
+ }
+
+ @key = key.freeze
+ @ipad = ipad.inject('') { |s, c| s << c.chr }.freeze
+ @opad = opad.inject('') { |s, c| s << c.chr }.freeze
+ @md.update(@ipad)
+ end
+
+ def initialize_copy(other)
+ @md = other.instance_eval { @md.clone }
+ end
+
+ def update(text)
+ @md.update(text)
+ self
+ end
+ alias << update
+
+ def reset
+ @md.reset
+ @md.update(@ipad)
+ self
+ end
+
+ def finish
+ d = @md.digest!
+ @md.update(@opad)
+ @md.update(d)
+ @md.digest!
+ end
+ private :finish
+
+ def digest_length
+ @md.digest_length
+ end
+
+ def block_length
+ @md.block_length
+ end
+
+ def inspect
+ sprintf('#<%s: key=%s, digest=%s>', self.class.name, @key.inspect, @md.inspect.sub(/^\#<(.*)>$/) { $1 });
+ end
+ end
+ end
+end
diff --git a/lib/oauth.rb b/lib/oauth.rb
index 2a6cfaf..89231f7 100644
--- a/lib/oauth.rb
+++ b/lib/oauth.rb
@@ -1,6 +1,8 @@
$LOAD_PATH << File.dirname(__FILE__) unless $LOAD_PATH.include?(File.dirname(__FILE__))
-require 'oauth/version'
+module OAuth
+ VERSION = "0.4.7"
+end
require 'oauth/oauth'
require 'oauth/core_ext'
diff --git a/lib/oauth/cli.rb b/lib/oauth/cli.rb
index fb04cde..c547f72 100644
--- a/lib/oauth/cli.rb
+++ b/lib/oauth/cli.rb
@@ -57,7 +57,7 @@ module OAuth
oauth_verifier = nil
# get a request token
- request_token = consumer.get_request_token({ :oauth_callback => options[:oauth_callback] }, options[:scope] ? { "scope" => options[:scope] } : {})
+ request_token = consumer.get_request_token({ :oauth_callback => options[:oauth_callback] }, { "scope" => options[:scope] })
if request_token.callback_confirmed?
stdout.puts "Server appears to support OAuth 1.0a; enabling support."
@@ -107,7 +107,7 @@ module OAuth
uri.query = [uri.query, *params].reject { |x| x.nil? } * "&"
p uri.to_s
- response = access_token.request(options[:method].to_s.downcase.to_sym, uri.to_s)
+ response = access_token.request(options[:method].downcase.to_sym, uri.to_s)
puts "#{response.code} #{response.message}"
puts response.body
when "sign"
@@ -268,7 +268,7 @@ module OAuth
options[:uri] = v
end
- opts.on("--version [VERSION]", "Specifies the OAuth version to use.") do |v|
+ opts.on(:OPTIONAL, "--version VERSION", "Specifies the OAuth version to use.") do |v|
if v
options[:oauth_version] = v
else
diff --git a/lib/oauth/client/helper.rb b/lib/oauth/client/helper.rb
index 6c8b19b..97241d3 100644
--- a/lib/oauth/client/helper.rb
+++ b/lib/oauth/client/helper.rb
@@ -56,10 +56,6 @@ module OAuth::Client
:parameters => oauth_parameters}.merge(extra_options) )
end
- def token_request?
- @options[:token_request].eql?(true)
- end
-
def hash_body
@options[:body_hash] = OAuth::Signature.body_hash(@request, :parameters => oauth_parameters)
end
diff --git a/lib/oauth/client/net_http.rb b/lib/oauth/client/net_http.rb
index 6a47690..998320e 100644
--- a/lib/oauth/client/net_http.rb
+++ b/lib/oauth/client/net_http.rb
@@ -21,8 +21,7 @@ class Net::HTTPGenericRequest
# This method also modifies the <tt>User-Agent</tt> header to add the OAuth gem version.
#
# See Also: {OAuth core spec version 1.0, section 5.4.1}[http://oauth.net/core/1.0#rfc.section.5.4.1],
- # {OAuth Request Body Hash 1.0 Draft 4}[http://oauth.googlecode.com/svn/spec/ext/body_hash/1.0/drafts/4/spec.html,
- # http://oauth.googlecode.com/svn/spec/ext/body_hash/1.0/oauth-bodyhash.html#when_to_include]
+ # {OAuth Request Body Hash 1.0 Draft 4}[http://oauth.googlecode.com/svn/spec/ext/body_hash/1.0/drafts/4/spec.html]
def oauth!(http, consumer = nil, token = nil, options = {})
helper_options = oauth_helper_options(http, consumer, token, options)
@oauth_helper = OAuth::Client::Helper.new(self, helper_options)
@@ -43,14 +42,13 @@ class Net::HTTPGenericRequest
# * options - Request-specific options (e.g. +request_uri+, +consumer+, +token+, +scheme+,
# +signature_method+, +nonce+, +timestamp+)
#
- # See Also: {OAuth core spec version 1.0, section 5.4.1}[http://oauth.net/core/1.0#rfc.section.5.4.1],
- # {OAuth Request Body Hash 1.0 Draft 4}[http://oauth.googlecode.com/svn/spec/ext/body_hash/1.0/drafts/4/spec.html,
- # http://oauth.googlecode.com/svn/spec/ext/body_hash/1.0/oauth-bodyhash.html#when_to_include]
+ # See Also: {OAuth core spec version 1.0, section 9.1.1}[http://oauth.net/core/1.0#rfc.section.9.1.1],
+ # {OAuth Request Body Hash 1.0 Draft 4}[http://oauth.googlecode.com/svn/spec/ext/body_hash/1.0/drafts/4/spec.html]
def signature_base_string(http, consumer = nil, token = nil, options = {})
helper_options = oauth_helper_options(http, consumer, token, options)
- @oauth_helper = OAuth::Client::Helper.new(self, helper_options)
- @oauth_helper.hash_body if oauth_body_hash_required?
- @oauth_helper.signature_base_string
+ oauth_helper = OAuth::Client::Helper.new(self, helper_options)
+ oauth_helper.hash_body if oauth_body_hash_required?
+ oauth_helper.signature_base_string
end
private
@@ -86,7 +84,7 @@ private
end
def oauth_body_hash_required?
- !@oauth_helper.token_request? && request_body_permitted? && !content_type.to_s.downcase.start_with?("application/x-www-form-urlencoded")
+ request_body_permitted? && !content_type.to_s.downcase.start_with?("application/x-www-form-urlencoded")
end
def set_oauth_header
diff --git a/lib/oauth/consumer.rb b/lib/oauth/consumer.rb
index b9860a8..d4dd012 100644
--- a/lib/oauth/consumer.rb
+++ b/lib/oauth/consumer.rb
@@ -8,9 +8,9 @@ require 'cgi'
module OAuth
class Consumer
# determine the certificate authority path to verify SSL certs
- CA_FILES = %W(#{ENV['SSL_CERT_FILE']} /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt /usr/share/curl/curl-ca-bundle.crt)
+ CA_FILES = %w(/etc/ssl/certs/ca-certificates.crt /usr/share/curl/curl-ca-bundle.crt)
CA_FILES.each do |ca_file|
- if File.exist?(ca_file)
+ if File.exists?(ca_file)
CA_FILE = ca_file
break
end
@@ -191,7 +191,6 @@ module OAuth
# Creates a request and parses the result as url_encoded. This is used internally for the RequestToken and AccessToken requests.
def token_request(http_method, path, token = nil, request_options = {}, *arguments)
- request_options[:token_request] ||= true
response = request(http_method, path, token, request_options, *arguments)
case response.code.to_i
@@ -235,8 +234,8 @@ module OAuth
end
def request_endpoint
- return nil if @options[:request_endpoint].nil?
- @options[:request_endpoint].to_s
+ return nil if @options[:request_endpoint].nil?
+ @options[:request_endpoint].to_s
end
def scheme
@@ -329,7 +328,7 @@ module OAuth
def create_http_request(http_method, path, *arguments)
http_method = http_method.to_sym
- if [:post, :put, :patch].include?(http_method)
+ if [:post, :put].include?(http_method)
data = arguments.shift
end
@@ -346,9 +345,6 @@ module OAuth
when :put
request = Net::HTTP::Put.new(path,headers)
request["Content-Length"] = '0' # Default to 0
- when :patch
- request = Net::HTTP::Patch.new(path,headers)
- request["Content-Length"] = '0' # Default to 0
when :get
request = Net::HTTP::Get.new(path,headers)
when :delete
diff --git a/lib/oauth/helper.rb b/lib/oauth/helper.rb
index 1208d08..2abec6a 100644
--- a/lib/oauth/helper.rb
+++ b/lib/oauth/helper.rb
@@ -9,9 +9,9 @@ module OAuth
#
# See Also: {OAuth core spec version 1.0, section 5.1}[http://oauth.net/core/1.0#rfc.section.5.1]
def escape(value)
- URI::escape(value.to_s.to_str, OAuth::RESERVED_CHARACTERS)
+ URI::escape(value.to_s, OAuth::RESERVED_CHARACTERS)
rescue ArgumentError
- URI::escape(value.to_s.to_str.force_encoding(Encoding::UTF_8), OAuth::RESERVED_CHARACTERS)
+ URI::escape(value.to_s.force_encoding(Encoding::UTF_8), OAuth::RESERVED_CHARACTERS)
end
# Generate a random key of up to +size+ bytes. The value returned is Base64 encoded with non-word
@@ -49,7 +49,7 @@ module OAuth
end
end * "&"
end
-
+
#Returns a string representation of the Hash like in URL query string
# build_nested_query({:level_1 => {:level_2 => ['value_1','value_2']}}, 'prefix'))
# #=> ["prefix%5Blevel_1%5D%5Blevel_2%5D%5B%5D=value_1", "prefix%5Blevel_1%5D%5Blevel_2%5D%5B%5D=value_2"]
diff --git a/lib/oauth/request_proxy/action_controller_request.rb b/lib/oauth/request_proxy/action_controller_request.rb
index dadfea4..39ecd5b 100644
--- a/lib/oauth/request_proxy/action_controller_request.rb
+++ b/lib/oauth/request_proxy/action_controller_request.rb
@@ -1,35 +1,11 @@
require 'active_support'
-require "active_support/version"
require 'action_controller'
+require 'action_controller/request'
require 'uri'
-if
- Gem::Version.new(ActiveSupport::VERSION::STRING) < Gem::Version.new("3")
-then # rails 2.x
- require 'action_controller/request'
- unless ActionController::Request::HTTP_METHODS.include?("patch")
- ActionController::Request::HTTP_METHODS << "patch"
- ActionController::Request::HTTP_METHOD_LOOKUP["PATCH"] = :patch
- ActionController::Request::HTTP_METHOD_LOOKUP["patch"] = :patch
- end
-
-elsif
- Gem::Version.new(ActiveSupport::VERSION::STRING) < Gem::Version.new("4")
-then # rails 3.x
- require 'action_dispatch/http/request'
- unless ActionDispatch::Request::HTTP_METHODS.include?("patch")
- ActionDispatch::Request::HTTP_METHODS << "patch"
- ActionDispatch::Request::HTTP_METHOD_LOOKUP["PATCH"] = :patch
- ActionDispatch::Request::HTTP_METHOD_LOOKUP["patch"] = :patch
- end
-
-else # rails 4.x - already has patch
- require 'action_dispatch/http/request'
-end
-
module OAuth::RequestProxy
class ActionControllerRequest < OAuth::RequestProxy::Base
- proxies(defined?(ActionDispatch::AbstractRequest) ? ActionDispatch::AbstractRequest : ActionDispatch::Request)
+ proxies(defined?(ActionController::AbstractRequest) ? ActionController::AbstractRequest : ActionController::Request)
def method
request.method.to_s.upcase
@@ -67,7 +43,7 @@ module OAuth::RequestProxy
params.
join('&').split('&').
- reject { |s| s.match(/\A\s*\z/) }.
+ reject(&:blank?).
map { |p| p.split('=').map{|esc| CGI.unescape(esc)} }.
reject { |kv| kv[0] == 'oauth_signature'}
end
diff --git a/lib/oauth/request_proxy/base.rb b/lib/oauth/request_proxy/base.rb
index 4ffd848..039ef5e 100644
--- a/lib/oauth/request_proxy/base.rb
+++ b/lib/oauth/request_proxy/base.rb
@@ -143,10 +143,10 @@ module OAuth::RequestProxy
end
def query_string_blank?
- if uri = request.env['REQUEST_URI']
+ if uri = request.request_uri
uri.split('?', 2)[1].nil?
else
- request.query_string.match(/\A\s*\z/)
+ request.query_string.blank?
end
end
diff --git a/lib/oauth/request_proxy/net_http.rb b/lib/oauth/request_proxy/net_http.rb
index 59d0dbc..23c5c06 100644
--- a/lib/oauth/request_proxy/net_http.rb
+++ b/lib/oauth/request_proxy/net_http.rb
@@ -66,7 +66,7 @@ module OAuth::RequestProxy::Net
def auth_header_params
return nil unless request['Authorization'] && request['Authorization'][0,5] == 'OAuth'
- request['Authorization']
+ auth_params = request['Authorization']
end
end
end
diff --git a/lib/oauth/request_proxy/rest_client_request.rb b/lib/oauth/request_proxy/rest_client_request.rb
deleted file mode 100644
index b49e24a..0000000
--- a/lib/oauth/request_proxy/rest_client_request.rb
+++ /dev/null
@@ -1,62 +0,0 @@
-require 'oauth/request_proxy/base'
-require 'rest-client'
-require 'uri'
-require 'cgi'
-
-module OAuth::RequestProxy::RestClient
- class Request < OAuth::RequestProxy::Base
- proxies RestClient::Request
-
- def method
- request.method.to_s.upcase
- end
-
- def uri
- request.url
- end
-
- def parameters
- if options[:clobber_request]
- options[:parameters] || {}
- else
- post_parameters.merge(query_params).merge(options[:parameters] || {})
- end
- end
-
- protected
-
- def query_params
- query = URI.parse(request.url).query
- query ? CGI.parse(query) : {}
- end
-
- def request_params
- end
-
- def post_parameters
- # Post params are only used if posting form data
- if method == 'POST' || method == 'PUT'
- OAuth::Helper.stringify_keys(query_string_to_hash(request.payload.to_s) || {})
- else
- {}
- end
- end
-
- private
-
- def query_string_to_hash(query)
- keyvals = query.split('&').inject({}) do |result, q|
- k,v = q.split('=')
- if !v.nil?
- result.merge({k => v})
- elsif !result.key?(k)
- result.merge({k => true})
- else
- result
- end
- end
- keyvals
- end
-
- end
-end
\ No newline at end of file
diff --git a/lib/oauth/request_proxy/typhoeus_request.rb b/lib/oauth/request_proxy/typhoeus_request.rb
index ebcb354..d72a5e9 100644
--- a/lib/oauth/request_proxy/typhoeus_request.rb
+++ b/lib/oauth/request_proxy/typhoeus_request.rb
@@ -11,7 +11,7 @@ module OAuth::RequestProxy::Typhoeus
# oauth_params = {:consumer => oauth_consumer, :token => access_token}
# req = Typhoeus::Request.new(uri, options)
# oauth_helper = OAuth::Client::Helper.new(req, oauth_params.merge(:request_uri => uri))
- # req.options[:headers].merge!({"Authorization" => oauth_helper.header})
+ # req.headers.merge!({"Authorization" => oauth_helper.header})
# hydra = Typhoeus::Hydra.new()
# hydra.queue(req)
# hydra.run
@@ -19,8 +19,7 @@ module OAuth::RequestProxy::Typhoeus
proxies Typhoeus::Request
def method
- request_method = request.options[:method].to_s.upcase
- request_method.empty? ? 'GET' : request_method
+ request.method.to_s.upcase
end
def uri
@@ -45,7 +44,7 @@ module OAuth::RequestProxy::Typhoeus
def post_parameters
# Post params are only used if posting form data
if method == 'POST'
- OAuth::Helper.stringify_keys(request.options[:params] || {})
+ OAuth::Helper.stringify_keys(request.params || {})
else
{}
end
diff --git a/lib/oauth/signature/base.rb b/lib/oauth/signature/base.rb
index b8ab8fe..8d1f5cb 100644
--- a/lib/oauth/signature/base.rb
+++ b/lib/oauth/signature/base.rb
@@ -16,6 +16,21 @@ module OAuth::Signature
OAuth::Signature.available_methods[@implements] = self
end
+ def self.digest_class(digest_class = nil)
+ return @digest_class if digest_class.nil?
+ @digest_class = digest_class
+ end
+
+ def self.digest_klass(digest_klass = nil)
+ return @digest_klass if digest_klass.nil?
+ @digest_klass = digest_klass
+ end
+
+ def self.hash_class(hash_class = nil)
+ return @hash_class if hash_class.nil?
+ @hash_class = hash_class
+ end
+
def initialize(request, options = {}, &block)
raise TypeError unless request.kind_of?(OAuth::RequestProxy::Base)
@request = request
@@ -51,7 +66,7 @@ module OAuth::Signature
end
def ==(cmp_signature)
- signature == cmp_signature
+ Base64.decode64(signature) == Base64.decode64(cmp_signature)
end
def verify
@@ -63,10 +78,14 @@ module OAuth::Signature
end
def body_hash
- raise_instantiation_error
+ if self.class.hash_class
+ Base64.encode64(self.class.hash_class.digest(request.body || '')).chomp.gsub(/\n/,'')
+ else
+ nil # no body hash algorithm defined, so don't generate one
+ end
end
- private
+ private
def token
request.token
@@ -85,12 +104,7 @@ module OAuth::Signature
end
def digest
- raise_instantiation_error
+ self.class.digest_class.digest(signature_base_string)
end
-
- def raise_instantiation_error
- raise NotImplementedError, "Cannot instantiate #{self.class.name} class directly."
- end
-
end
end
diff --git a/lib/oauth/signature/hmac/base.rb b/lib/oauth/signature/hmac/base.rb
new file mode 100644
index 0000000..18eb1f2
--- /dev/null
+++ b/lib/oauth/signature/hmac/base.rb
@@ -0,0 +1,15 @@
+# -*- encoding: utf-8 -*-
+
+require 'oauth/signature/base'
+require 'digest/hmac'
+
+module OAuth::Signature::HMAC
+ class Base < OAuth::Signature::Base
+
+ private
+ def digest
+ self.class.digest_class Object.module_eval("::Digest::#{self.class.digest_klass}")
+ Digest::HMAC.digest(signature_base_string, secret, self.class.digest_class)
+ end
+ end
+end
diff --git a/lib/oauth/signature/hmac/md5.rb b/lib/oauth/signature/hmac/md5.rb
new file mode 100644
index 0000000..15d6db4
--- /dev/null
+++ b/lib/oauth/signature/hmac/md5.rb
@@ -0,0 +1,8 @@
+require 'oauth/signature/hmac/base'
+
+module OAuth::Signature::HMAC
+ class MD5 < Base
+ implements 'hmac-md5'
+ digest_class 'MD5'
+ end
+end
diff --git a/lib/oauth/signature/hmac/rmd160.rb b/lib/oauth/signature/hmac/rmd160.rb
new file mode 100644
index 0000000..b8dc3c3
--- /dev/null
+++ b/lib/oauth/signature/hmac/rmd160.rb
@@ -0,0 +1,8 @@
+require 'oauth/signature/hmac/base'
+
+module OAuth::Signature::HMAC
+ class RMD160 < Base
+ implements 'hmac-rmd160'
+ digest_klass 'RMD160'
+ end
+end
diff --git a/lib/oauth/signature/hmac/sha1.rb b/lib/oauth/signature/hmac/sha1.rb
index ccddf41..dd0b2af 100644
--- a/lib/oauth/signature/hmac/sha1.rb
+++ b/lib/oauth/signature/hmac/sha1.rb
@@ -1,17 +1,9 @@
-require 'oauth/signature/base'
+require 'oauth/signature/hmac/base'
module OAuth::Signature::HMAC
- class SHA1 < OAuth::Signature::Base
+ class SHA1 < Base
implements 'hmac-sha1'
-
- def body_hash
- Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || '')).chomp.gsub(/\n/,'')
- end
-
- private
-
- def digest
- OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha1'), secret, signature_base_string)
- end
+ digest_klass 'SHA1'
+ hash_class ::Digest::SHA1
end
end
diff --git a/lib/oauth/signature/hmac/sha2.rb b/lib/oauth/signature/hmac/sha2.rb
new file mode 100644
index 0000000..4954136
--- /dev/null
+++ b/lib/oauth/signature/hmac/sha2.rb
@@ -0,0 +1,8 @@
+require 'oauth/signature/hmac/base'
+
+module OAuth::Signature::HMAC
+ class SHA2 < Base
+ implements 'hmac-sha2'
+ digest_klass 'SHA2'
+ end
+end
diff --git a/lib/oauth/signature/md5.rb b/lib/oauth/signature/md5.rb
new file mode 100644
index 0000000..620f6f7
--- /dev/null
+++ b/lib/oauth/signature/md5.rb
@@ -0,0 +1,13 @@
+require 'oauth/signature/base'
+require 'digest/md5'
+
+module OAuth::Signature
+ class MD5 < Base
+ implements 'md5'
+ digest_class Digest::MD5
+
+ def signature_base_string
+ secret + super
+ end
+ end
+end
diff --git a/lib/oauth/signature/plaintext.rb b/lib/oauth/signature/plaintext.rb
index 43c1028..71c445c 100644
--- a/lib/oauth/signature/plaintext.rb
+++ b/lib/oauth/signature/plaintext.rb
@@ -16,12 +16,6 @@ module OAuth::Signature
secret
end
- def body_hash
- nil
- end
-
- private
-
def secret
super
end
diff --git a/lib/oauth/signature/rsa/sha1.rb b/lib/oauth/signature/rsa/sha1.rb
index 276e2e4..018852a 100644
--- a/lib/oauth/signature/rsa/sha1.rb
+++ b/lib/oauth/signature/rsa/sha1.rb
@@ -1,8 +1,10 @@
require 'oauth/signature/base'
+require 'openssl'
module OAuth::Signature::RSA
class SHA1 < OAuth::Signature::Base
implements 'rsa-sha1'
+ hash_class ::Digest::SHA1
def ==(cmp_signature)
public_key.verify(OpenSSL::Digest::SHA1.new, Base64.decode64(cmp_signature.is_a?(Array) ? cmp_signature.first : cmp_signature), signature_base_string)
@@ -18,11 +20,7 @@ module OAuth::Signature::RSA
end
end
- def body_hash
- Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || '')).chomp.gsub(/\n/,'')
- end
-
- private
+ private
def decode_public_key
case consumer_secret
@@ -37,8 +35,6 @@ module OAuth::Signature::RSA
private_key = OpenSSL::PKey::RSA.new(
if options[:private_key_file]
IO.read(options[:private_key_file])
- elsif options[:private_key]
- options[:private_key]
else
consumer_secret
end
diff --git a/lib/oauth/signature/sha1.rb b/lib/oauth/signature/sha1.rb
new file mode 100644
index 0000000..40493e2
--- /dev/null
+++ b/lib/oauth/signature/sha1.rb
@@ -0,0 +1,13 @@
+require 'oauth/signature/base'
+require 'digest/sha1'
+
+module OAuth::Signature
+ class SHA1 < Base
+ implements 'sha1'
+ digest_class Digest::SHA1
+
+ def signature_base_string
+ secret + super
+ end
+ end
+end
diff --git a/lib/oauth/tokens/access_token.rb b/lib/oauth/tokens/access_token.rb
index 35a2ef7..8d3f01b 100644
--- a/lib/oauth/tokens/access_token.rb
+++ b/lib/oauth/tokens/access_token.rb
@@ -59,18 +59,6 @@ module OAuth
request(:put, path, body, headers)
end
- # Make a regular PATCH request using AccessToken
- #
- # @response = @token.patch('/people/123')
- # @response = @token.patch('/people/123', { :name => 'Bob', :email => 'bob at mailinator.com' })
- # @response = @token.patch('/people/123', { :name => 'Bob', :email => 'bob at mailinator.com' }, { 'Accept' => 'application/xml' })
- # @response = @token.patch('/people/123', nil, { 'Accept' => 'application/xml' })
- # @response = @token.patch('/people/123', @person.to_xml, { 'Accept' => 'application/xml', 'Content-Type' => 'application/xml' })
- #
- def patch(path, body = '', headers = {})
- request(:patch, path, body, headers)
- end
-
# Make a regular DELETE request using AccessToken
#
# @response = @token.delete('/people/123')
diff --git a/lib/oauth/tokens/request_token.rb b/lib/oauth/tokens/request_token.rb
index 39187cd..f2ee654 100644
--- a/lib/oauth/tokens/request_token.rb
+++ b/lib/oauth/tokens/request_token.rb
@@ -5,8 +5,6 @@ module OAuth
# Generate an authorization URL for user authorization
def authorize_url(params = nil)
- return nil if self.token.nil?
-
params = (params || {}).merge(:oauth_token => self.token)
build_authorize_url(consumer.authorize_url, params)
end
@@ -26,11 +24,8 @@ module OAuth
# construct an authorization url
def build_authorize_url(base_url, params)
uri = URI.parse(base_url.to_s)
- queries = {}
- queries = Hash[URI.decode_www_form(uri.query)] if uri.query
# TODO doesn't handle array values correctly
- queries.merge!(params) if params
- uri.query = URI.encode_www_form(queries) if !queries.empty?
+ uri.query = params.map { |k,v| [k, CGI.escape(v)] * "=" } * "&"
uri.to_s
end
end
diff --git a/lib/oauth/tokens/token.rb b/lib/oauth/tokens/token.rb
index 0757396..ff9b5dd 100644
--- a/lib/oauth/tokens/token.rb
+++ b/lib/oauth/tokens/token.rb
@@ -11,7 +11,7 @@ module OAuth
end
def to_query
- "oauth_token=#{escape(token)}&oauth_token_secret=#{escape(secret)}"
+ "oauth_token=#{escape(token)}&oauth_secret=#{escape(secret)}"
end
end
end
diff --git a/lib/oauth/version.rb b/lib/oauth/version.rb
deleted file mode 100644
index 85c2b76..0000000
--- a/lib/oauth/version.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-module OAuth
- VERSION = "0.5.1"
-end
diff --git a/metadata.yml b/metadata.yml
new file mode 100644
index 0000000..604b470
--- /dev/null
+++ b/metadata.yml
@@ -0,0 +1,270 @@
+--- !ruby/object:Gem::Specification
+name: oauth
+version: !ruby/object:Gem::Version
+ version: 0.4.7
+ prerelease:
+platform: ruby
+authors:
+- Pelle Braendgaard
+- Blaine Cook
+- Larry Halff
+- Jesse Clark
+- Jon Crosby
+- Seth Fitzsimmons
+- Matt Sanford
+- Aaron Quint
+autorequire:
+bindir: bin
+cert_chain: []
+date: 2012-09-04 00:00:00.000000000 Z
+dependencies:
+- !ruby/object:Gem::Dependency
+ name: rake
+ requirement: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: '0'
+ type: :development
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: '0'
+- !ruby/object:Gem::Dependency
+ name: jeweler
+ requirement: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: '0'
+ type: :development
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: '0'
+- !ruby/object:Gem::Dependency
+ name: actionpack
+ requirement: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 2.3.5
+ type: :development
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 2.3.5
+- !ruby/object:Gem::Dependency
+ name: rack
+ requirement: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 1.0.0
+ type: :development
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 1.0.0
+- !ruby/object:Gem::Dependency
+ name: mocha
+ requirement: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 0.9.8
+ type: :development
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 0.9.8
+- !ruby/object:Gem::Dependency
+ name: typhoeus
+ requirement: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 0.1.13
+ type: :development
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 0.1.13
+- !ruby/object:Gem::Dependency
+ name: em-http-request
+ requirement: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 0.2.10
+ type: :development
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 0.2.10
+- !ruby/object:Gem::Dependency
+ name: curb
+ requirement: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 0.6.6.0
+ type: :development
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 0.6.6.0
+description: OAuth Core Ruby implementation
+email: oauth-ruby at googlegroups.com
+executables:
+- oauth
+extensions: []
+extra_rdoc_files:
+- LICENSE
+- README.rdoc
+- TODO
+files:
+- .gemtest
+- Gemfile
+- Gemfile.lock
+- HISTORY
+- LICENSE
+- README.rdoc
+- Rakefile
+- TODO
+- bin/oauth
+- examples/yql.rb
+- lib/digest/hmac.rb
+- lib/oauth.rb
+- lib/oauth/cli.rb
+- lib/oauth/client.rb
+- lib/oauth/client/action_controller_request.rb
+- lib/oauth/client/em_http.rb
+- lib/oauth/client/helper.rb
+- lib/oauth/client/net_http.rb
+- lib/oauth/consumer.rb
+- lib/oauth/core_ext.rb
+- lib/oauth/errors.rb
+- lib/oauth/errors/error.rb
+- lib/oauth/errors/problem.rb
+- lib/oauth/errors/unauthorized.rb
+- lib/oauth/helper.rb
+- lib/oauth/oauth.rb
+- lib/oauth/oauth_test_helper.rb
+- lib/oauth/request_proxy.rb
+- lib/oauth/request_proxy/action_controller_request.rb
+- lib/oauth/request_proxy/base.rb
+- lib/oauth/request_proxy/curb_request.rb
+- lib/oauth/request_proxy/em_http_request.rb
+- lib/oauth/request_proxy/jabber_request.rb
+- lib/oauth/request_proxy/mock_request.rb
+- lib/oauth/request_proxy/net_http.rb
+- lib/oauth/request_proxy/rack_request.rb
+- lib/oauth/request_proxy/typhoeus_request.rb
+- lib/oauth/server.rb
+- lib/oauth/signature.rb
+- lib/oauth/signature/base.rb
+- lib/oauth/signature/hmac/base.rb
+- lib/oauth/signature/hmac/md5.rb
+- lib/oauth/signature/hmac/rmd160.rb
+- lib/oauth/signature/hmac/sha1.rb
+- lib/oauth/signature/hmac/sha2.rb
+- lib/oauth/signature/md5.rb
+- lib/oauth/signature/plaintext.rb
+- lib/oauth/signature/rsa/sha1.rb
+- lib/oauth/signature/sha1.rb
+- lib/oauth/token.rb
+- lib/oauth/tokens/access_token.rb
+- lib/oauth/tokens/consumer_token.rb
+- lib/oauth/tokens/request_token.rb
+- lib/oauth/tokens/server_token.rb
+- lib/oauth/tokens/token.rb
+- oauth.gemspec
+- tasks/deployment.rake
+- tasks/environment.rake
+- tasks/website.rake
+- test/cases/oauth_case.rb
+- test/cases/spec/1_0-final/test_construct_request_url.rb
+- test/cases/spec/1_0-final/test_normalize_request_parameters.rb
+- test/cases/spec/1_0-final/test_parameter_encodings.rb
+- test/cases/spec/1_0-final/test_signature_base_strings.rb
+- test/integration/consumer_test.rb
+- test/keys/rsa.cert
+- test/keys/rsa.pem
+- test/test_access_token.rb
+- test/test_action_controller_request_proxy.rb
+- test/test_consumer.rb
+- test/test_curb_request_proxy.rb
+- test/test_em_http_client.rb
+- test/test_em_http_request_proxy.rb
+- test/test_helper.rb
+- test/test_hmac_sha1.rb
+- test/test_net_http_client.rb
+- test/test_net_http_request_proxy.rb
+- test/test_oauth_helper.rb
+- test/test_rack_request_proxy.rb
+- test/test_request_token.rb
+- test/test_rsa_sha1.rb
+- test/test_server.rb
+- test/test_signature.rb
+- test/test_signature_base.rb
+- test/test_signature_plain_text.rb
+- test/test_token.rb
+- test/test_typhoeus_request_proxy.rb
+homepage:
+licenses: []
+post_install_message:
+rdoc_options: []
+require_paths:
+- lib
+required_ruby_version: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: '0'
+required_rubygems_version: !ruby/object:Gem::Requirement
+ none: false
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: '0'
+requirements: []
+rubyforge_project: oauth
+rubygems_version: 1.8.23
+signing_key:
+specification_version: 3
+summary: OAuth Core Ruby implementation
+test_files: []
diff --git a/oauth.gemspec b/oauth.gemspec
index 0994b0f..e46ab4a 100644
--- a/oauth.gemspec
+++ b/oauth.gemspec
@@ -1,65 +1,148 @@
-#########################################################
-# This file has been automatically generated by gem2tgz #
-#########################################################
+# Generated by jeweler
+# DO NOT EDIT THIS FILE DIRECTLY
+# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
# -*- encoding: utf-8 -*-
-# stub: oauth 0.5.1 ruby lib
Gem::Specification.new do |s|
s.name = "oauth"
- s.version = "0.5.1"
+ s.version = "0.4.7"
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
- s.require_paths = ["lib"]
s.authors = ["Pelle Braendgaard", "Blaine Cook", "Larry Halff", "Jesse Clark", "Jon Crosby", "Seth Fitzsimmons", "Matt Sanford", "Aaron Quint"]
- s.date = "2016-02-29"
- s.email = "oauth-ruby at googlegroupspec.com"
+ s.date = "2012-09-04"
+ s.description = "OAuth Core Ruby implementation"
+ s.email = "oauth-ruby at googlegroups.com"
s.executables = ["oauth"]
- s.extra_rdoc_files = ["LICENSE", "README.rdoc", "TODO"]
- s.files = ["LICENSE", "README.rdoc", "TODO", "bin/oauth", "lib/oauth.rb", "lib/oauth/cli.rb", "lib/oauth/client.rb", "lib/oauth/client/action_controller_request.rb", "lib/oauth/client/em_http.rb", "lib/oauth/client/helper.rb", "lib/oauth/client/net_http.rb", "lib/oauth/consumer.rb", "lib/oauth/core_ext.rb", "lib/oauth/errors.rb", "lib/oauth/errors/error.rb", "lib/oauth/errors/problem.rb", "lib/oauth/errors/unauthorized.rb", "lib/oauth/helper.rb", "lib/oauth/oauth.rb", "lib/oauth/oauth_ [...]
- s.licenses = ["MIT"]
- s.rubygems_version = "2.5.1"
+ s.extra_rdoc_files = [
+ "LICENSE",
+ "README.rdoc",
+ "TODO"
+ ]
+ s.files = [
+ ".gemtest",
+ "Gemfile",
+ "Gemfile.lock",
+ "HISTORY",
+ "LICENSE",
+ "README.rdoc",
+ "Rakefile",
+ "TODO",
+ "bin/oauth",
+ "examples/yql.rb",
+ "lib/digest/hmac.rb",
+ "lib/oauth.rb",
+ "lib/oauth/cli.rb",
+ "lib/oauth/client.rb",
+ "lib/oauth/client/action_controller_request.rb",
+ "lib/oauth/client/em_http.rb",
+ "lib/oauth/client/helper.rb",
+ "lib/oauth/client/net_http.rb",
+ "lib/oauth/consumer.rb",
+ "lib/oauth/core_ext.rb",
+ "lib/oauth/errors.rb",
+ "lib/oauth/errors/error.rb",
+ "lib/oauth/errors/problem.rb",
+ "lib/oauth/errors/unauthorized.rb",
+ "lib/oauth/helper.rb",
+ "lib/oauth/oauth.rb",
+ "lib/oauth/oauth_test_helper.rb",
+ "lib/oauth/request_proxy.rb",
+ "lib/oauth/request_proxy/action_controller_request.rb",
+ "lib/oauth/request_proxy/base.rb",
+ "lib/oauth/request_proxy/curb_request.rb",
+ "lib/oauth/request_proxy/em_http_request.rb",
+ "lib/oauth/request_proxy/jabber_request.rb",
+ "lib/oauth/request_proxy/mock_request.rb",
+ "lib/oauth/request_proxy/net_http.rb",
+ "lib/oauth/request_proxy/rack_request.rb",
+ "lib/oauth/request_proxy/typhoeus_request.rb",
+ "lib/oauth/server.rb",
+ "lib/oauth/signature.rb",
+ "lib/oauth/signature/base.rb",
+ "lib/oauth/signature/hmac/base.rb",
+ "lib/oauth/signature/hmac/md5.rb",
+ "lib/oauth/signature/hmac/rmd160.rb",
+ "lib/oauth/signature/hmac/sha1.rb",
+ "lib/oauth/signature/hmac/sha2.rb",
+ "lib/oauth/signature/md5.rb",
+ "lib/oauth/signature/plaintext.rb",
+ "lib/oauth/signature/rsa/sha1.rb",
+ "lib/oauth/signature/sha1.rb",
+ "lib/oauth/token.rb",
+ "lib/oauth/tokens/access_token.rb",
+ "lib/oauth/tokens/consumer_token.rb",
+ "lib/oauth/tokens/request_token.rb",
+ "lib/oauth/tokens/server_token.rb",
+ "lib/oauth/tokens/token.rb",
+ "oauth.gemspec",
+ "tasks/deployment.rake",
+ "tasks/environment.rake",
+ "tasks/website.rake",
+ "test/cases/oauth_case.rb",
+ "test/cases/spec/1_0-final/test_construct_request_url.rb",
+ "test/cases/spec/1_0-final/test_normalize_request_parameters.rb",
+ "test/cases/spec/1_0-final/test_parameter_encodings.rb",
+ "test/cases/spec/1_0-final/test_signature_base_strings.rb",
+ "test/integration/consumer_test.rb",
+ "test/keys/rsa.cert",
+ "test/keys/rsa.pem",
+ "test/test_access_token.rb",
+ "test/test_action_controller_request_proxy.rb",
+ "test/test_consumer.rb",
+ "test/test_curb_request_proxy.rb",
+ "test/test_em_http_client.rb",
+ "test/test_em_http_request_proxy.rb",
+ "test/test_helper.rb",
+ "test/test_hmac_sha1.rb",
+ "test/test_net_http_client.rb",
+ "test/test_net_http_request_proxy.rb",
+ "test/test_oauth_helper.rb",
+ "test/test_rack_request_proxy.rb",
+ "test/test_request_token.rb",
+ "test/test_rsa_sha1.rb",
+ "test/test_server.rb",
+ "test/test_signature.rb",
+ "test/test_signature_base.rb",
+ "test/test_signature_plain_text.rb",
+ "test/test_token.rb",
+ "test/test_typhoeus_request_proxy.rb"
+ ]
+ s.require_paths = ["lib"]
+ s.rubyforge_project = "oauth"
+ s.rubygems_version = "1.8.23"
s.summary = "OAuth Core Ruby implementation"
- s.test_files = ["test/cases/oauth_case.rb", "test/cases/spec/1_0-final/test_construct_request_url.rb", "test/cases/spec/1_0-final/test_normalize_request_parameters.rb", "test/cases/spec/1_0-final/test_parameter_encodings.rb", "test/cases/spec/1_0-final/test_signature_base_strings.rb", "test/integration/consumer_test.rb", "test/test_access_token.rb", "test/test_action_controller_request_proxy.rb", "test/test_consumer.rb", "test/test_curb_request_proxy.rb", "test/test_em_http_client.rb", [...]
if s.respond_to? :specification_version then
- s.specification_version = 4
+ s.specification_version = 3
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
- s.add_development_dependency(%q<actionpack>, [">= 4.0.2"])
- s.add_development_dependency(%q<byebug>, [">= 0"])
- s.add_development_dependency(%q<curb>, [">= 0"])
- s.add_development_dependency(%q<em-http-request>, ["= 0.2.11"])
- s.add_development_dependency(%q<iconv>, [">= 0"])
- s.add_development_dependency(%q<minitest>, [">= 0"])
- s.add_development_dependency(%q<mocha>, [">= 0.9.12"])
- s.add_development_dependency(%q<rack>, [">= 0"])
- s.add_development_dependency(%q<rack-test>, [">= 0"])
s.add_development_dependency(%q<rake>, [">= 0"])
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
+ s.add_development_dependency(%q<actionpack>, [">= 2.3.5"])
+ s.add_development_dependency(%q<rack>, [">= 1.0.0"])
+ s.add_development_dependency(%q<mocha>, [">= 0.9.8"])
s.add_development_dependency(%q<typhoeus>, [">= 0.1.13"])
+ s.add_development_dependency(%q<em-http-request>, [">= 0.2.10"])
+ s.add_development_dependency(%q<curb>, [">= 0.6.6.0"])
else
- s.add_dependency(%q<actionpack>, [">= 4.0.2"])
- s.add_dependency(%q<byebug>, [">= 0"])
- s.add_dependency(%q<curb>, [">= 0"])
- s.add_dependency(%q<em-http-request>, ["= 0.2.11"])
- s.add_dependency(%q<iconv>, [">= 0"])
- s.add_dependency(%q<minitest>, [">= 0"])
- s.add_dependency(%q<mocha>, [">= 0.9.12"])
- s.add_dependency(%q<rack>, [">= 0"])
- s.add_dependency(%q<rack-test>, [">= 0"])
s.add_dependency(%q<rake>, [">= 0"])
+ s.add_dependency(%q<jeweler>, [">= 0"])
+ s.add_dependency(%q<actionpack>, [">= 2.3.5"])
+ s.add_dependency(%q<rack>, [">= 1.0.0"])
+ s.add_dependency(%q<mocha>, [">= 0.9.8"])
s.add_dependency(%q<typhoeus>, [">= 0.1.13"])
+ s.add_dependency(%q<em-http-request>, [">= 0.2.10"])
+ s.add_dependency(%q<curb>, [">= 0.6.6.0"])
end
else
- s.add_dependency(%q<actionpack>, [">= 4.0.2"])
- s.add_dependency(%q<byebug>, [">= 0"])
- s.add_dependency(%q<curb>, [">= 0"])
- s.add_dependency(%q<em-http-request>, ["= 0.2.11"])
- s.add_dependency(%q<iconv>, [">= 0"])
- s.add_dependency(%q<minitest>, [">= 0"])
- s.add_dependency(%q<mocha>, [">= 0.9.12"])
- s.add_dependency(%q<rack>, [">= 0"])
- s.add_dependency(%q<rack-test>, [">= 0"])
s.add_dependency(%q<rake>, [">= 0"])
+ s.add_dependency(%q<jeweler>, [">= 0"])
+ s.add_dependency(%q<actionpack>, [">= 2.3.5"])
+ s.add_dependency(%q<rack>, [">= 1.0.0"])
+ s.add_dependency(%q<mocha>, [">= 0.9.8"])
s.add_dependency(%q<typhoeus>, [">= 0.1.13"])
+ s.add_dependency(%q<em-http-request>, [">= 0.2.10"])
+ s.add_dependency(%q<curb>, [">= 0.6.6.0"])
end
end
+
diff --git a/tasks/deployment.rake b/tasks/deployment.rake
new file mode 100644
index 0000000..430dad3
--- /dev/null
+++ b/tasks/deployment.rake
@@ -0,0 +1,34 @@
+desc 'Release the website and new gem version'
+task :deploy => [:check_version, :website, :release] do
+ puts "Remember to create SVN tag:"
+ puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
+ "svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
+ puts "Suggested comment:"
+ puts "Tagging release #{CHANGES}"
+end
+
+desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
+task :local_deploy => [:website_generate, :install_gem]
+
+task :check_version do
+ unless ENV['VERSION']
+ puts 'Must pass a VERSION=x.y.z release version'
+ exit
+ end
+ unless ENV['VERSION'] == VERS
+ puts "Please update your version.rb to match the release version, currently #{VERS}"
+ exit
+ end
+end
+
+desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
+task :install_gem_no_doc => [:clean, :package] do
+ sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
+end
+
+namespace :manifest do
+ desc 'Recreate Manifest.txt to include ALL files'
+ task :refresh do
+ `rake check_manifest | patch -p0 > Manifest.txt`
+ end
+end
diff --git a/tasks/environment.rake b/tasks/environment.rake
new file mode 100644
index 0000000..691ed3b
--- /dev/null
+++ b/tasks/environment.rake
@@ -0,0 +1,7 @@
+task :ruby_env do
+ RUBY_APP = if RUBY_PLATFORM =~ /java/
+ "jruby"
+ else
+ "ruby"
+ end unless defined? RUBY_APP
+end
diff --git a/tasks/website.rake b/tasks/website.rake
new file mode 100644
index 0000000..93e03fa
--- /dev/null
+++ b/tasks/website.rake
@@ -0,0 +1,17 @@
+desc 'Generate website files'
+task :website_generate => :ruby_env do
+ (Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt|
+ sh %{ #{RUBY_APP} script/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
+ end
+end
+
+desc 'Upload website files to rubyforge'
+task :website_upload do
+ host = "#{rubyforge_username}@rubyforge.org"
+ remote_dir = "/var/www/gforge-projects/#{PATH}/"
+ local_dir = 'website'
+ sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
+end
+
+desc 'Generate and upload website files'
+task :website => [:website_generate, :website_upload, :publish_docs]
diff --git a/test/cases/oauth_case.rb b/test/cases/oauth_case.rb
index e78cecb..8b37dcf 100644
--- a/test/cases/oauth_case.rb
+++ b/test/cases/oauth_case.rb
@@ -1,9 +1,9 @@
-require 'minitest/autorun'
+require 'test/unit'
require 'oauth/signature'
require 'oauth/request_proxy/mock_request'
-class OAuthCase < Minitest::Test
+class OAuthCase < Test::Unit::TestCase
# avoid whining about a lack of tests
def run(*args)
return if @method_name.to_s == "default_test"
diff --git a/test/cases/spec/1_0-final/test_normalize_request_parameters.rb b/test/cases/spec/1_0-final/test_normalize_request_parameters.rb
index 91c9383..58b2d63 100644
--- a/test/cases/spec/1_0-final/test_normalize_request_parameters.rb
+++ b/test/cases/spec/1_0-final/test_normalize_request_parameters.rb
@@ -27,13 +27,13 @@ require File.expand_path('../../../oauth_case', __FILE__)
class NormalizeRequestParametersTest < OAuthCase
def test_parameters_for_signature
- params={"a"=>1, "c"=>"hi there", "f"=>"a", "z"=>"t"}
+ params={'a'=>1, 'c'=>'hi there', 'f'=>'25', 'f'=>'50', 'f'=>'a', 'z'=>'p', 'z'=>'t'}
assert_equal params,request(params).parameters_for_signature
end
def test_parameters_for_signature_removes_oauth_signature
- params={"a"=>1, "c"=>"hi there", "f"=>"a", "z"=>"t"}
+ params={'a'=>1, 'c'=>'hi there', 'f'=>'25', 'f'=>'50', 'f'=>'a', 'z'=>'p', 'z'=>'t'}
assert_equal params,request(params.merge({'oauth_signature'=>'blalbla'})).parameters_for_signature
end
diff --git a/test/integration/consumer_test.rb b/test/integration/consumer_test.rb
index e0eb373..2a8be70 100644
--- a/test/integration/consumer_test.rb
+++ b/test/integration/consumer_test.rb
@@ -1,7 +1,7 @@
require File.expand_path('../../test_helper', __FILE__)
module Integration
- class ConsumerTest < Minitest::Test
+ class ConsumerTest < Test::Unit::TestCase
def setup
@consumer=OAuth::Consumer.new(
'consumer_key_86cad9', '5888bf0345e5d237',
@@ -39,7 +39,7 @@ module Integration
token = OAuth::ConsumerToken.new(consumer, 'token_411a7f', '3196ffd991c8ebdb')
token.sign!(request, {:nonce => @nonce, :timestamp => @timestamp})
- refute_match( /oauth_signature_method="HMAC-SHA1"/, request['authorization'])
+ assert_no_match( /oauth_signature_method="HMAC-SHA1"/, request['authorization'])
assert_match( /oauth_signature_method="PLAINTEXT"/, request['authorization'])
end
@@ -52,7 +52,7 @@ module Integration
request = Net::HTTP::Get.new('/')
signature_base_string = consumer.signature_base_string(request)
- refute_match( /HMAC-SHA1/, signature_base_string)
+ assert_no_match( /HMAC-SHA1/, signature_base_string)
assert_equal( "#{consumer.secret}&", signature_base_string)
end
@@ -162,23 +162,23 @@ module Integration
assert !@consumer.authorize_url?, "Should not use fully qualified url"
@request_token=@consumer.get_request_token
- assert @request_token
+ assert_not_nil @request_token
assert_equal "requestkey", at request_token.token
assert_equal "requestsecret", at request_token.secret
assert_equal "http://term.ie/oauth/example/authorize.php?oauth_token=requestkey", at request_token.authorize_url
@access_token=@request_token.get_access_token
- assert @access_token
+ assert_not_nil @access_token
assert_equal "accesskey", at access_token.token
assert_equal "accesssecret", at access_token.secret
@response=@access_token.get("/oauth/example/echo_api.php?ok=hello&test=this")
- assert @response
+ assert_not_nil @response
assert_equal "200", at response.code
assert_equal( "ok=hello&test=this", at response.body)
@response=@access_token.post("/oauth/example/echo_api.php",{'ok'=>'hello','test'=>'this'})
- assert @response
+ assert_not_nil @response
assert_equal "200", at response.code
assert_equal( "ok=hello&test=this", at response.body)
end
@@ -203,23 +203,23 @@ module Integration
assert @consumer.authorize_url?, "Should use fully qualified url"
@request_token=@consumer.get_request_token
- assert @request_token
+ assert_not_nil @request_token
assert_equal "requestkey", at request_token.token
assert_equal "requestsecret", at request_token.secret
assert_equal "http://term.ie/oauth/example/authorize.php?oauth_token=requestkey", at request_token.authorize_url
@access_token=@request_token.get_access_token
- assert @access_token
+ assert_not_nil @access_token
assert_equal "accesskey", at access_token.token
assert_equal "accesssecret", at access_token.secret
@response=@access_token.get("/oauth/example/echo_api.php?ok=hello&test=this")
- assert @response
+ assert_not_nil @response
assert_equal "200", at response.code
assert_equal( "ok=hello&test=this", at response.body)
@response=@access_token.post("/oauth/example/echo_api.php",{'ok'=>'hello','test'=>'this'})
- assert @response
+ assert_not_nil @response
assert_equal "200", at response.code
assert_equal( "ok=hello&test=this", at response.body)
end
@@ -283,13 +283,13 @@ module Integration
request_body_stream = StringIO.new( request_body_string )
@response=@access_token.post("/oauth/example/echo_api.php",request_body_stream)
- assert @response
+ assert_not_nil @response
assert_equal "200", at response.code
request_body_file = File.open(__FILE__)
@response=@access_token.post("/oauth/example/echo_api.php",request_body_file)
- assert @response
+ assert_not_nil @response
assert_equal "200", at response.code
# unfortunately I don't know of a way to test that the body data was received correctly since the test server at http://term.ie
diff --git a/test/keys/rsa.cert b/test/keys/rsa.cert
new file mode 100644
index 0000000..f7b5c09
--- /dev/null
+++ b/test/keys/rsa.cert
@@ -0,0 +1,11 @@
+-----BEGIN CERTIFICATE-----
+MIIBpjCCAQ+gAwIBAgIBATANBgkqhkiG9w0BAQUFADAZMRcwFQYDVQQDDA5UZXN0
+IFByaW5jaXBhbDAeFw03MDAxMDEwODAwMDBaFw0zODEyMzEwODAwMDBaMBkxFzAV
+BgNVBAMMDlRlc3QgUHJpbmNpcGFsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
+gQC0YjCwIfYoprq/FQO6lb3asXrxLlJFuCvtinTF5p0GxvQGu5O3gYytUvtC2JlY
+zypSRjVxwxrsuRcP3e641SdASwfrmzyvIgP08N4S0IFzEURkV1wp/IpH7kH41Etb
+mUmrXSwfNZsnQRE5SYSOhh+LcK2wyQkdgcMv11l4KoBkcwIDAQABMA0GCSqGSIb3
+DQEBBQUAA4GBAGZLPEuJ5SiJ2ryq+CmEGOXfvlTtEL2nuGtr9PewxkgnOjZpUy+d
+4TvuXJbNQc8f4AMWL/tO9w0Fk80rWKp9ea8/df4qMq5qlFWlx6yOLQxumNOmECKb
+WpkUQDIDJEoFUzKMVuJf4KO/FJ345+BNLGgbJ6WujreoM1X/gYfdnJ/J
+-----END CERTIFICATE-----
\ No newline at end of file
diff --git a/test/keys/rsa.pem b/test/keys/rsa.pem
new file mode 100644
index 0000000..e0f5542
--- /dev/null
+++ b/test/keys/rsa.pem
@@ -0,0 +1,16 @@
+-----BEGIN PRIVATE KEY-----
+MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALRiMLAh9iimur8V
+A7qVvdqxevEuUkW4K+2KdMXmnQbG9Aa7k7eBjK1S+0LYmVjPKlJGNXHDGuy5Fw/d
+7rjVJ0BLB+ubPK8iA/Tw3hLQgXMRRGRXXCn8ikfuQfjUS1uZSatdLB81mydBETlJ
+hI6GH4twrbDJCR2Bwy/XWXgqgGRzAgMBAAECgYBYWVtleUzavkbrPjy0T5FMou8H
+X9u2AC2ry8vD/l7cqedtwMPp9k7TubgNFo+NGvKsl2ynyprOZR1xjQ7WgrgVB+mm
+uScOM/5HVceFuGRDhYTCObE+y1kxRloNYXnx3ei1zbeYLPCHdhxRYW7T0qcynNmw
+rn05/KO2RLjgQNalsQJBANeA3Q4Nugqy4QBUCEC09SqylT2K9FrrItqL2QKc9v0Z
+zO2uwllCbg0dwpVuYPYXYvikNHHg+aCWF+VXsb9rpPsCQQDWR9TT4ORdzoj+Nccn
+qkMsDmzt0EfNaAOwHOmVJ2RVBspPcxt5iN4HI7HNeG6U5YsFBb+/GZbgfBT3kpNG
+WPTpAkBI+gFhjfJvRw38n3g/+UeAkwMI2TJQS4n8+hid0uus3/zOjDySH3XHCUno
+cn1xOJAyZODBo47E+67R4jV1/gzbAkEAklJaspRPXP877NssM5nAZMU0/O/NGCZ+
+3jPgDUno6WbJn5cqm8MqWhW1xGkImgRk+fkDBquiq4gPiT898jusgQJAd5Zrr6Q8
+AO/0isr/3aa6O6NLQxISLKcPDk2NOccAfS/xOtfOz4sJYM3+Bs4Io9+dZGSDCA54
+Lw03eHTNQghS0A==
+-----END PRIVATE KEY-----
\ No newline at end of file
diff --git a/test/test_access_token.rb b/test/test_access_token.rb
index 3ee6098..591a1c9 100644
--- a/test/test_access_token.rb
+++ b/test/test_access_token.rb
@@ -1,6 +1,6 @@
require File.expand_path('../test_helper', __FILE__)
-class TestAccessToken < Minitest::Test
+class TestAccessToken < Test::Unit::TestCase
def setup
@fake_response = {
:user_id => 5734758743895,
@@ -20,7 +20,7 @@ class TestAccessToken < Minitest::Test
end
def test_access_token_makes_non_oauth_response_params_available
- assert @access_token.params[:user_id]
+ assert_not_nil @access_token.params[:user_id]
assert_equal 5734758743895, @access_token.params[:user_id]
end
end
diff --git a/test/test_action_controller_request_proxy.rb b/test/test_action_controller_request_proxy.rb
index ac251d1..c7c6090 100644
--- a/test/test_action_controller_request_proxy.rb
+++ b/test/test_action_controller_request_proxy.rb
@@ -1,20 +1,20 @@
+gem 'actionpack', '~> 2.3.8'
require File.expand_path('../test_helper', __FILE__)
require 'oauth/request_proxy/action_controller_request'
+require 'action_controller/test_process'
-class ActionControllerRequestProxyTest < Minitest::Test
+class ActionControllerRequestProxyTest < Test::Unit::TestCase
def request_proxy(request_method = :get, uri_params = {}, body_params = {})
- request = ActionDispatch::TestRequest.new
- request.request_uri = '/'
+ request = ActionController::TestRequest.new
+ request.set_REQUEST_URI('/')
case request_method
when :post
request.env['REQUEST_METHOD'] = 'POST'
when :put
request.env['REQUEST_METHOD'] = 'PUT'
- when :patch
- request.env['REQUEST_METHOD'] = 'PATCH'
end
request.env['REQUEST_URI'] = '/'
@@ -50,14 +50,6 @@ class ActionControllerRequestProxyTest < Minitest::Test
assert_equal 'PUT', request_proxy.method
end
- def test_that_proxy_simple_patch_request_works_with_query_params
- request_proxy = request_proxy(:patch, {'key'=>'value'})
-
- expected_parameters = [["key", "value"]]
- assert_equal expected_parameters, request_proxy.parameters_for_signature
- assert_equal 'PATCH', request_proxy.method
- end
-
def test_that_proxy_simple_get_request_works_with_post_params
request_proxy = request_proxy(:get, {}, {'key'=>'value'})
@@ -82,14 +74,6 @@ class ActionControllerRequestProxyTest < Minitest::Test
assert_equal 'PUT', request_proxy.method
end
- def test_that_proxy_simple_patch_request_works_with_post_params
- request_proxy = request_proxy(:patch, {}, {'key'=>'value'})
-
- expected_parameters = []
- assert_equal expected_parameters, request_proxy.parameters_for_signature
- assert_equal 'PATCH', request_proxy.method
- end
-
def test_that_proxy_simple_get_request_works_with_mixed_params
request_proxy = request_proxy(:get, {'key'=>'value'}, {'key2'=>'value2'})
@@ -114,14 +98,6 @@ class ActionControllerRequestProxyTest < Minitest::Test
assert_equal 'PUT', request_proxy.method
end
- def test_that_proxy_simple_patch_request_works_with_mixed_params
- request_proxy = request_proxy(:patch, {'key'=>'value'}, {'key2'=>'value2'})
-
- expected_parameters = [["key", "value"]]
- assert_equal expected_parameters, request_proxy.parameters_for_signature
- assert_equal 'PATCH', request_proxy.method
- end
-
def test_parameter_keys_should_preserve_brackets_from_hash
assert_equal(
[["message[body]", "This is a test"]],
diff --git a/test/test_consumer.rb b/test/test_consumer.rb
index 4d23021..136aeea 100644
--- a/test/test_consumer.rb
+++ b/test/test_consumer.rb
@@ -1,11 +1,12 @@
require File.expand_path('../test_helper', __FILE__)
+require 'mocha'
require 'stringio'
# This performs testing against Andy Smith's test server http://term.ie/oauth/example/
# Thanks Andy.
# This also means you have to be online to be able to run these.
-class ConsumerTest < Minitest::Test
+class ConsumerTest < Test::Unit::TestCase
def setup
@consumer=OAuth::Consumer.new(
'consumer_key_86cad9', '5888bf0345e5d237',
@@ -131,14 +132,7 @@ class ConsumerTest < Minitest::Test
assert_equal :post, at consumer.http_method
end
- def test_token_request_identifies_itself_as_a_token_request
- request_options = {}
- @consumer.stubs(:request).returns(create_stub_http_response)
- @consumer.token_request(:post, '/', 'token', request_options) {}
- assert_equal true, request_options[:token_request]
- end
-
- def test_that_token_response_should_be_uri_parameter_format_as_default
+ def test_that_token_response_should_be_uri_parameter_format_as_default
@consumer.expects(:request).returns(create_stub_http_response("oauth_token=token&oauth_token_secret=secret"))
hash = @consumer.token_request(:get, "")
diff --git a/test/test_curb_request_proxy.rb b/test/test_curb_request_proxy.rb
index 3303d8e..8abf245 100644
--- a/test/test_curb_request_proxy.rb
+++ b/test/test_curb_request_proxy.rb
@@ -6,7 +6,7 @@ require 'oauth/request_proxy/curb_request'
require 'curb'
-class CurbRequestProxyTest < Minitest::Test
+class CurbRequestProxyTest < Test::Unit::TestCase
def test_that_proxy_simple_get_request_works
request = Curl::Easy.new('/test?key=value')
diff --git a/test/test_em_http_client.rb b/test/test_em_http_client.rb
index 8b7b3f4..603fd8b 100644
--- a/test/test_em_http_client.rb
+++ b/test/test_em_http_client.rb
@@ -3,7 +3,7 @@ begin
require 'oauth/client/em_http'
-class EmHttpClientTest < Minitest::Test
+class EmHttpClientTest < Test::Unit::TestCase
def setup
@consumer = OAuth::Consumer.new('consumer_key_86cad9', '5888bf0345e5d237')
diff --git a/test/test_em_http_request_proxy.rb b/test/test_em_http_request_proxy.rb
index 7c86ed0..6bcab2d 100644
--- a/test/test_em_http_request_proxy.rb
+++ b/test/test_em_http_request_proxy.rb
@@ -6,7 +6,7 @@ require 'em-http'
require 'oauth/request_proxy/em_http_request'
-class EmHttpRequestProxyTest < Minitest::Test
+class EmHttpRequestProxyTest < Test::Unit::TestCase
def test_request_proxy_works_with_simple_request
proxy = create_request_proxy
diff --git a/test/test_helper.rb b/test/test_helper.rb
index c512666..c3caaf1 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -1,18 +1,13 @@
+require 'test/unit'
require 'rubygems'
-require 'minitest/autorun'
-require 'mocha/mini_test'
-require 'rack/test'
-
-ENV['RACK_ENV'] = 'test'
-
-require 'byebug'
$LOAD_PATH << File.dirname(__FILE__) + '/../lib/'
require 'oauth'
+require 'mocha'
require 'stringio'
require 'webmock'
-class Minitest::Test
+class Test::Unit::TestCase
include WebMock::API
def assert_matching_headers(expected, actual)
diff --git a/test/test_hmac_sha1.rb b/test/test_hmac_sha1.rb
index 466e1ca..ef0360b 100644
--- a/test/test_hmac_sha1.rb
+++ b/test/test_hmac_sha1.rb
@@ -1,6 +1,6 @@
require File.expand_path('../test_helper', __FILE__)
-class TestSignatureHmacSha1 < Minitest::Test
+class TestSignatureHmacSha1 < Test::Unit::TestCase
def test_that_hmac_sha1_implements_hmac_sha1
assert OAuth::Signature.available_methods.include?('hmac-sha1')
end
diff --git a/test/test_net_http_client.rb b/test/test_net_http_client.rb
index 87bed4b..3ceacf1 100644
--- a/test/test_net_http_client.rb
+++ b/test/test_net_http_client.rb
@@ -1,6 +1,6 @@
require File.expand_path('../test_helper', __FILE__)
-class NetHTTPClientTest < Minitest::Test
+class NetHTTPClientTest < Test::Unit::TestCase
def setup
@consumer = OAuth::Consumer.new('consumer_key_86cad9', '5888bf0345e5d237')
@@ -62,12 +62,6 @@ class NetHTTPClientTest < Minitest::Test
assert_matching_headers "oauth_nonce=\"225579211881198842005988698334675835446\", oauth_body_hash=\"oXyaqmHoChv3HQ2FCvTluqmAC70%3D\", oauth_signature_method=\"HMAC-SHA1\", oauth_token=\"token_411a7f\", oauth_timestamp=\"1199645624\", oauth_consumer_key=\"consumer_key_86cad9\", oauth_signature=\"0DA6pGTapdHSqC15RZelY5rNLDw%3D\", oauth_version=\"1.0\"", request['authorization']
end
- def test_that_body_hash_is_obmitted_when_token_request
- request = Net::HTTP::Post.new(@request_uri.path)
- request.oauth!(@http, @consumer, @token, {:nonce => @nonce, :timestamp => @timestamp, :token_request => true})
- assert_no_match(/oauth_body_hash/, request['authorization'])
- end
-
def test_that_body_hash_is_obmitted_when_no_algorithm_is_defined
request = Net::HTTP::Post.new(@request_uri.path)
request.body = "data"
@@ -291,10 +285,6 @@ class NetHTTPClientTest < Minitest::Test
protected
- def assert_no_match exp, act, msg = "Expected #{act.inspect} to not match #{exp.inspect}"
- assert act !~ exp, msg
- end
-
def request_parameters_to_s
@request_parameters.map { |k,v| "#{k}=#{v}" }.join("&")
end
diff --git a/test/test_net_http_request_proxy.rb b/test/test_net_http_request_proxy.rb
index dce05d0..ac2a327 100644
--- a/test/test_net_http_request_proxy.rb
+++ b/test/test_net_http_request_proxy.rb
@@ -1,6 +1,6 @@
require File.expand_path('../test_helper', __FILE__)
-class NetHTTPRequestProxyTest < Minitest::Test
+class NetHTTPRequestProxyTest < Test::Unit::TestCase
def test_that_proxy_simple_get_request_works
request = Net::HTTP::Get.new('/test?key=value')
diff --git a/test/test_oauth_helper.rb b/test/test_oauth_helper.rb
index 134bc2a..a489ca2 100644
--- a/test/test_oauth_helper.rb
+++ b/test/test_oauth_helper.rb
@@ -1,6 +1,6 @@
require File.expand_path('../test_helper', __FILE__)
-class TestOAuthHelper < Minitest::Test
+class TestOAuthHelper < Test::Unit::TestCase
def test_parse_valid_header
header = 'OAuth ' \
@@ -27,7 +27,7 @@ class TestOAuthHelper < Minitest::Test
def test_parse_header_ill_formed
header = "OAuth garbage"
- assert_raises OAuth::Problem do
+ assert_raise OAuth::Problem do
OAuth::Helper.parse_header(header)
end
end
@@ -42,7 +42,7 @@ class TestOAuthHelper < Minitest::Test
'oauth_timestamp="1240004133", oauth_nonce="nonce", ' \
'oauth_version="1.0" '
- assert_raises OAuth::Problem do
+ assert_raise OAuth::Problem do
OAuth::Helper.parse_header(header)
end
end
@@ -68,7 +68,7 @@ class TestOAuthHelper < Minitest::Test
assert_equal "nonce", params['oauth_nonce']
assert_equal "1.0", params['oauth_version']
end
-
+
def test_normalize
params = {
'oauth_nonce' => 'nonce',
@@ -81,7 +81,7 @@ class TestOAuthHelper < Minitest::Test
}
assert_equal("oauth_consumer_key=vince_clortho&oauth_nonce=nonce&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1240004133&oauth_token=token_value&oauth_version=1.0&weight%5Bvalue%5D=65", OAuth::Helper.normalize(params))
end
-
+
def test_normalize_nested_query
assert_equal([], OAuth::Helper.normalize_nested_query({}))
assert_equal(["foo=bar"], OAuth::Helper.normalize_nested_query({:foo => 'bar'}))
diff --git a/test/test_rack_request_proxy.rb b/test/test_rack_request_proxy.rb
index c0c3cee..8b22afc 100644
--- a/test/test_rack_request_proxy.rb
+++ b/test/test_rack_request_proxy.rb
@@ -3,7 +3,7 @@ require 'oauth/request_proxy/rack_request'
require 'rack/request'
require 'rack/mock'
-class RackRequestProxyTest < Minitest::Test
+class RackRequestProxyTest < Test::Unit::TestCase
def test_that_proxy_simple_get_request_works
request = Rack::Request.new(Rack::MockRequest.env_for('http://example.com/test?key=value'))
diff --git a/test/test_request_token.rb b/test/test_request_token.rb
index bc05513..632e927 100644
--- a/test/test_request_token.rb
+++ b/test/test_request_token.rb
@@ -6,7 +6,7 @@ class StubbedToken < OAuth::RequestToken
end
end
-class TestRequestToken < Minitest::Test
+class TestRequestToken < Test::Unit::TestCase
def setup
# setup a fake req. token. mocking Consumer would be more appropriate...
@request_token = OAuth::RequestToken.new(
@@ -18,7 +18,7 @@ class TestRequestToken < Minitest::Test
def test_request_token_builds_authorize_url_connectly_with_additional_params
auth_url = @request_token.authorize_url({:oauth_callback => "github.com"})
- assert auth_url
+ assert_not_nil auth_url
assert_match(/oauth_token/, auth_url)
assert_match(/oauth_callback/, auth_url)
end
@@ -27,19 +27,14 @@ class TestRequestToken < Minitest::Test
# we should only have 1 key in the url returned if we didn't pass anything.
# this is the only required param to authenticate the client.
auth_url = @request_token.authorize_url(nil)
- assert auth_url
+ assert_not_nil auth_url
assert_match(/\?oauth_token=/, auth_url)
auth_url = @request_token.authorize_url
- assert auth_url
+ assert_not_nil auth_url
assert_match(/\?oauth_token=/, auth_url)
end
- def test_request_token_returns_nil_authorize_url_when_token_is_nil
- @request_token.token = nil
- assert_nil @request_token.authorize_url
- end
-
#TODO: mock out the Consumer to test the Consumer/AccessToken interaction.
def test_get_access_token
end
diff --git a/test/test_rest_client_request_proxy.rb b/test/test_rest_client_request_proxy.rb
deleted file mode 100644
index d86b3cf..0000000
--- a/test/test_rest_client_request_proxy.rb
+++ /dev/null
@@ -1,81 +0,0 @@
-require File.expand_path('../test_helper', __FILE__)
-
-begin
- require 'oauth/request_proxy/rest_client_request'
- require 'rest-client'
-
- class RestlClientRequestProxyTest < Minitest::Test
-
- def test_that_proxy_simple_get_request_works
- request = ::RestClient::Request.new(method: :get, url: "http://example.com/test?key=value")
- request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test?key=value'})
-
- expected_parameters = {'key' => ['value']}
- assert_equal expected_parameters, request_proxy.parameters_for_signature
- assert_equal 'http://example.com/test', request_proxy.normalized_uri
- assert_equal 'GET', request_proxy.method
- end
-
- def test_that_proxy_simple_post_request_works_with_arguments
- request = ::RestClient::Request.new(method: :post, url: "http://example.com/test")
- params = {'key' => 'value'}
- request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test', :parameters => params})
-
- expected_parameters = {'key' => 'value'}
- assert_equal expected_parameters, request_proxy.parameters_for_signature
- assert_equal 'http://example.com/test', request_proxy.normalized_uri
- assert_equal 'POST', request_proxy.method
- end
-
- def test_that_proxy_simple_post_request_works_with_form_data
- request = ::RestClient::Request.new(method: :post, url: "http://example.com/test",
- payload: {'key' => 'value'},
- headers: {'Content-Type' => 'application/x-www-form-urlencoded'})
- request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
-
- expected_parameters = {'key' => 'value'}
- assert_equal expected_parameters, request_proxy.parameters_for_signature
- assert_equal 'http://example.com/test', request_proxy.normalized_uri
- assert_equal 'POST', request_proxy.method
- end
-
- def test_that_proxy_simple_put_request_works_with_arguments
- request = ::RestClient::Request.new(method: :put, url: "http://example.com/test")
- params = {'key' => 'value'}
- request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test', :parameters => params})
-
- expected_parameters = {'key' => 'value'}
- assert_equal expected_parameters, request_proxy.parameters_for_signature
- assert_equal 'http://example.com/test', request_proxy.normalized_uri
- assert_equal 'PUT', request_proxy.method
- end
-
- def test_that_proxy_simple_put_request_works_with_form_data
- request = ::RestClient::Request.new(method: :put, url: "http://example.com/test",
- payload: {'key' => 'value'},
- headers: {'Content-Type' => 'application/x-www-form-urlencoded'})
- request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
-
- expected_parameters = {'key' => 'value'}
- assert_equal expected_parameters, request_proxy.parameters_for_signature
- assert_equal 'http://example.com/test', request_proxy.normalized_uri
- assert_equal 'PUT', request_proxy.method
- end
-
- def test_that_proxy_post_request_works_with_mixed_parameter_sources
- request = ::RestClient::Request.new(url: 'http://example.com/test?key=value',
- method: :post,
- payload: {'key2' => 'value2'},
- headers: {'Content-Type' => 'application/x-www-form-urlencoded'})
- request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test?key=value', :parameters => {'key3' => 'value3'}})
-
- expected_parameters = {'key' => ['value'], 'key2' => 'value2', 'key3' => 'value3'}
- assert_equal expected_parameters, request_proxy.parameters_for_signature
- assert_equal 'http://example.com/test', request_proxy.normalized_uri
- assert_equal 'POST', request_proxy.method
- end
-
- end
-rescue LoadError => e
- warn "! problem loading rest-client, skipping these tests: #{e}"
-end
diff --git a/test/test_rsa_sha1.rb b/test/test_rsa_sha1.rb
index 939a44e..f057869 100644
--- a/test/test_rsa_sha1.rb
+++ b/test/test_rsa_sha1.rb
@@ -2,7 +2,7 @@ require File.expand_path('../test_helper', __FILE__)
require 'oauth/consumer'
require 'oauth/signature/rsa/sha1'
-class TestSignatureRsaSha1 < Minitest::Test
+class TestSignatureRsaSha1 < Test::Unit::TestCase
def setup
@request = Net::HTTP::Get.new('/photos?file=vacaction.jpg&size=original&oauth_version=1.0&oauth_consumer_key=dpf43f3p2l4k3l03&oauth_timestamp=1196666512&oauth_nonce=13917289812797014437&oauth_signature_method=RSA-SHA1')
diff --git a/test/test_server.rb b/test/test_server.rb
index d40a4ea..15947c7 100644
--- a/test/test_server.rb
+++ b/test/test_server.rb
@@ -1,7 +1,6 @@
require File.expand_path('../test_helper', __FILE__)
require 'oauth/server'
-
-class ServerTest < Minitest::Test
+class ServerTest < Test::Unit::TestCase
def setup
@server=OAuth::Server.new "http://test.com"
end
@@ -20,15 +19,15 @@ class ServerTest < Minitest::Test
def test_generate_consumer_credentials
consumer=@server.generate_consumer_credentials
- assert consumer.key
- assert consumer.secret
+ assert_not_nil consumer.key
+ assert_not_nil consumer.secret
end
def test_create_consumer
@consumer=@server.create_consumer
- assert @consumer
- assert @consumer.key
- assert @consumer.secret
+ assert_not_nil @consumer
+ assert_not_nil @consumer.key
+ assert_not_nil @consumer.secret
assert_equal "http://test.com", at consumer.site
assert_equal "/oauth/request_token", at consumer.request_token_path
assert_equal "/oauth/authorize", at consumer.authorize_path
diff --git a/test/test_signature.rb b/test/test_signature.rb
index e964afd..4fb7041 100644
--- a/test/test_signature.rb
+++ b/test/test_signature.rb
@@ -2,14 +2,21 @@
require File.expand_path('../test_helper', __FILE__)
-class TestOauth < Minitest::Test
+class TestOauth < Test::Unit::TestCase
def test_parameter_escaping_kcode_invariant
- %w(n N e E s S u U).each do |kcode|
- assert_equal '%E3%81%82', OAuth::Helper.escape('あ'),
- "Failed to correctly escape Japanese under $KCODE = #{kcode}"
- assert_equal '%C3%A9', OAuth::Helper.escape('é'),
- "Failed to correctly escape e+acute under $KCODE = #{kcode}"
+ ruby19 = RUBY_VERSION =~ /^1\.9/
+ old = $KCODE if !ruby19
+ begin
+ %w(n N e E s S u U).each do |kcode|
+ $KCODE = kcode if !ruby19
+ assert_equal '%E3%81%82', OAuth::Helper.escape('あ'),
+ "Failed to correctly escape Japanese under $KCODE = #{kcode}"
+ assert_equal '%C3%A9', OAuth::Helper.escape('é'),
+ "Failed to correctly escape e+acute under $KCODE = #{kcode}"
+ end
+ ensure
+ $KCODE = old if !ruby19
end
end
end
diff --git a/test/test_signature_base.rb b/test/test_signature_base.rb
index b76e323..c31f606 100644
--- a/test/test_signature_base.rb
+++ b/test/test_signature_base.rb
@@ -1,8 +1,7 @@
require File.expand_path('../test_helper', __FILE__)
require 'oauth/signature/base'
require 'net/http'
-
-class SignatureBaseTest < Minitest::Test
+class SignatureBaseTest < Test::Unit::TestCase
def test_that_initialize_requires_one_request_argument
assert_raises ArgumentError do
@@ -23,10 +22,11 @@ class SignatureBaseTest < Minitest::Test
# this isn't quite valid, but it will do.
raw_request = Net::HTTP::Get.new('/test')
request = OAuth::RequestProxy.proxy(raw_request)
-
- OAuth::Signature::Base.new(request) { |token|
- # just a stub
- }
+ assert_nothing_raised do
+ OAuth::Signature::Base.new(request) { |token|
+ # just a stub
+ }
+ end
end
end
diff --git a/test/test_signature_hmac_sha1.rb b/test/test_signature_hmac_sha1.rb
deleted file mode 100644
index df0434f..0000000
--- a/test/test_signature_hmac_sha1.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-require File.expand_path('../test_helper', __FILE__)
-require 'oauth/signature/hmac/sha1'
-
-class SignatureHMACSHA1Test < Minitest::Test
- def test_that_verify_returns_true_when_the_request_signature_is_right
- request = OAuth::RequestProxy::MockRequest.new(
- 'method' => 'POST',
- 'uri' => 'https://photos.example.net/initialize',
- 'parameters' => {
- 'oauth_consumer_key' => 'dpf43f3p2l4k3l03',
- 'oauth_signature_method' => 'HMAC-SHA1',
- 'oauth_timestamp' => '137131200',
- 'oauth_nonce' => 'wIjqoS',
- 'oauth_callback' => 'http://printer.example.com/ready',
- 'oauth_version' => '1.0',
- 'oauth_signature' => 'xcHYBV3AbyoDz7L4dV10P3oLCjY='
- }
- )
- assert OAuth::Signature::HMAC::SHA1.new(request, :consumer_secret => 'kd94hf93k423kf44').verify
- end
-
- def test_that_verify_returns_false_when_the_request_signature_is_wrong
- # Test a bug in the OAuth::Signature::Base#== method: when the Base64.decode64 method is
- # used on the "self" and "other" signature (as in version 0.4.7), the result may be incorrectly "true".
- request = OAuth::RequestProxy::MockRequest.new(
- 'method' => 'POST',
- 'uri' => 'https://photos.example.net/initialize',
- 'parameters' => {
- 'oauth_consumer_key' => 'dpf43f3p2l4k3l03',
- 'oauth_signature_method' => 'HMAC-SHA1',
- 'oauth_timestamp' => '137131200',
- 'oauth_nonce' => 'wIjqoS',
- 'oauth_callback' => 'http://printer.example.com/ready',
- 'oauth_version' => '1.0',
- 'oauth_signature' => 'xcHYBV3AbyoDz7L4dV10P3oLCjZ='
- }
- )
- assert !OAuth::Signature::HMAC::SHA1.new(request, :consumer_secret => 'kd94hf93k423kf44').verify
- end
-end
diff --git a/test/test_signature_plain_text.rb b/test/test_signature_plain_text.rb
index 32d6e72..eb644b1 100644
--- a/test/test_signature_plain_text.rb
+++ b/test/test_signature_plain_text.rb
@@ -1,7 +1,7 @@
require File.expand_path('../test_helper', __FILE__)
require 'oauth/signature/plaintext'
-class TestSignaturePlaintext < Minitest::Test
+class TestSignaturePlaintext < Test::Unit::TestCase
def test_that_plaintext_implements_plaintext
assert OAuth::Signature.available_methods.include?('plaintext')
end
diff --git a/test/test_token.rb b/test/test_token.rb
index 84b9ba2..d4f9a82 100644
--- a/test/test_token.rb
+++ b/test/test_token.rb
@@ -1,7 +1,7 @@
require File.expand_path('../test_helper', __FILE__)
require 'oauth/token'
-class TestToken < Minitest::Test
+class TestToken < Test::Unit::TestCase
def setup
end
diff --git a/test/test_typhoeus_request_proxy.rb b/test/test_typhoeus_request_proxy.rb
index 1def8bf..9c11857 100644
--- a/test/test_typhoeus_request_proxy.rb
+++ b/test/test_typhoeus_request_proxy.rb
@@ -5,7 +5,7 @@ begin
require 'oauth/request_proxy/typhoeus_request'
require 'typhoeus'
-class TyphoeusRequestProxyTest < Minitest::Test
+class TyphoeusRequestProxyTest < Test::Unit::TestCase
def test_that_proxy_simple_get_request_works
request = ::Typhoeus::Request.new('/test?key=value')
@@ -34,7 +34,7 @@ class TyphoeusRequestProxyTest < Minitest::Test
:headers => {'Content-Type' => 'application/x-www-form-urlencoded'})
request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
- expected_parameters = {'key' => ['value']}
+ expected_parameters = {'key' => 'value'}
assert_equal expected_parameters, request_proxy.parameters_for_signature
assert_equal 'http://example.com/test', request_proxy.normalized_uri
assert_equal 'POST', request_proxy.method
@@ -61,27 +61,6 @@ class TyphoeusRequestProxyTest < Minitest::Test
assert_equal 'PUT', request_proxy.method
end
- def test_that_proxy_simple_put_request_works_with_arguments
- request = Typhoeus::Request.new('/test', :method => :patch)
- params = {'key' => 'value'}
- request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test', :parameters => params})
-
- expected_parameters = {'key' => 'value'}
- assert_equal expected_parameters, request_proxy.parameters_for_signature
- assert_equal 'http://example.com/test', request_proxy.normalized_uri
- assert_equal 'PATCH', request_proxy.method
- end
-
- def test_that_proxy_simple_put_request_works_with_form_data
- request = Typhoeus::Request.new('/test', :method => :patch, :params => {'key' => 'value'})
- request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
-
- expected_parameters = {'key' => ['value']}
- assert_equal expected_parameters, request_proxy.parameters_for_signature
- assert_equal 'http://example.com/test', request_proxy.normalized_uri
- assert_equal 'PATCH', request_proxy.method
- end
-
def test_that_proxy_post_request_works_with_mixed_parameter_sources
request = Typhoeus::Request.new('/test?key=value',
:method => :post,
@@ -89,7 +68,7 @@ class TyphoeusRequestProxyTest < Minitest::Test
:headers => {'Content-Type' => 'application/x-www-form-urlencoded'})
request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test?key=value', :parameters => {'key3' => 'value3'}})
- expected_parameters = {'key' => ['value'], 'key2' => ['value2'], 'key3' => 'value3'}
+ expected_parameters = {'key' => ['value'], 'key2' => 'value2', 'key3' => 'value3'}
assert_equal expected_parameters, request_proxy.parameters_for_signature
assert_equal 'http://example.com/test', request_proxy.normalized_uri
assert_equal 'POST', request_proxy.method
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/ruby-oauth.git
More information about the Pkg-ruby-extras-commits
mailing list