salesforce_bulk_query 0.1.3 → 0.1.4
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 +4 -4
- data/lib/salesforce_bulk_query/batch.rb +1 -1
- data/lib/salesforce_bulk_query/connection.rb +3 -2
- data/lib/salesforce_bulk_query/logger.rb +2 -2
- data/lib/salesforce_bulk_query/version.rb +1 -1
- data/salesforce_bulk_query.gemspec +2 -4
- data/spec/salesforce_bulk_query_spec.rb +15 -0
- data/spec/spec_helper.rb +11 -2
- metadata +15 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7484e5d5b0279583ceeddffed721fd2db9d91144
|
4
|
+
data.tar.gz: 038249d4c8779cbe070a95c9c592ffbc36b96693
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
|
@@ -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'
|
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 =>
|
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.
|
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-
|
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:
|
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.
|