salesforce_bulk_query 0.1.3 → 0.1.4

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: 81149267dbb6113a6a151f4cfe86fb9617a7ac4c
4
- data.tar.gz: f31ea42f31cee0c7ad519d7d2f327091130d7032
3
+ metadata.gz: 7484e5d5b0279583ceeddffed721fd2db9d91144
4
+ data.tar.gz: 038249d4c8779cbe070a95c9c592ffbc36b96693
5
5
  SHA512:
6
- metadata.gz: 26c32884ca08555921c25dea35529f42cd7cb50beaeac6c46b354e825ca97d61ae4960f9ecbdafd6a8633b0eb49c3abcd408ac6d3e7bead02f8e82bf494cfd09
7
- data.tar.gz: ecd73fc49fa27ef6d04fbf73d9160f548bad4691ebbbb6b80d03441f40769ce6238f9f2f505a01c40482d43c5b599bd455b700ad4517ae95bccfa15dc927c31b
6
+ metadata.gz: 0f12e0c19cad6c15b7e0b4985971e1b5c594a27f1f0c9609e54408e735b01763f7c6b8e6de2da40f26667f29f6f527fc70b442af7082e72c303f54170cda2e48
7
+ data.tar.gz: b0bd17a0267354414eba9c03914ab8f6e7005014a276e3df1a6bff3cdd56827420df10438402d544599bf5a0b73cfbf4fe4e5866afeab25eddfeb579912df1c3
@@ -119,7 +119,7 @@ module SalesforceBulkQuery
119
119
  api_count = @connection.query_count(@sobject, @start, @stop)
120
120
  # if we weren't able to get the count, fail.
121
121
  if api_count.nil?
122
- return false
122
+ return @verification = false
123
123
  end
124
124
 
125
125
  # count the records in the csv
@@ -119,7 +119,8 @@ module SalesforceBulkQuery
119
119
  q = @client.query("SELECT COUNT() FROM #{sobject} WHERE CreatedDate >= #{from} AND CreatedDate < #{to}")
120
120
  return q.size
121
121
  end
122
- rescue TimeoutError => e
122
+ rescue Faraday::Error::TimeoutError => e
123
+ @logger.warn "Timeout getting count: #{soql}. Error: #{e}. Taking it as failed verification" if @logger
123
124
  return nil
124
125
  end
125
126
  end
@@ -133,4 +134,4 @@ module SalesforceBulkQuery
133
134
  }
134
135
  end
135
136
  end
136
- end
137
+ end
@@ -24,7 +24,7 @@ module SalesforceBulkQuery
24
24
  dump :url => env[:url].to_s,
25
25
  :method => env[:method],
26
26
  :headers => env[:request_headers],
27
- :body => env[:body][0..MAX_LOG_LENGTH]
27
+ :body => env[:body] ? env[:body][0..MAX_LOG_LENGTH] : nil
28
28
  end
29
29
  super
30
30
  end
@@ -33,7 +33,7 @@ module SalesforceBulkQuery
33
33
  debug('response') do
34
34
  dump :status => env[:status].to_s,
35
35
  :headers => env[:response_headers],
36
- :body => env[:body][0..MAX_LOG_LENGTH]
36
+ :body => env[:body] ? env[:body][0..MAX_LOG_LENGTH] : nil
37
37
  end
38
38
  end
39
39
 
@@ -1,3 +1,3 @@
1
1
  module SalesforceBulkQuery
2
- VERSION = '0.1.3'
2
+ VERSION = '0.1.4'
3
3
  end
@@ -24,10 +24,8 @@ Gem::Specification.new do |s|
24
24
  s.add_development_dependency 'pry', '~>0.9'
25
25
  s.add_development_dependency 'pry-stack_explorer', '~>0.4' if RUBY_PLATFORM != 'java'
26
26
  s.add_development_dependency 'rake', '~> 10.3'
27
- s.add_development_dependency 'coveralls', '~> 0.7', '>= 0.7.0'
28
-
29
-
30
-
27
+ s.add_development_dependency 'coveralls', '~> 0.7'
28
+ s.add_development_dependency 'webmock', '~> 1.20'
31
29
 
32
30
  s.files = `git ls-files`.split($/)
33
31
  s.require_paths = ['lib']
@@ -12,6 +12,7 @@ describe SalesforceBulkQuery do
12
12
  @api = SpecHelper.create_default_api(@client)
13
13
  @entity = ENV['ENTITY'] || 'Opportunity'
14
14
  @field_list = (ENV['FIELD_LIST'] || "Id,CreatedDate").split(',')
15
+ @api_version = SpecHelper.api_version
15
16
  end
16
17
 
17
18
  describe "instance_url" do
@@ -52,6 +53,20 @@ describe SalesforceBulkQuery do
52
53
  end
53
54
  end
54
55
  end
56
+ it "catches the timeout error for query" do
57
+ # stub the timeout on query
58
+ query_url = "na12.salesforce.com/services/data/v#{@api_version}/query"
59
+ # "https://na12.salesforce.com/services/data/v#{@api_version}/query?q=.*"
60
+ query_regexp = Regexp.new(query_url)
61
+
62
+ stub_request(:get, query_regexp).to_timeout.times(4).then.to_return(:body => "{\"totalSize\":0,\"done\":true,\"records\":[]}", :headers => {"User-Agent"=>"Faraday v0.8.9", "Authorization"=>"OAuth abcd"})
63
+
64
+ WebMock.allow_net_connect!
65
+
66
+ result = @api.query(@entity, "SELECT #{@field_list.join(', ')} FROM #{@entity}", :count_lines => true, :single_batch => true)
67
+ require 'pry'; binding.pry
68
+
69
+ end
55
70
  end
56
71
  context "when you give it all the options" do
57
72
  it "downloads a single file" do
data/spec/spec_helper.rb CHANGED
@@ -1,12 +1,17 @@
1
1
  require 'salesforce_bulk_query'
2
2
  require 'restforce'
3
-
3
+ require 'webmock/rspec'
4
4
 
5
5
  RSpec.configure do |c|
6
6
  c.filter_run :focus => true
7
7
  c.run_all_when_everything_filtered = true
8
8
  c.filter_run_excluding :skip => true
9
9
  c.formatter = :documentation
10
+
11
+ # whitelist codeclimate.com so test coverage can be reported
12
+ c.after(:suite) do
13
+ WebMock.disable_net_connect!(:allow => 'codeclimate.com')
14
+ end
10
15
  end
11
16
 
12
17
  class SpecHelper
@@ -18,10 +23,14 @@ class SpecHelper
18
23
  :security_token => ENV['TOKEN'],
19
24
  :client_id => ENV['CLIENT_ID'],
20
25
  :client_secret => ENV['CLIENT_SECRET'],
21
- :api_version => ENV['API_VERSION'] || DEFAULT_API_VERSION
26
+ :api_version => api_version
22
27
  )
23
28
  end
24
29
 
30
+ def self.api_version
31
+ ENV['API_VERSION'] || DEFAULT_API_VERSION
32
+ end
33
+
25
34
  def self.create_default_api(restforce)
26
35
  # switch off the normal logging
27
36
  Restforce.log = false
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: salesforce_bulk_query
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Petr Cvengros
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-02 00:00:00.000000000 Z
11
+ date: 2015-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -129,9 +129,6 @@ dependencies:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0.7'
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- version: 0.7.0
135
132
  type: :development
136
133
  prerelease: false
137
134
  version_requirements: !ruby/object:Gem::Requirement
@@ -139,9 +136,20 @@ dependencies:
139
136
  - - "~>"
140
137
  - !ruby/object:Gem::Version
141
138
  version: '0.7'
142
- - - ">="
139
+ - !ruby/object:Gem::Dependency
140
+ name: webmock
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '1.20'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
143
151
  - !ruby/object:Gem::Version
144
- version: 0.7.0
152
+ version: '1.20'
145
153
  description: A library for downloading data from Salesforce Bulk API. We only focus
146
154
  on querying, other operations of the API aren't supported. Designed to handle a
147
155
  lot of data.