moip2 0.1.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +644 -0
  3. data/.travis.yml +14 -3
  4. data/CONTRIBUTING.md +42 -0
  5. data/Gemfile +1 -1
  6. data/Gemfile.lock +25 -6
  7. data/Guardfile +1 -2
  8. data/README.md +373 -74
  9. data/Rakefile +2 -2
  10. data/changelog.md +36 -0
  11. data/lib/moip2/accounts_api.rb +27 -0
  12. data/lib/moip2/api.rb +25 -2
  13. data/lib/moip2/auth/basic.rb +2 -5
  14. data/lib/moip2/auth/oauth.rb +0 -3
  15. data/lib/moip2/client.rb +45 -31
  16. data/lib/moip2/connect_api.rb +41 -0
  17. data/lib/moip2/customer_api.rb +16 -2
  18. data/lib/moip2/exceptions/invalid_enviroment_error.rb +0 -2
  19. data/lib/moip2/invoice_api.rb +8 -3
  20. data/lib/moip2/keys_api.rb +14 -14
  21. data/lib/moip2/multi_order_api.rb +1 -3
  22. data/lib/moip2/multi_payment_api.rb +1 -1
  23. data/lib/moip2/notifications_api.rb +33 -0
  24. data/lib/moip2/order_api.rb +18 -3
  25. data/lib/moip2/payment_api.rb +11 -1
  26. data/lib/moip2/refund_api.rb +5 -4
  27. data/lib/moip2/resource/account.rb +12 -0
  28. data/lib/moip2/resource/connect.rb +9 -0
  29. data/lib/moip2/resource/credit_card.rb +12 -0
  30. data/lib/moip2/resource/customer.rb +0 -4
  31. data/lib/moip2/resource/invoice.rb +0 -2
  32. data/lib/moip2/resource/keys.rb +1 -3
  33. data/lib/moip2/resource/multi_order.rb +2 -6
  34. data/lib/moip2/resource/multi_payment.rb +1 -3
  35. data/lib/moip2/resource/notification.rb +12 -0
  36. data/lib/moip2/resource/order.rb +0 -4
  37. data/lib/moip2/resource/payment.rb +0 -4
  38. data/lib/moip2/resource/refund.rb +1 -2
  39. data/lib/moip2/resource/webhooks.rb +11 -13
  40. data/lib/moip2/response.rb +7 -7
  41. data/lib/moip2/util/filters_encoder.rb +28 -0
  42. data/lib/moip2/version.rb +1 -1
  43. data/lib/moip2/webhooks_api.rb +16 -16
  44. data/lib/moip2.rb +10 -5
  45. data/moip2.gemspec +21 -7
  46. data/spec/moip2/accounts_api_spec.rb +189 -0
  47. data/spec/moip2/api_spec.rb +22 -4
  48. data/spec/moip2/auth/basic_spec.rb +8 -4
  49. data/spec/moip2/auth/oauth_spec.rb +4 -4
  50. data/spec/moip2/client_spec.rb +20 -27
  51. data/spec/moip2/connect_api_spec.rb +68 -0
  52. data/spec/moip2/customer_api_spec.rb +147 -72
  53. data/spec/moip2/invoice_spec.rb +51 -32
  54. data/spec/moip2/keys_spec.rb +16 -18
  55. data/spec/moip2/multi_order_api_spec.rb +99 -108
  56. data/spec/moip2/multi_payment_api_spec.rb +8 -11
  57. data/spec/moip2/notifications_api_spec.rb +104 -0
  58. data/spec/moip2/order_api_spec.rb +100 -20
  59. data/spec/moip2/payment_api_spec.rb +77 -17
  60. data/spec/moip2/refund_api_spec.rb +2 -4
  61. data/spec/moip2/resource/order_spec.rb +24 -28
  62. data/spec/moip2/response_spec.rb +0 -8
  63. data/spec/moip2/webhooks_spec.rb +18 -21
  64. data/spec/moip2_spec.rb +6 -13
  65. data/spec/spec_helper.rb +24 -10
  66. data/vcr_cassettes/_create_invoice.yml +42 -0
  67. data/vcr_cassettes/_get_invoice.yml +41 -0
  68. data/vcr_cassettes/account_doesnt_exist.yml +44 -0
  69. data/vcr_cassettes/account_exists.yml +46 -0
  70. data/vcr_cassettes/accounts_show_existent.yml +50 -0
  71. data/vcr_cassettes/accounts_show_nonexistent.yml +42 -0
  72. data/vcr_cassettes/cancel_payment.yml +43 -0
  73. data/vcr_cassettes/capture_payment.yml +42 -0
  74. data/vcr_cassettes/create_account_success_company.yml +87 -0
  75. data/vcr_cassettes/create_account_success_standalone.yml +74 -0
  76. data/vcr_cassettes/create_credit_card_customer.yml +41 -0
  77. data/vcr_cassettes/create_invoice.yml +10 -16
  78. data/vcr_cassettes/create_notification.yml +38 -0
  79. data/vcr_cassettes/create_notification_app.yml +38 -0
  80. data/vcr_cassettes/delete_credit_card_customer.yml +40 -0
  81. data/vcr_cassettes/delete_nonexistent_credit_card_customer.yml +40 -0
  82. data/vcr_cassettes/delete_nonexistent_notification.yml +40 -0
  83. data/vcr_cassettes/delete_notification.yml +36 -0
  84. data/vcr_cassettes/find_all_orders_filters.yml +56 -0
  85. data/vcr_cassettes/find_all_orders_limit.yml +48 -0
  86. data/vcr_cassettes/find_all_orders_multi_filters.yml +57 -0
  87. data/vcr_cassettes/find_all_orders_no_filter.yml +56 -0
  88. data/vcr_cassettes/generate_oauth_token.yml +42 -0
  89. data/vcr_cassettes/get_invoice.yml +10 -15
  90. data/vcr_cassettes/get_keys.yml +1 -1
  91. data/vcr_cassettes/get_notification.yml +38 -0
  92. data/vcr_cassettes/get_notifications_list.yml +38 -0
  93. data/vcr_cassettes/get_payment.yml +42 -0
  94. data/vcr_cassettes/get_payment_not_found.yml +40 -0
  95. data/vcr_cassettes/get_webhooks.yml +1 -1
  96. data/vcr_cassettes/list_invoices.yml +2 -2
  97. data/vcr_cassettes/refresh_oauth_token.yml +40 -0
  98. data/vcr_cassettes/update_invoice.yml +1 -1
  99. metadata +69 -7
@@ -1,8 +1,6 @@
1
1
  module Moip2
2
2
  module Resource
3
-
4
3
  class Order < SimpleDelegator
5
-
6
4
  attr_reader :client, :payment_api, :external_id
7
5
 
8
6
  def initialize(client, response)
@@ -18,8 +16,6 @@ module Moip2
18
16
  def create_payment(payment)
19
17
  payment_api.create(external_id, payment)
20
18
  end
21
-
22
19
  end
23
-
24
20
  end
25
21
  end
@@ -1,13 +1,9 @@
1
1
  module Moip2
2
2
  module Resource
3
-
4
3
  class Payment < SimpleDelegator
5
-
6
4
  def intialize(response)
7
5
  super(response)
8
6
  end
9
-
10
7
  end
11
-
12
8
  end
13
9
  end
@@ -7,7 +7,6 @@ module Moip2
7
7
  super(response)
8
8
  @client = client
9
9
  end
10
-
11
10
  end
12
11
  end
13
- end
12
+ end
@@ -1,14 +1,12 @@
1
1
  module Moip2
2
- module Resource
3
-
4
- class Webhooks < SimpleDelegator
5
- attr_reader :client
6
-
7
- def initialize(client, response)
8
- super(response)
9
- @client = client
10
- end
11
- end
12
-
13
- end
14
- end
2
+ module Resource
3
+ class Webhooks < SimpleDelegator
4
+ attr_reader :client
5
+
6
+ def initialize(client, response)
7
+ super(response)
8
+ @client = client
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,20 +1,20 @@
1
1
  module Moip2
2
-
3
2
  class Response < SimpleDelegator
4
-
5
3
  def initialize(resp, json)
6
- super(RecursiveOpenStruct.new(json, :recurse_over_arrays => true))
4
+ if json.is_a? Hash
5
+ super(RecursiveOpenStruct.new(json, recurse_over_arrays: true))
6
+ else
7
+ super(resp)
8
+ end
7
9
  @resp = resp
8
10
  end
9
11
 
10
12
  def success?
11
- (200..299).include? @resp.code.to_i
13
+ (200..299).cover? @resp.code.to_i
12
14
  end
13
15
 
14
16
  def client_error?
15
- (400..499).include? @resp.code.to_i
17
+ (400..499).cover? @resp.code.to_i
16
18
  end
17
-
18
19
  end
19
-
20
20
  end
@@ -0,0 +1,28 @@
1
+ module Moip2
2
+ module Util
3
+ class FiltersEncoder
4
+ def self.encode(filters)
5
+ return nil unless filters.is_a? Hash
6
+
7
+ encoded_filters = filters.map do |field, value|
8
+ rules = extract_rules(field, value)
9
+ rules.join("|")
10
+ end
11
+
12
+ encoded_filters.join("|")
13
+ end
14
+
15
+ private
16
+
17
+ def self.extract_rules(field, rules)
18
+ rules.map do |type, value|
19
+ return unless %i[gt ge lt le bt in].include?(type)
20
+
21
+ content = value.is_a?(Array) ? value.join(",") : value
22
+
23
+ "#{field}::#{type}(#{content})"
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
data/lib/moip2/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Moip2
2
- VERSION = "0.1.4"
2
+ VERSION = "1.0.0".freeze
3
3
  end
@@ -1,17 +1,17 @@
1
1
  module Moip2
2
- class WebhooksApi
3
- attr_reader :client
4
-
5
- def initialize(client)
6
- @client = client
7
- end
8
-
9
- def base_path
10
- "/v2/webhooks"
11
- end
12
-
13
- def show
14
- Resource::Webhooks.new(client, client.get("#{base_path}"))
15
- end
16
- end
17
- end
2
+ class WebhooksApi
3
+ attr_reader :client
4
+
5
+ def initialize(client)
6
+ @client = client
7
+ end
8
+
9
+ def base_path
10
+ "/v2/webhooks"
11
+ end
12
+
13
+ def show
14
+ Resource::Webhooks.new(client, client.get(base_path.to_s))
15
+ end
16
+ end
17
+ end
data/lib/moip2.rb CHANGED
@@ -7,6 +7,7 @@ require "moip2/version"
7
7
  require "moip2/auth/basic"
8
8
  require "moip2/auth/oauth"
9
9
 
10
+ require "moip2/resource/account"
10
11
  require "moip2/resource/order"
11
12
  require "moip2/resource/payment"
12
13
  require "moip2/resource/multi_order"
@@ -16,6 +17,9 @@ require "moip2/resource/invoice"
16
17
  require "moip2/resource/keys"
17
18
  require "moip2/resource/refund"
18
19
  require "moip2/resource/webhooks"
20
+ require "moip2/resource/connect"
21
+ require "moip2/resource/credit_card"
22
+ require "moip2/resource/notification"
19
23
 
20
24
  require "moip2/response"
21
25
  require "moip2/client"
@@ -29,14 +33,17 @@ require "moip2/refund_api"
29
33
  require "moip2/api"
30
34
  require "moip2/keys_api"
31
35
  require "moip2/webhooks_api"
36
+ require "moip2/accounts_api"
37
+ require "moip2/connect_api"
38
+ require "moip2/notifications_api"
32
39
 
33
40
  require "moip2/exceptions/invalid_enviroment_error"
34
41
 
35
- module Moip2
42
+ require "moip2/util/filters_encoder"
36
43
 
44
+ module Moip2
37
45
  class << self
38
-
39
- VALID_ENVS = %i(sandbox production)
46
+ VALID_ENVS = %i(sandbox production).freeze
40
47
 
41
48
  def env=(env)
42
49
  raise InvalidEnviromentError unless VALID_ENVS.include?(env.to_sym)
@@ -68,10 +75,8 @@ module Moip2
68
75
 
69
76
  Api.new Client.new(env, auth)
70
77
  end
71
-
72
78
  end
73
79
 
74
80
  class NotFoundError < StandardError
75
81
  end
76
-
77
82
  end
data/moip2.gemspec CHANGED
@@ -1,15 +1,28 @@
1
1
  # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
2
+
3
+ lib = File.expand_path("../lib", __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'moip2/version'
5
+ require "moip2/version"
5
6
 
6
7
  Gem::Specification.new do |spec|
7
8
  spec.name = "moip2"
8
9
  spec.version = Moip2::VERSION
9
- spec.authors = ["Rodrigo Saito", "Danillo Souza", "Caio Gama"]
10
- spec.email = ["rodrigo.saito@moip.com.br", "danillo.souza@moip.com.br", "caio.gama@moip.com.br"]
11
- spec.summary = %q{Ruby client for moip v2 api}
12
- spec.description = %q{Ruby client for moip v2 api}
10
+ spec.authors = [
11
+ "Rodrigo Saito",
12
+ "Danillo Souza",
13
+ "Caio Gama",
14
+ "João Lucas Lucchetta",
15
+ "Caio Gaspar",
16
+ ]
17
+ spec.email = [
18
+ "rodrigo.saito@moip.com.br",
19
+ "danillo.souza@moip.com.br",
20
+ "caio.gama@moip.com.br",
21
+ "joao.lucchetta@moip.com.br",
22
+ "caio.gaspar@moip.com.br",
23
+ ]
24
+ spec.summary = "Ruby client for moip v2 api"
25
+ spec.description = "Ruby client for moip v2 api"
13
26
  spec.homepage = ""
14
27
  spec.license = "MIT"
15
28
 
@@ -21,11 +34,12 @@ Gem::Specification.new do |spec|
21
34
  spec.add_dependency "httparty"
22
35
  spec.add_dependency "recursive-open-struct"
23
36
 
24
- spec.add_development_dependency "bundler", "~> 1.5"
37
+ spec.add_development_dependency "bundler"
25
38
  spec.add_development_dependency "rake"
26
39
  spec.add_development_dependency "rspec"
27
40
  spec.add_development_dependency "vcr"
28
41
  spec.add_development_dependency "webmock"
29
42
  spec.add_development_dependency "guard-rspec"
30
43
  spec.add_development_dependency "codeclimate-test-reporter"
44
+ spec.add_development_dependency "rubocop", "0.49.1"
31
45
  end
@@ -0,0 +1,189 @@
1
+ describe Moip2::AccountsApi do
2
+ let(:accounts_api) { described_class.new sandbox_oauth_client }
3
+
4
+ describe "#create" do
5
+ describe "standalone account" do
6
+ let(:account) do
7
+ {
8
+ email: {
9
+ address: "dev.moip.1503312362@labs.moip.com.br",
10
+ },
11
+ person: {
12
+ name: "Joaquim José",
13
+ lastName: "Silva Silva",
14
+ taxDocument: {
15
+ type: "CPF",
16
+ number: "572.619.050-54",
17
+ },
18
+ identityDocument: {
19
+ type: "RG",
20
+ number: "35.868.057-8",
21
+ issuer: "SSP",
22
+ issueDate: "2000-12-12",
23
+ },
24
+ birthDate: "1990-01-01",
25
+ phone: {
26
+ countryCode: "55",
27
+ areaCode: "11",
28
+ number: "965213244",
29
+ },
30
+ address: {
31
+ street: "Av. Brigadeiro Faria Lima",
32
+ streetNumber: "2927",
33
+ district: "Itaim",
34
+ zipCode: "01234-000",
35
+ city: "S\u00E3o Paulo",
36
+ state: "SP",
37
+ country: "BRA",
38
+ },
39
+ },
40
+ type: "MERCHANT",
41
+ }
42
+ end
43
+
44
+ let(:created_account) do
45
+ VCR.use_cassette("create_account_success_standalone") do
46
+ accounts_api.create(account)
47
+ end
48
+ end
49
+
50
+ it "creates an account accordingly" do
51
+ expect(created_account.id).to_not be_nil
52
+ expect(created_account.type).to eq("MERCHANT")
53
+ expect(created_account.transparent_account).to be false
54
+ expect(created_account.person.name).to eq("Joaquim José")
55
+ expect(created_account.person.last_name).to eq("Silva Silva")
56
+ end
57
+ end
58
+
59
+ describe "company account" do
60
+ let(:account) do
61
+ {
62
+ email: {
63
+ address: "dev.moip.1503312536@labs.moip.com.br",
64
+ },
65
+ person: {
66
+ name: "Joaquim José",
67
+ lastName: "Silva Silva",
68
+ taxDocument: {
69
+ type: "CPF",
70
+ number: "436.130.670-21",
71
+ },
72
+ identityDocument: {
73
+ type: "RG",
74
+ number: "30.790.138-5",
75
+ issuer: "SSP",
76
+ issueDate: "2000-12-12",
77
+ },
78
+ birthDate: "1990-01-01",
79
+ phone: {
80
+ countryCode: "55",
81
+ areaCode: "11",
82
+ number: "965213244",
83
+ },
84
+ address: {
85
+ street: "Av. Brigadeiro Faria Lima",
86
+ streetNumber: "2927",
87
+ district: "Itaim",
88
+ zipCode: "01234-000",
89
+ city: "S\u00E3o Paulo",
90
+ state: "SP",
91
+ country: "BRA",
92
+ },
93
+ },
94
+ company: {
95
+ name: "ACME Factories",
96
+ businessName: "ACME Inc.",
97
+ taxDocument: {
98
+ type: "CNPJ",
99
+ number: "88127676000191",
100
+ },
101
+ mainActivity: {
102
+ cnae: "82.91-1/00",
103
+ description: "Atividades de cobranças e informações cadastrais",
104
+ },
105
+ openingDate: "2011-01-01",
106
+ phone: {
107
+ countryCode: "55",
108
+ areaCode: "15",
109
+ number: "40028922",
110
+ },
111
+ address: {
112
+ street: "Av. Brig Faria Lima",
113
+ streetNumber: "3064",
114
+ complement: "12o Andar",
115
+ district: "Itaim Bibi",
116
+ zipCode: "01452002",
117
+ city: "São Paulo",
118
+ state: "SP",
119
+ country: "BRA",
120
+ },
121
+ },
122
+ type: "MERCHANT",
123
+ }
124
+ end
125
+
126
+ let(:created_account) do
127
+ VCR.use_cassette("create_account_success_company") do
128
+ accounts_api.create(account)
129
+ end
130
+ end
131
+
132
+ it "creates an account accordingly" do
133
+ expect(created_account.id).to_not be_nil
134
+ expect(created_account.type).to eq("MERCHANT")
135
+ expect(created_account.transparent_account).to be false
136
+ expect(created_account.person.name).to eq("Joaquim José")
137
+ expect(created_account.person.last_name).to eq("Silva Silva")
138
+ expect(created_account.company.business_name).to eq("ACME Inc.")
139
+ expect(created_account.company.tax_document.number).to eq("88.127.676/0001-91")
140
+ end
141
+ end
142
+ end
143
+
144
+ describe "#exists" do
145
+ describe "with a registered tax document" do
146
+ let(:existence_check) do
147
+ VCR.use_cassette("account_exists") do
148
+ accounts_api.exists?("436.130.670-21")
149
+ end
150
+ end
151
+
152
+ it { expect(existence_check).to be true }
153
+ end
154
+
155
+ describe "with a non registered tax document" do
156
+ let(:existence_check) do
157
+ VCR.use_cassette("account_doesnt_exist") do
158
+ accounts_api.exists?("555.000.123-40")
159
+ end
160
+ end
161
+
162
+ it { expect(existence_check).to be false }
163
+ end
164
+ end
165
+
166
+ describe "#show" do
167
+ context "when given an existent account" do
168
+ let(:retrieved_account) do
169
+ VCR.use_cassette("accounts_show_existent") do
170
+ accounts_api.show("MPA-67C15332EB4A")
171
+ end
172
+ end
173
+
174
+ it { expect(retrieved_account.id).to eq("MPA-67C15332EB4A") }
175
+ it { expect(retrieved_account.person.name).to eq("Joaquim") }
176
+ it { expect(retrieved_account.person.last_name).to eq("Silva Silva") }
177
+ end
178
+
179
+ context "when given a nonexistent account" do
180
+ let(:retrieved_account) do
181
+ VCR.use_cassette("accounts_show_nonexistent") do
182
+ accounts_api.show("MPA-F00B4R123456")
183
+ end
184
+ end
185
+
186
+ it { expect { retrieved_account }.to raise_error(Moip2::NotFoundError) }
187
+ end
188
+ end
189
+ end
@@ -1,6 +1,5 @@
1
1
  describe Moip2::Api do
2
-
3
- let(:auth) { Moip2::Auth::Basic.new('', '') }
2
+ let(:auth) { Moip2::Auth::Basic.new("", "") }
4
3
  let(:client) { Moip2::Client.new(:sandbox, auth) }
5
4
  let(:api) { described_class.new client }
6
5
 
@@ -8,10 +7,9 @@ describe Moip2::Api do
8
7
  it "returns an OrderApi" do
9
8
  expect(api.order).to be_a(Moip2::OrderApi)
10
9
  end
11
-
12
10
  end
13
11
 
14
- describe "#payment" do
12
+ describe "#payment" do
15
13
  it "returns a PaymentApi" do
16
14
  expect(api.payment).to be_a(Moip2::PaymentApi)
17
15
  end
@@ -29,4 +27,24 @@ describe Moip2::Api do
29
27
  it { expect(api.keys).to be_a Moip2::KeysApi }
30
28
  end
31
29
 
30
+ describe "#customer" do
31
+ it { expect(api.customer).to be_a Moip2::CustomerApi }
32
+ end
33
+
34
+ describe "#multi_order" do
35
+ it { expect(api.multi_order).to be_a Moip2::MultiOrderApi }
36
+ end
37
+
38
+ describe "#multi_payment" do
39
+ it { expect(api.multi_payment).to be_a Moip2::MultiPaymentApi }
40
+ end
41
+
42
+ describe "#accounts" do
43
+ it { expect(api.accounts).to be_a Moip2::AccountsApi }
44
+ end
45
+
46
+ describe "#connect" do
47
+ it { expect(api.connect).to be_a Moip2::ConnectApi }
48
+ it { expect(api.connect.client.uri).to eq "https://connect-sandbox.moip.com.br" }
49
+ end
32
50
  end
@@ -1,9 +1,13 @@
1
1
  describe Moip2::Auth::Basic do
2
-
3
- let(:basic) { described_class.new('01010101010101010101010101010101', 'ABABABABABABABABABABABABABABABABABABABAB') }
2
+ let(:basic) do
3
+ described_class.new(
4
+ "01010101010101010101010101010101",
5
+ "ABABABABABABABABABABABABABABABABABABABAB",
6
+ )
7
+ end
4
8
 
5
9
  it "builds authorization header" do
6
- expect(basic.header).to eq "Basic MDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE6QUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQg=="
10
+ expect(basic.header).to eq "Basic MDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE6QUJBQkFCQUJBQkF"\
11
+ "CQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQg=="
7
12
  end
8
-
9
13
  end
@@ -1,9 +1,9 @@
1
1
  describe Moip2::Auth::OAuth do
2
- let(:oauth_with_text) { described_class.new "OAuth d63tz2xwyu0ewrembove4j5cbv2otpd" }
3
- let(:oauth_without_text) { described_class.new "d63tz2xwyu0ewrembove4j5cbv2otpd" }
2
+ let(:oauth_with_text) { described_class.new "OAuth 9fdc242631454d4c95d82e27b4127394_v2" }
3
+ let(:oauth_without_text) { described_class.new "9fdc242631454d4c95d82e27b4127394_v2" }
4
4
 
5
5
  describe ".header" do
6
- it { expect(oauth_with_text.header).to eq "OAuth d63tz2xwyu0ewrembove4j5cbv2otpd" }
7
- it { expect(oauth_without_text.header).to eq "OAuth d63tz2xwyu0ewrembove4j5cbv2otpd" }
6
+ it { expect(oauth_with_text.header).to eq "OAuth 9fdc242631454d4c95d82e27b4127394_v2" }
7
+ it { expect(oauth_without_text.header).to eq "OAuth 9fdc242631454d4c95d82e27b4127394_v2" }
8
8
  end
9
9
  end
@@ -1,11 +1,10 @@
1
1
  describe Moip2::Client do
2
-
3
2
  let(:auth) do
4
3
  Moip2::Auth::Basic.new("TOKEN", "SECRET")
5
4
  end
6
5
 
7
6
  let(:oauth) do
8
- Moip2::Auth::OAuth.new "d63tz2xwyu0ewrembove4j5cbv2otpd"
7
+ Moip2::Auth::OAuth.new "9fdc242631454d4c95d82e27b4127394_v2"
9
8
  end
10
9
 
11
10
  describe "initialize env with string" do
@@ -17,16 +16,16 @@ describe Moip2::Client do
17
16
  end
18
17
 
19
18
  describe "initialize on sandbox with OAuth" do
20
-
21
19
  let(:client) do
22
20
  described_class.new :sandbox, auth
23
21
  end
24
22
 
25
23
  let(:client) { described_class.new :sandbox, oauth }
26
- it { expect(client.uri).to eq ENV['sandbox_url'] }
24
+ it { expect(client.uri).to eq ENV["sandbox_url"] }
27
25
  it { expect(client.env).to eq :sandbox }
28
- it { expect(client.opts[:headers]["Authorization"]).to eq "OAuth d63tz2xwyu0ewrembove4j5cbv2otpd" }
29
-
26
+ it {
27
+ expect(client.opts[:headers]["Authorization"]).to eq "OAuth 9fdc242631454d4c95d82e27b4127394_v2"
28
+ }
30
29
  end
31
30
 
32
31
  describe "initialize on production" do
@@ -36,30 +35,30 @@ describe Moip2::Client do
36
35
 
37
36
  it { expect(client.uri).to eq "https://api.moip.com.br" }
38
37
  it { expect(client.env).to eq :production }
39
- it { expect(client.opts[:headers]["Authorization"]).to eq "OAuth d63tz2xwyu0ewrembove4j5cbv2otpd" }
38
+ it {
39
+ expect(client.opts[:headers]["Authorization"]).to eq "OAuth 9fdc242631454d4c95d82e27b4127394_v2"
40
+ }
40
41
  end
41
42
 
42
43
  describe "initialize on sandbox with base_uri and OAuth" do
43
-
44
44
  before do
45
- ENV['base_uri'] = "http://localhost:5000"
45
+ ENV["base_uri"] = "http://localhost:5000"
46
46
  end
47
47
 
48
48
  let(:client) do
49
49
  described_class.new :sandbox, oauth
50
50
  end
51
51
 
52
-
53
52
  it { expect(client.uri).to eq "http://localhost:5000" }
54
53
  it { expect(client.env).to eq :sandbox }
55
- it { expect(client.opts[:headers]["Authorization"]).to eq "OAuth d63tz2xwyu0ewrembove4j5cbv2otpd" }
56
-
54
+ it {
55
+ expect(client.opts[:headers]["Authorization"]).to eq "OAuth 9fdc242631454d4c95d82e27b4127394_v2"
56
+ }
57
57
  end
58
58
 
59
59
  describe "initialize on production with base_uri and OAuth" do
60
-
61
60
  before do
62
- ENV['base_uri'] = "http://localhost:5000"
61
+ ENV["base_uri"] = "http://localhost:5000"
63
62
  end
64
63
 
65
64
  let(:client) do
@@ -68,31 +67,28 @@ describe Moip2::Client do
68
67
 
69
68
  it { expect(client.uri).to eq "http://localhost:5000" }
70
69
  it { expect(client.env).to eq :production }
71
- it { expect(client.opts[:headers]["Authorization"]).to eq "OAuth d63tz2xwyu0ewrembove4j5cbv2otpd" }
72
-
70
+ it {
71
+ expect(client.opts[:headers]["Authorization"]).to eq "OAuth 9fdc242631454d4c95d82e27b4127394_v2"
72
+ }
73
73
  end
74
74
 
75
75
  describe "initialize on sandbox with base_uri" do
76
-
77
76
  before do
78
- ENV['base_uri'] = "http://localhost:5000"
77
+ ENV["base_uri"] = "http://localhost:5000"
79
78
  end
80
79
 
81
80
  let(:client) do
82
81
  described_class.new :sandbox, auth
83
82
  end
84
83
 
85
-
86
84
  it { expect(client.uri).to eq "http://localhost:5000" }
87
85
  it { expect(client.env).to eq :sandbox }
88
86
  it { expect(client.opts[:headers]["Authorization"]).to eq "Basic VE9LRU46U0VDUkVU" }
89
-
90
87
  end
91
88
 
92
89
  describe "initialize on production with base_uri" do
93
-
94
90
  before do
95
- ENV['base_uri'] = "http://localhost:5000"
91
+ ENV["base_uri"] = "http://localhost:5000"
96
92
  end
97
93
 
98
94
  let(:client) do
@@ -102,20 +98,18 @@ describe Moip2::Client do
102
98
  it { expect(client.uri).to eq "http://localhost:5000" }
103
99
  it { expect(client.env).to eq :production }
104
100
  it { expect(client.opts[:headers]["Authorization"]).to eq "Basic VE9LRU46U0VDUkVU" }
105
-
106
101
  end
107
102
 
108
103
  describe "initialize on sandbox" do
109
-
110
104
  before do
111
- ENV['base_uri'] = nil
105
+ ENV["base_uri"] = nil
112
106
  end
113
107
 
114
108
  let(:client) do
115
109
  described_class.new :sandbox, auth
116
110
  end
117
111
 
118
- it { expect(client.uri).to eq ENV['sandbox_url'] }
112
+ it { expect(client.uri).to eq ENV["sandbox_url"] }
119
113
  it { expect(client.env).to eq :sandbox }
120
114
  it { expect(client.opts[:headers]["Authorization"]).to eq "Basic VE9LRU46U0VDUkVU" }
121
115
  end
@@ -129,5 +123,4 @@ describe Moip2::Client do
129
123
  it { expect(client.env).to eq :production }
130
124
  it { expect(client.opts[:headers]["Authorization"]).to eq "Basic VE9LRU46U0VDUkVU" }
131
125
  end
132
-
133
126
  end