zuora_connect 1.6.06 → 1.7.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: 3aab6b6790b92249ea03f26bf79222ec77720566
4
- data.tar.gz: 5f09e4567ab8a4bdac1defe735a5b43809295dd9
3
+ metadata.gz: 5aeb9466de005d8eff32c27e0ecd08694aa351ad
4
+ data.tar.gz: cf8deeee4650bd0fd595fba68758d1e3e1c831a4
5
5
  SHA512:
6
- metadata.gz: 9b20a0da49a4ee3ff62950fb04419a5d3a98fe1d381ed9b9bcc04c7564c8e9d053db136740a82ff74ad950ce47e094aa63b66739dc35ba1a7d4924c95ab4541b
7
- data.tar.gz: fe902be31ee9eb458cc92204cc4addb4ea50a973973247b6a1d44fb1b670a0d0dc35b1644ac5ff8248741b1926dd589e8d17372b1199975530fb98ddbc65a2b9
6
+ metadata.gz: 8c0a73ea96d302e9643b7277940c5618a0cc1a79f911e6bf0ab44d04235e6bb76ea054c7b6247b477af4378633636a01aa48ee9296931cebc6a3b5993ba012b5
7
+ data.tar.gz: 2f1d5a979d8f1a81e3e3eac212bf27f5162d42dcfdab26ab3acd2ca97a3eeac983e42891b17d7c7ad3eb9f53dc50e91fbc5da0f6f76d0e84e237d4cd19179f4e
@@ -223,7 +223,7 @@ module ZuoraConnect
223
223
  Rails.logger.debug("[#{self.id}] REFRESH TASK - Connect Task Info Request Time #{response_time.round(2).to_s}")
224
224
  if response.code == 200
225
225
  build_task(JSON.parse(response.body), session)
226
- @last_refresh = Time.now.to_i
226
+ self.last_refresh = Time.now.to_i
227
227
  self.cache_app_instance
228
228
  self.reset_mark_for_refresh
229
229
  else
@@ -253,21 +253,23 @@ module ZuoraConnect
253
253
 
254
254
  #### START Task Mathods ####
255
255
  def build_task(task_data, session)
256
- begin
257
- @task_data = task_data
258
- @mode = @task_data["mode"]
259
- @task_data.each do |k,v|
260
- if k.match(/^(.*)_login$/)
261
- tmp = ZuoraConnect::Login.new(v)
262
- if !session.nil? && v["tenant_type"] == "Zuora"
263
- if tmp.entities.size > 0
264
- tmp.entities.each do |value|
265
- entity_id = value["id"]
266
- tmp.client(entity_id).current_session = session["#{self.id}::#{k}::#{entity_id}:session"] if !session.nil? && v["tenant_type"] == "Zuora" && session["#{self.id}::#{k}::#{entity_id}:session"]
267
- end
268
- else
269
- tmp.client.current_session = session["#{self.id}::#{k}:session"] if !session.nil? && v["tenant_type"] == "Zuora" && session["#{self.id}::#{k}:session"]
256
+ @task_data = task_data
257
+ @mode = @task_data["mode"]
258
+ @task_data.each do |k,v|
259
+ if k.match(/^(.*)_login$/)
260
+ tmp = ZuoraConnect::Login.new(v)
261
+ if session.present? && v["tenant_type"] == "Zuora"
262
+ if tmp.entities.size > 0
263
+ tmp.entities.each do |value|
264
+ entity_id = value["id"]
265
+ tmp.client(entity_id).current_session = session["#{self.id}::#{k}::#{entity_id}:current_session"] if session["#{self.id}::#{k}::#{entity_id}:current_session"]
266
+ tmp.client(entity_id).bearer_token = session["#{self.id}::#{k}::#{entity_id}:bearer_token"] if session["#{self.id}::#{k}::#{entity_id}:bearer_token"]
267
+ tmp.client(entity_id).oauth_session_expires_at = session["#{self.id}::#{k}::#{entity_id}:oauth_session_expires_at"] if session["#{self.id}::#{k}::#{entity_id}:oauth_session_expires_at"]
270
268
  end
269
+ else
270
+ tmp.client.current_session = session["#{self.id}::#{k}:current_session"] if session["#{self.id}::#{k}:current_session"]
271
+ tmp.client.bearer_token = session["#{self.id}::#{k}:bearer_token"] if session["#{self.id}::#{k}:bearer_token"] && tmp.client.respond_to?(:bearer_token) ## need incase session id goes from basic to aouth in same redis store
272
+ tmp.client.oauth_session_expires_at = session["#{self.id}::#{k}:oauth_session_expires_at"] if session["#{self.id}::#{k}:oauth_session_expires_at"] && tmp.client.respond_to?(:oauth_session_expires_at)
271
273
  end
272
274
  @logins[k] = tmp
273
275
  self.attr_builder(k, @logins[k])
@@ -443,10 +445,14 @@ module ZuoraConnect
443
445
  if login.tenant_type == "Zuora"
444
446
  if login.available_entities.size > 1 && Rails.application.config.session_store != ActionDispatch::Session::CookieStore
445
447
  login.available_entities.each do |entity_key|
446
- session["#{self.id}::#{key}::#{entity_key}:session"] = login.client(entity_key).current_session
448
+ session["#{self.id}::#{key}::#{entity_key}:current_session"] = login.client(entity_key).current_session if login.client.respond_to?(:current_session)
449
+ session["#{self.id}::#{key}::#{entity_key}:bearer_token"] = login.client(entity_key).bearer_token if login.client.respond_to?(:bearer_token)
450
+ session["#{self.id}::#{key}::#{entity_key}:oauth_session_expires_at"] = login.client(entity_key).oauth_session_expires_at if login.client.respond_to?(:oauth_session_expires_at)
447
451
  end
448
452
  else
449
- session["#{self.id}::#{key}:session"] = login.client.current_session
453
+ session["#{self.id}::#{key}:current_session"] = login.client.current_session if login.client.respond_to?(:current_session)
454
+ session["#{self.id}::#{key}:bearer_token"] = login.client.bearer_token if login.client.respond_to?(:bearer_token)
455
+ session["#{self.id}::#{key}:oauth_session_expires_at"] = login.client.oauth_session_expires_at if login.client.respond_to?(:oauth_session_expires_at)
450
456
  end
451
457
  end
452
458
  end
@@ -496,7 +502,7 @@ module ZuoraConnect
496
502
  def encrypt_data(data: nil)
497
503
  return data if data.blank?
498
504
 
499
- if Rails.env == 'development'
505
+ if ['development', 'test'].include?(Rails.env)
500
506
  return data.to_json
501
507
  else
502
508
  return encryptor.encrypt_and_sign(data.to_json)
@@ -745,7 +751,6 @@ module ZuoraConnect
745
751
  Redis.current.set("Catalog:#{self.id}:#{object_id}:Hierarchy", encrypt_data(data: object_hierarchy))
746
752
  Redis.current.set("Catalog:#{self.id}:#{object_id}:Children:#{child_objects}", encrypt_data(data: stub_catalog)) if cache
747
753
  end
748
-
749
754
  return stub_catalog
750
755
  end
751
756
  ### END Catalog Helping Methods #####
@@ -850,4 +855,4 @@ module ZuoraConnect
850
855
  method_hook :refresh, :updateOption, :update_logins, :before => :check_oauth_state
851
856
  method_hook :new_session, :refresh, :build_task, :after => :apartment_switch
852
857
  end
853
- end
858
+ end
@@ -3,20 +3,21 @@ module ZuoraConnect
3
3
 
4
4
  def initialize (fields)
5
5
  @clients = {}
6
- if fields["tenant_type"] == "Zuora" && fields["entities"] && fields["entities"].size > 0
7
- @clients["Default"] = ::ZuoraAPI::Basic.new(fields.map{|k,v| [k.to_sym, v]}.to_h)
8
- @default_entity = fields["entities"][0]["id"] if fields["entities"].size == 1
9
- fields["entities"].each do |entity|
10
- login_fields = fields.map{|k,v| [k.to_sym, v]}.to_h
11
- login_fields[:entity_id] = entity["id"]
12
- @clients[entity["id"]] = ::ZuoraAPI::Basic.new(login_fields)
6
+ if fields["tenant_type"] == "Zuora"
7
+ login_fields = fields.map{|k,v| [k.to_sym, v]}.to_h
8
+
9
+ fields["authentication_type"] = "basic" if fields["authentication_type"].nil? || fields["authentication_type"].blank?
10
+
11
+ @clients["Default"] = "::ZuoraAPI::#{fields["authentication_type"].capitalize}".constantize.new(login_fields)
12
+ @default_entity = fields["entities"][0]["id"] if fields["entities"].size == 1 if fields["entities"] && fields["entities"].size > 0
13
+ if fields["entities"] && fields["entities"].size > 0
14
+ fields["entities"].each do |entity|
15
+ params = {:entity_id => entity["id"]}.merge(login_fields)
16
+ @clients[entity["id"]] = "::ZuoraAPI::#{fields["authentication_type"].capitalize}".constantize.new(params)
17
+ end
13
18
  end
14
- elsif fields["tenant_type"] == "Zuora"
15
- @clients["Default"] = ::ZuoraAPI::Basic.new(fields.map{|k,v| [k.to_sym, v]}.to_h)
19
+ self.attr_builder("available_entities", @clients.keys)
16
20
  end
17
-
18
- self.attr_builder("available_entities",@clients.keys) if fields["tenant_type"] == "Zuora"
19
-
20
21
  fields.each do |k,v|
21
22
  self.attr_builder(k,v)
22
23
  end
@@ -1,3 +1,3 @@
1
1
  module ZuoraConnect
2
- VERSION = "1.6.06"
2
+ VERSION = "1.7.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zuora_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.06
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Connect Team
@@ -169,7 +169,7 @@ dependencies:
169
169
  - !ruby/object:Gem::Version
170
170
  version: '0'
171
171
  - !ruby/object:Gem::Dependency
172
- name: factory_girl
172
+ name: factory_bot
173
173
  requirement: !ruby/object:Gem::Requirement
174
174
  requirements:
175
175
  - - ">="
@@ -210,6 +210,34 @@ dependencies:
210
210
  - - ">="
211
211
  - !ruby/object:Gem::Version
212
212
  version: '0'
213
+ - !ruby/object:Gem::Dependency
214
+ name: webmock
215
+ requirement: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - ">="
218
+ - !ruby/object:Gem::Version
219
+ version: '0'
220
+ type: :development
221
+ prerelease: false
222
+ version_requirements: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ version: '0'
227
+ - !ruby/object:Gem::Dependency
228
+ name: fakeredis
229
+ requirement: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - ">="
232
+ - !ruby/object:Gem::Version
233
+ version: '0'
234
+ type: :development
235
+ prerelease: false
236
+ version_requirements: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - ">="
239
+ - !ruby/object:Gem::Version
240
+ version: '0'
213
241
  description: Description of Connect.
214
242
  email:
215
243
  - connect@zuora.com