active_zuora 2.2.7 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a747e3910cf07bef5a48b383dbd7b1bed55ce2e8
4
- data.tar.gz: f6cebd3882cdff556ed4572b321c8f10d4167bd6
3
+ metadata.gz: 5f5302e3adec5088e1386b7b8cbfb2e8e5ab802b
4
+ data.tar.gz: 57ff7f96be0fa495509a9a18593b9393e862a47e
5
5
  SHA512:
6
- metadata.gz: 7d8302891f43b7a9cf05e4e88374e5eafb0485d0d1b4650fbedca10262403b9b14b2d7a0c6139e332a2a0a4d25a8408ade65458279d1153de513402198eaab18
7
- data.tar.gz: 1423132188f00f09fb8ca3958de774f465561f03ea2971121b5c73a02a652083519eda312fdf6a7d9b8f67dc17a1c2ef475f564af763ec8b2c07912459a02ad7
6
+ metadata.gz: b633b481e1497d5c59e5221ed656953a6460b9a5e9d689e1e9c46cc53da4aebedae3fbf9f57080a6654826441f002d84e2dcc60e00d1c58ebb18ea2825a6bbc2
7
+ data.tar.gz: 9630192d73bf3852d21fc44c6803b8f1980dad167d49ec0b2baa2292e3ac1d2c5cea36a4e66c3c5d797a07bb3eff8023b253681da5de6bd50893b37bbe9209eb
@@ -1,3 +1,4 @@
1
+ #### v2.3.0
1
2
  #### v2.2.7
2
3
  #### v2.2.6
3
4
  #### v2.2.5
data/README.md CHANGED
@@ -42,6 +42,12 @@ Override the default endpoint or host loaded from the wsdl
42
42
  ActiveZuora::Base.connection.soap_client.wsdl.endpoint.host = "www.zuora.com" if Rails.env.production?
43
43
  ````
44
44
 
45
+ To add custom headers to your Zuora requests, you can use the following pattern
46
+
47
+ ```
48
+ ActiveZuora::Base.connection.custom_header = { 'X-Foo' => 'Bar' }
49
+ ```
50
+
45
51
  ## Defining Classes
46
52
 
47
53
  You can auto-generate all your Zuora classes from the wsdl file. It will generate all Z-Objects, like Account and Subscription, and Zuora Complex objects, such as SubscribeRequest.
@@ -21,7 +21,11 @@ module ActiveZuora
21
21
  # Returns a session_id upon success, raises an exception on failure.
22
22
  # Instance variables aren't available within the soap request block.
23
23
  body = { :username => @username, :password => @password }
24
- @soap_client.request(:login){ soap.body = body }[:login_response][:result][:session]
24
+ header = @custom_header
25
+ @soap_client.request(:login) do
26
+ soap.body = body
27
+ soap.header = header
28
+ end[:login_response][:result][:session]
25
29
  end
26
30
 
27
31
  def request(*args, &block)
@@ -41,4 +45,4 @@ module ActiveZuora
41
45
  end
42
46
 
43
47
  end
44
- end
48
+ end
@@ -152,6 +152,10 @@ module ActiveZuora
152
152
  lazy_load :body
153
153
  end
154
154
 
155
+ customize 'InvoiceItem' do
156
+ exclude_from_queries :product_rate_plan_charge_id
157
+ end
158
+
155
159
  customize 'InvoiceItemAdjustment' do
156
160
  exclude_from_queries :customer_name, :customer_number
157
161
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveZuora
2
- VERSION = "2.2.7"
2
+ VERSION = "2.3.0"
3
3
  end
@@ -34,4 +34,33 @@ describe ActiveZuora::Connection do
34
34
  expect(@stub_was_called).to be_truthy
35
35
  end
36
36
  end
37
+
38
+ describe 'login' do
39
+ before do
40
+ @connection = described_class.new
41
+ end
42
+
43
+ context 'when a custom header is set' do
44
+ it 'uses the custom header' do
45
+ @connection.custom_header = { 'TestHeader' => 'Foo' }
46
+ allow(Savon::SOAP::Request).to receive(:new) do |config, http, soap|
47
+ expect(soap.header).to eq({ 'TestHeader' => 'Foo' })
48
+ double('response').as_null_object
49
+ end
50
+
51
+ @connection.login
52
+ end
53
+ end
54
+
55
+ context 'when a custom header is not set' do
56
+ it 'does not use the custom header' do
57
+ allow(Savon::SOAP::Request).to receive(:new) do |config, http, soap|
58
+ expect(soap.header).to eq({})
59
+ double('response').as_null_object
60
+ end
61
+
62
+ @connection.login
63
+ end
64
+ end
65
+ end
37
66
  end
@@ -1,10 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "Subscribe" do
4
-
5
4
  integration_test do
6
-
7
- before do
5
+ before(:all) do
8
6
  # Setup product.
9
7
  @product = Z::Product.where(:name => "Awesome Product").first ||
10
8
  Z::Product.create!(
@@ -38,11 +36,7 @@ describe "Subscribe" do
38
36
  )
39
37
  end
40
38
 
41
- after do
42
- @product.delete
43
- @account.delete
44
- @account_2.delete if !!@account_2
45
- end
39
+ after(:all) { @product.try(:delete) }
46
40
 
47
41
  it "Can successfully subscribe and amend using a new account" do
48
42
 
@@ -90,9 +84,10 @@ describe "Subscribe" do
90
84
  )
91
85
 
92
86
  subscribe_request.subscribe!
93
- @account = subscribe_request.account
94
- expect(subscribe_request.account.new_record?).to be_falsey
95
- expect(subscribe_request.account.changed?).to be_falsey
87
+ account = subscribe_request.account
88
+
89
+ expect(account.new_record?).to be_falsey
90
+ expect(account.changed?).to be_falsey
96
91
  expect(subscribe_request.subscription_data.subscription.new_record?).to be_falsey
97
92
  expect(subscribe_request.subscription_data.subscription.rate_plans.first.
98
93
  rate_plan_charges.first.
@@ -122,6 +117,8 @@ describe "Subscribe" do
122
117
  amend_request.amend!
123
118
  expect(amend_request.amendments.first.new_record?).to be_falsey
124
119
  expect(amend_request.result).to be_present
120
+
121
+ account.delete
125
122
  end
126
123
 
127
124
  it "Can successfully subscribe and generate an invoice" do
@@ -171,9 +168,10 @@ describe "Subscribe" do
171
168
  )
172
169
 
173
170
  subscribe_request.subscribe!
174
- @account = subscribe_request.account
175
- expect(subscribe_request.account.new_record?).to be_falsey
176
- expect(subscribe_request.account.changed?).to be_falsey
171
+ account = subscribe_request.account
172
+
173
+ expect(account.new_record?).to be_falsey
174
+ expect(account.changed?).to be_falsey
177
175
  expect(subscribe_request.subscription_data.subscription.new_record?).to be_falsey
178
176
  expect(subscribe_request.subscription_data.subscription.rate_plans.first.
179
177
  rate_plan_charges.first.
@@ -214,6 +212,8 @@ describe "Subscribe" do
214
212
  expect(invoice.id).to be_present
215
213
  expect(invoice.account_id).to eq(subscribe_request.account.id)
216
214
  expect(invoice.body).to be_present
215
+
216
+ account.delete
217
217
  end
218
218
 
219
219
  it "Can successfully batch subscribe from a collection proxy of subscribe requests and generate an invoice for the first subscription" do
@@ -308,8 +308,12 @@ describe "Subscribe" do
308
308
  collection = Z::CollectionProxy.new([subscribe_request_1,subscribe_request_2])
309
309
  collection.batch_subscribe!
310
310
 
311
+ account_1 = subscribe_request_1.account
312
+ account_2 = subscribe_request_2.account
313
+
311
314
  #subscribe reqeust 1
312
- @account = subscribe_request_1.account
315
+ expect(account_1.new_record?).to be_falsey
316
+ expect(account_1.changed?).to be_falsey
313
317
  expect(subscribe_request_1.subscription_data.subscription.new_record?).to be_falsey
314
318
  expect(subscribe_request_1.subscription_data.subscription.rate_plans.first.
315
319
  rate_plan_charges.first.
@@ -317,13 +321,15 @@ describe "Subscribe" do
317
321
  expect(subscribe_request_1.result).to be_present
318
322
 
319
323
  #subscribe reqeust 2
320
- @account_2 = subscribe_request_2.account
324
+ expect(account_2.new_record?).to be_falsey
325
+ expect(account_2.changed?).to be_falsey
321
326
  expect(subscribe_request_2.subscription_data.subscription.new_record?).to be_falsey
322
327
  expect(subscribe_request_2.subscription_data.subscription.rate_plans.first.
323
328
  rate_plan_charges.first.
324
329
  product_rate_plan_charge).to eq(@product_rate_plan_charge)
325
330
  expect(subscribe_request_2.result).to be_present
326
- end
327
331
 
332
+ [account_1, account_2].each(&:delete)
333
+ end
328
334
  end
329
335
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_zuora
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.7
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ed Lebert
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-06-24 00:00:00.000000000 Z
12
+ date: 2015-10-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: savon