salesforce_bulk_query 0.1.5 → 0.1.6
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93410e3eaddd8559f8127d9cad6ed1223093da53
|
4
|
+
data.tar.gz: f24d761b7d5e39c67efc54eb99c9e9006a7b3330
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d849ee9f3525ecd0a92c57d4c997c7158d7b830892b0aaa221b9b38d7e55d0042d08dd19a020f1729d7deea37df9790d1e81bf4dab6bf15042cf2197d5501033
|
7
|
+
data.tar.gz: 11c53de51a4c6cbe7541e63cf2f236900b559d12b464e287c79c7b800db1d13ff1ff6ae097a21030c59cb6cb95d24c2512844c459728b73a51aed6b8aba380dd
|
@@ -114,9 +114,10 @@ module SalesforceBulkQuery
|
|
114
114
|
|
115
115
|
def query_count(sobject, from, to)
|
116
116
|
# do it with retries, if it doesn't succeed, return nil, don't fail.
|
117
|
+
soql = "SELECT COUNT() FROM #{sobject} WHERE CreatedDate >= #{from} AND CreatedDate < #{to}"
|
117
118
|
begin
|
118
119
|
with_retries do
|
119
|
-
q = @client.query(
|
120
|
+
q = @client.query(soql)
|
120
121
|
return q.size
|
121
122
|
end
|
122
123
|
rescue Faraday::Error::TimeoutError => e
|
@@ -134,4 +135,4 @@ module SalesforceBulkQuery
|
|
134
135
|
}
|
135
136
|
end
|
136
137
|
end
|
137
|
-
end
|
138
|
+
end
|
@@ -8,6 +8,8 @@ require 'set'
|
|
8
8
|
# test co nejak nafakuje tu situaci v twc
|
9
9
|
describe SalesforceBulkQuery do
|
10
10
|
before :all do
|
11
|
+
WebMock.allow_net_connect!
|
12
|
+
|
11
13
|
@client = SpecHelper.create_default_restforce
|
12
14
|
@api = SpecHelper.create_default_api(@client)
|
13
15
|
@entity = ENV['ENTITY'] || 'Opportunity'
|
@@ -53,19 +55,46 @@ describe SalesforceBulkQuery do
|
|
53
55
|
end
|
54
56
|
end
|
55
57
|
end
|
58
|
+
end
|
59
|
+
context "when we want to mock things" do
|
60
|
+
before(:each) do
|
61
|
+
WebMock.allow_net_connect!
|
62
|
+
end
|
63
|
+
after(:each) do
|
64
|
+
WebMock.allow_net_connect!
|
65
|
+
end
|
56
66
|
it "catches the timeout error for query" do
|
57
67
|
# stub the timeout on query
|
58
|
-
|
59
|
-
|
68
|
+
host = URI.parse(@api.instance_url).host
|
69
|
+
query_url = "#{host}/services/data/v#{@api_version}/query"
|
60
70
|
query_regexp = Regexp.new(query_url)
|
71
|
+
# 4 timeouts (first get the oldest record), then fake a
|
72
|
+
# 0 count query response
|
73
|
+
stub_request(:get, query_regexp).to_timeout.times(4).then.to_return(
|
74
|
+
:body => "{\"totalSize\":0,\"done\":true,\"records\":[]}",
|
75
|
+
:headers => {
|
76
|
+
"date"=>"Wed, 04 Feb 2015 01:18:45 GMT",
|
77
|
+
"set-cookie"=>"BrowserId=hahaha;Path=/;Domain=.salesforce.com;Expires=never",
|
78
|
+
"expires"=>"Thu, 01 Jan 1970 00:00:00 GMT",
|
79
|
+
"sforce-limit-info"=>"api-usage=6666/15000",
|
80
|
+
"content-type"=>"application/json;charset=UTF-8",
|
81
|
+
"transfer-encoding"=>"chunked"}
|
82
|
+
)
|
61
83
|
|
62
|
-
|
63
|
-
|
84
|
+
# do the actual request
|
64
85
|
WebMock.allow_net_connect!
|
86
|
+
result = @api.query(
|
87
|
+
@entity,
|
88
|
+
"SELECT #{@field_list.join(', ')} FROM #{@entity}",
|
89
|
+
:count_lines => true,
|
90
|
+
:single_batch => true
|
91
|
+
)
|
65
92
|
|
66
|
-
|
67
|
-
|
68
|
-
|
93
|
+
# check it
|
94
|
+
expect(result[:succeeded]).to be_true
|
95
|
+
expect(result[:unfinished_subqueries]).to be_empty
|
96
|
+
expect(result[:filenames]).not_to be_empty
|
97
|
+
expect(result[:jobs_done]).not_to be_empty
|
69
98
|
end
|
70
99
|
end
|
71
100
|
context "when you give it all the options" do
|
data/spec/spec_helper.rb
CHANGED
@@ -7,11 +7,6 @@ RSpec.configure do |c|
|
|
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
|
15
10
|
end
|
16
11
|
|
17
12
|
class SpecHelper
|
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.6
|
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-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|