dwolla-ruby 2.6.4 → 2.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. checksums.yaml +5 -13
  2. data/.gitignore +8 -8
  3. data/.travis.yml +6 -6
  4. data/Gemfile +1 -1
  5. data/README.md +198 -192
  6. data/Rakefile +8 -8
  7. data/dwolla-ruby.gemspec +27 -27
  8. data/examples/balance.rb +15 -15
  9. data/examples/contacts.rb +32 -32
  10. data/examples/fundingSources.rb +39 -39
  11. data/examples/oauth.rb +59 -50
  12. data/examples/offsiteGateway.rb +31 -31
  13. data/examples/transactions.rb +72 -38
  14. data/examples/users.rb +30 -30
  15. data/gemfiles/json.gemfile +2 -2
  16. data/lib/dwolla.rb +326 -326
  17. data/lib/dwolla/accounts.rb +27 -27
  18. data/lib/dwolla/balance.rb +15 -15
  19. data/lib/dwolla/contacts.rb +30 -30
  20. data/lib/dwolla/errors/api_connection_error.rb +3 -3
  21. data/lib/dwolla/errors/api_error.rb +3 -3
  22. data/lib/dwolla/errors/authentication_error.rb +3 -3
  23. data/lib/dwolla/errors/dwolla_error.rb +19 -19
  24. data/lib/dwolla/errors/invalid_request_error.rb +10 -10
  25. data/lib/dwolla/errors/missing_parameter_error.rb +3 -3
  26. data/lib/dwolla/exceptions.rb +4 -4
  27. data/lib/dwolla/funding_sources.rb +65 -65
  28. data/lib/dwolla/json.rb +20 -20
  29. data/lib/dwolla/masspay.rb +52 -52
  30. data/lib/dwolla/oauth.rb +83 -75
  31. data/lib/dwolla/offsite_gateway.rb +152 -152
  32. data/lib/dwolla/requests.rb +56 -56
  33. data/lib/dwolla/transactions.rb +111 -56
  34. data/lib/dwolla/users.rb +39 -39
  35. data/lib/dwolla/version.rb +3 -3
  36. data/test/test_accounts.rb +18 -18
  37. data/test/test_balance.rb +9 -9
  38. data/test/test_contacts.rb +19 -19
  39. data/test/test_funding_sources.rb +64 -64
  40. data/test/test_masspay.rb +47 -47
  41. data/test/test_oauth.rb +36 -30
  42. data/test/test_offsite_gateway.rb +57 -57
  43. data/test/test_requests.rb +29 -29
  44. data/test/test_transactions.rb +117 -51
  45. data/test/test_users.rb +33 -33
  46. metadata +21 -21
@@ -1,65 +1,65 @@
1
- require 'test/unit'
2
- require 'mocha/test_unit'
3
- require 'dwolla'
4
-
5
- class FundingSourcesTest < Test::Unit::TestCase
6
- def test_get
7
- Dwolla.stubs(:request).with(:get, '/fundingsources/123456', {}, {}, 'abc')
8
- Dwolla::FundingSources.get('123456', 'abc')
9
- end
10
-
11
- def test_withdraw
12
- Dwolla.stubs(:request).with(:post, '/fundingsources/123456/withdraw',
13
- {
14
- :pin => 1337,
15
- :amount => 13.37
16
- }, {}, 'abc')
17
- Dwolla::FundingSources.withdraw('123456',
18
- {
19
- :pin => 1337,
20
- :amount => 13.37
21
- }, 'abc')
22
- end
23
-
24
- def test_deposit
25
- Dwolla.stubs(:request).with(:post, '/fundingsources/123456/deposit',
26
- {
27
- :pin => 1337,
28
- :amount => 13.37
29
- }, {}, 'abc')
30
- Dwolla::FundingSources.deposit('123456',
31
- {
32
- :pin => 1337,
33
- :amount => 13.37
34
- }, 'abc')
35
- end
36
-
37
- def test_add
38
- Dwolla.stubs(:request).with(:post, '/fundingsources/',
39
- {
40
- :account_number => '123456',
41
- :routing_number => '654321',
42
- :account_type => 'Checking',
43
- :name => 'My Unit Testing Account'
44
- }, {}, 'abc')
45
- Dwolla::FundingSources.add({
46
- :account_number => '123456',
47
- :routing_number => '654321',
48
- :account_type => 'Checking',
49
- :name => 'My Unit Testing Account'
50
- }, 'abc')
51
- end
52
-
53
- def test_verify
54
- Dwolla.stubs(:request).with(:post, '/fundingsources/123456/verify',
55
- {
56
- :deposit1 => 0.05,
57
- :deposit2 => 0.08
58
- }, {}, 'abc')
59
- Dwolla::FundingSources.verify('123456',
60
- {
61
- :deposit1 => 0.05,
62
- :deposit2 => 0.08
63
- }, 'abc')
64
- end
1
+ require 'test/unit'
2
+ require 'mocha/test_unit'
3
+ require 'dwolla'
4
+
5
+ class FundingSourcesTest < Test::Unit::TestCase
6
+ def test_get
7
+ Dwolla.stubs(:request).with(:get, '/fundingsources/123456', {}, {}, 'abc')
8
+ Dwolla::FundingSources.get('123456', 'abc')
9
+ end
10
+
11
+ def test_withdraw
12
+ Dwolla.stubs(:request).with(:post, '/fundingsources/123456/withdraw',
13
+ {
14
+ :pin => 1337,
15
+ :amount => 13.37
16
+ }, {}, 'abc')
17
+ Dwolla::FundingSources.withdraw('123456',
18
+ {
19
+ :pin => 1337,
20
+ :amount => 13.37
21
+ }, 'abc')
22
+ end
23
+
24
+ def test_deposit
25
+ Dwolla.stubs(:request).with(:post, '/fundingsources/123456/deposit',
26
+ {
27
+ :pin => 1337,
28
+ :amount => 13.37
29
+ }, {}, 'abc')
30
+ Dwolla::FundingSources.deposit('123456',
31
+ {
32
+ :pin => 1337,
33
+ :amount => 13.37
34
+ }, 'abc')
35
+ end
36
+
37
+ def test_add
38
+ Dwolla.stubs(:request).with(:post, '/fundingsources/',
39
+ {
40
+ :account_number => '123456',
41
+ :routing_number => '654321',
42
+ :account_type => 'Checking',
43
+ :name => 'My Unit Testing Account'
44
+ }, {}, 'abc')
45
+ Dwolla::FundingSources.add({
46
+ :account_number => '123456',
47
+ :routing_number => '654321',
48
+ :account_type => 'Checking',
49
+ :name => 'My Unit Testing Account'
50
+ }, 'abc')
51
+ end
52
+
53
+ def test_verify
54
+ Dwolla.stubs(:request).with(:post, '/fundingsources/123456/verify',
55
+ {
56
+ :deposit1 => 0.05,
57
+ :deposit2 => 0.08
58
+ }, {}, 'abc')
59
+ Dwolla::FundingSources.verify('123456',
60
+ {
61
+ :deposit1 => 0.05,
62
+ :deposit2 => 0.08
63
+ }, 'abc')
64
+ end
65
65
  end
data/test/test_masspay.rb CHANGED
@@ -1,48 +1,48 @@
1
- require 'test/unit'
2
- require 'mocha/test_unit'
3
- require 'dwolla'
4
-
5
- class MassPayTest < Test::Unit::TestCase
6
- def test_get
7
- Dwolla.stubs(:request).with(:get, '/masspay/', {}, {}, 'abc')
8
- Dwolla::MassPay.get('abc')
9
- end
10
-
11
- def test_create
12
- Dwolla.stubs(:request).with(:post, '/masspay/',
13
- {
14
- :fundsSource => 'Balance',
15
- :pin => 1337,
16
- :items =>
17
- {
18
- :amount => 13.37,
19
- :destination => '812-111-1234'
20
- }
21
- }, {}, 'abc')
22
- Dwolla::MassPay.create(
23
- {
24
- :fundsSource => 'Balance',
25
- :pin => 1337,
26
- :items =>
27
- {
28
- :amount => 13.37,
29
- :destination => '812-111-1234'
30
- }
31
- }, 'abc')
32
- end
33
-
34
- def test_getItems
35
- Dwolla.stubs(:request).with(:get, '/masspay/123456/items', { :limit => 10 }, {}, 'abc')
36
- Dwolla::MassPay.getItems('123456', { :limit => 10 }, 'abc')
37
- end
38
-
39
- def test_getItem
40
- Dwolla.stubs(:request).with(:get, '/masspay/123456/items/654321', {}, {}, 'abc')
41
- Dwolla::MassPay.getItem('123456', '654321', 'abc')
42
- end
43
-
44
- def test_getJob
45
- Dwolla.stubs(:request).with(:get, '/masspay/123456', {}, {}, 'abc')
46
- Dwolla::MassPay.getJob('123456', 'abc')
47
- end
1
+ require 'test/unit'
2
+ require 'mocha/test_unit'
3
+ require 'dwolla'
4
+
5
+ class MassPayTest < Test::Unit::TestCase
6
+ def test_get
7
+ Dwolla.stubs(:request).with(:get, '/masspay/', {}, {}, 'abc')
8
+ Dwolla::MassPay.get('abc')
9
+ end
10
+
11
+ def test_create
12
+ Dwolla.stubs(:request).with(:post, '/masspay/',
13
+ {
14
+ :fundsSource => 'Balance',
15
+ :pin => 1337,
16
+ :items =>
17
+ {
18
+ :amount => 13.37,
19
+ :destination => '812-111-1234'
20
+ }
21
+ }, {}, 'abc')
22
+ Dwolla::MassPay.create(
23
+ {
24
+ :fundsSource => 'Balance',
25
+ :pin => 1337,
26
+ :items =>
27
+ {
28
+ :amount => 13.37,
29
+ :destination => '812-111-1234'
30
+ }
31
+ }, 'abc')
32
+ end
33
+
34
+ def test_getItems
35
+ Dwolla.stubs(:request).with(:get, '/masspay/123456/items', { :limit => 10 }, {}, 'abc')
36
+ Dwolla::MassPay.getItems('123456', { :limit => 10 }, 'abc')
37
+ end
38
+
39
+ def test_getItem
40
+ Dwolla.stubs(:request).with(:get, '/masspay/123456/items/654321', {}, {}, 'abc')
41
+ Dwolla::MassPay.getItem('123456', '654321', 'abc')
42
+ end
43
+
44
+ def test_getJob
45
+ Dwolla.stubs(:request).with(:get, '/masspay/123456', {}, {}, 'abc')
46
+ Dwolla::MassPay.getJob('123456', 'abc')
47
+ end
48
48
  end
data/test/test_oauth.rb CHANGED
@@ -1,31 +1,37 @@
1
- require 'test/unit'
2
- require 'mocha/test_unit'
3
- require 'dwolla'
4
-
5
- class OAuthTest < Test::Unit::TestCase
6
- def test_get_auth_url
7
- Dwolla::api_key = 'abcd'
8
- Dwolla::scope = 'efgh'
9
- assert Dwolla::OAuth.get_auth_url == "https://www.dwolla.com/oauth/v2/authenticate?client_id=abcd&response_type=code&scope=efgh"
10
- end
11
-
12
- def test_get_token
13
- Dwolla.stubs(:request).with(:get, 'https://www.dwolla.com/oauth/v2/token',
14
- {
15
- :grant_type => 'authorization_code',
16
- :code => 'abc',
17
- :redirect_uri => 'http://google.com'
18
- }, {}, false, false, true)
19
- Dwolla::OAuth.get_token('abc', 'http://google.com')
20
- end
21
-
22
- def test_refresh_auth
23
- Dwolla.stubs(:request).with(:get, 'https://www.dwolla.com/oauth/v2/token',
24
- {
25
- :grant_type => 'refresh_token',
26
- :refresh_token => 'abc'
27
- }, {}, false, false, true)
28
- Dwolla::OAuth.refresh_auth('abc')
29
- end
30
-
1
+ require 'test/unit'
2
+ require 'mocha/test_unit'
3
+ require 'dwolla'
4
+
5
+ class OAuthTest < Test::Unit::TestCase
6
+ def test_get_auth_url
7
+ Dwolla::api_key = 'abcd'
8
+ Dwolla::scope = 'efgh'
9
+ assert Dwolla::OAuth.get_auth_url == "https://www.dwolla.com/oauth/v2/authenticate?client_id=abcd&response_type=code&scope=efgh"
10
+ end
11
+
12
+ def test_get_token
13
+ Dwolla.stubs(:request).with(:post, 'https://www.dwolla.com/oauth/v2/token',
14
+ {
15
+ :grant_type => 'authorization_code',
16
+ :code => 'abc',
17
+ :redirect_uri => 'http://google.com'
18
+ }, {}, false, false, true)
19
+ Dwolla::OAuth.get_token('abc', 'http://google.com')
20
+ end
21
+
22
+ def test_refresh_auth
23
+ Dwolla.stubs(:request).with(:post, 'https://www.dwolla.com/oauth/v2/token',
24
+ {
25
+ :grant_type => 'refresh_token',
26
+ :refresh_token => 'abc'
27
+ }, {}, false, false, true)
28
+ Dwolla::OAuth.refresh_auth('abc')
29
+ end
30
+
31
+ def test_catalog
32
+ Dwolla.stubs(:request).with(:get, '/catalog',
33
+ {}, {}, 'abc', false, false)
34
+ Dwolla::OAuth.catalog('abc')
35
+ end
36
+
31
37
  end
@@ -1,58 +1,58 @@
1
- require 'test/unit'
2
- require 'mocha/test_unit'
3
- require 'dwolla'
4
-
5
- class OffsiteGatewayTest < Test::Unit::TestCase
6
- def test_add_product
7
- Dwolla::OffsiteGateway.add_product("Test", "Desc", 1.50, 2)
8
- assert Dwolla::OffsiteGateway.instance_variable_get(:@products) == [{:name => 'Test', :description => 'Desc', :price => 1.50, :quantity => 2}]
9
- end
10
-
11
- def test_set_customer_info
12
- Dwolla::OffsiteGateway.set_customer_info("First", "Last", "Em@i.l", "City", "State", "90210")
13
- assert Dwolla::OffsiteGateway.instance_variable_get(:@customerInfo) == {
14
- :firstName => "First",
15
- :lastName => "Last",
16
- :email => "Em@i.l",
17
- :city => "City",
18
- :state => "State",
19
- :zip => "90210"
20
- }
21
- end
22
-
23
- def test_discount
24
- Dwolla::OffsiteGateway.discount = 1
25
- assert Dwolla::OffsiteGateway.instance_variable_get(:@discount) == -1
26
- end
27
-
28
- def test_get_checkout_url
29
- Dwolla.stubs(:request).with(:post, 'https://www.dwolla.com/payment/request',
30
- {
31
- :key => 'abc',
32
- :secret => 'def',
33
- :allowFundingSources => true,
34
- :additionalFundingSources => true,
35
- :test => false,
36
- :callback => nil,
37
- :redirect => nil,
38
- :orderId => nil,
39
- :notes => nil,
40
- :purchaseOrder => {
41
- :customerInfo => @customerInfo,
42
- :destinationId => '812-111-1234',
43
- :orderItems => [{:name => 'Test', :description => 'Desc', :price => 1.50, :quantity => 2}],
44
- :facilitatorAmount => nil,
45
- :discount => -1,
46
- :shipping => 0,
47
- :tax => 0,
48
- :total => 2.00
49
- }
50
- }, {}, false, false, true)
51
- Dwolla::api_key = 'abc'
52
- Dwolla::api_secret = 'def'
53
- Dwolla::OffsiteGateway.get_checkout_url('812-111-1234')
54
- end
55
-
56
- ## TODO: Tests to validate OpenSSL digest functionality.
57
-
1
+ require 'test/unit'
2
+ require 'mocha/test_unit'
3
+ require 'dwolla'
4
+
5
+ class OffsiteGatewayTest < Test::Unit::TestCase
6
+ def test_add_product
7
+ Dwolla::OffsiteGateway.add_product("Test", "Desc", 1.50, 2)
8
+ assert Dwolla::OffsiteGateway.instance_variable_get(:@products) == [{:name => 'Test', :description => 'Desc', :price => 1.50, :quantity => 2}]
9
+ end
10
+
11
+ def test_set_customer_info
12
+ Dwolla::OffsiteGateway.set_customer_info("First", "Last", "Em@i.l", "City", "State", "90210")
13
+ assert Dwolla::OffsiteGateway.instance_variable_get(:@customerInfo) == {
14
+ :firstName => "First",
15
+ :lastName => "Last",
16
+ :email => "Em@i.l",
17
+ :city => "City",
18
+ :state => "State",
19
+ :zip => "90210"
20
+ }
21
+ end
22
+
23
+ def test_discount
24
+ Dwolla::OffsiteGateway.discount = 1
25
+ assert Dwolla::OffsiteGateway.instance_variable_get(:@discount) == -1
26
+ end
27
+
28
+ def test_get_checkout_url
29
+ Dwolla.stubs(:request).with(:post, 'https://www.dwolla.com/payment/request',
30
+ {
31
+ :key => 'abc',
32
+ :secret => 'def',
33
+ :allowFundingSources => true,
34
+ :additionalFundingSources => true,
35
+ :test => false,
36
+ :callback => nil,
37
+ :redirect => nil,
38
+ :orderId => nil,
39
+ :notes => nil,
40
+ :purchaseOrder => {
41
+ :customerInfo => @customerInfo,
42
+ :destinationId => '812-111-1234',
43
+ :orderItems => [{:name => 'Test', :description => 'Desc', :price => 1.50, :quantity => 2}],
44
+ :facilitatorAmount => nil,
45
+ :discount => -1,
46
+ :shipping => 0,
47
+ :tax => 0,
48
+ :total => 2.00
49
+ }
50
+ }, {}, false, false, true)
51
+ Dwolla::api_key = 'abc'
52
+ Dwolla::api_secret = 'def'
53
+ Dwolla::OffsiteGateway.get_checkout_url('812-111-1234')
54
+ end
55
+
56
+ ## TODO: Tests to validate OpenSSL digest functionality.
57
+
58
58
  end
@@ -1,30 +1,30 @@
1
- require 'test/unit'
2
- require 'mocha/test_unit'
3
- require 'dwolla'
4
-
5
- class RequestsTest < Test::Unit::TestCase
6
- def test_get
7
- Dwolla.stubs(:request).with(:get, '/requests/', {:limit => 10}, {}, 'abc')
8
- Dwolla::Requests.get({:limit => 10}, {}, 'abc')
9
- end
10
-
11
- def test_get_by_id
12
- Dwolla.stubs(:request).with(:get, '/requests/123456', {}, {}, 'abc')
13
- Dwolla::Requests.get('123456', {}, 'abc')
14
- end
15
-
16
- def test_create
17
- Dwolla.stubs(:request).with(:post, '/requests/', {:sourceId => '812-111-1234', :amount => 5.00}, {}, 'abc')
18
- Dwolla::Requests.create({:sourceId => '812-111-1234', :amount => 5.00}, 'abc')
19
- end
20
-
21
- def test_delete
22
- Dwolla.stubs(:request).with(:post, '/requests/123456/cancel', {}, {}, 'abc')
23
- Dwolla::Requests.delete('123456', 'abc')
24
- end
25
-
26
- def test_fulfill
27
- Dwolla.stubs(:request).with(:post, '/requests/123456/fulfill', {:pin => 1337}, {}, 'abc')
28
- Dwolla::Requests.fulfill('123456', {:pin => 1337}, 'abc')
29
- end
1
+ require 'test/unit'
2
+ require 'mocha/test_unit'
3
+ require 'dwolla'
4
+
5
+ class RequestsTest < Test::Unit::TestCase
6
+ def test_get
7
+ Dwolla.stubs(:request).with(:get, '/requests/', {:limit => 10}, {}, 'abc')
8
+ Dwolla::Requests.get({:limit => 10}, {}, 'abc')
9
+ end
10
+
11
+ def test_get_by_id
12
+ Dwolla.stubs(:request).with(:get, '/requests/123456', {}, {}, 'abc')
13
+ Dwolla::Requests.get('123456', {}, 'abc')
14
+ end
15
+
16
+ def test_create
17
+ Dwolla.stubs(:request).with(:post, '/requests/', {:sourceId => '812-111-1234', :amount => 5.00}, {}, 'abc')
18
+ Dwolla::Requests.create({:sourceId => '812-111-1234', :amount => 5.00}, 'abc')
19
+ end
20
+
21
+ def test_delete
22
+ Dwolla.stubs(:request).with(:post, '/requests/123456/cancel', {}, {}, 'abc')
23
+ Dwolla::Requests.delete('123456', 'abc')
24
+ end
25
+
26
+ def test_fulfill
27
+ Dwolla.stubs(:request).with(:post, '/requests/123456/fulfill', {:pin => 1337}, {}, 'abc')
28
+ Dwolla::Requests.fulfill('123456', {:pin => 1337}, 'abc')
29
+ end
30
30
  end