active_zuora 2.2.7 → 2.3.0

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.
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