td-client 0.9.0dev2 → 1.0.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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/lib/td/client.rb +16 -8
  3. data/lib/td/client/api.rb +66 -47
  4. data/lib/td/client/api/bulk_import.rb +1 -2
  5. data/lib/td/client/api/bulk_load.rb +3 -3
  6. data/lib/td/client/api/export.rb +12 -0
  7. data/lib/td/client/api/import.rb +3 -2
  8. data/lib/td/client/api/job.rb +146 -71
  9. data/lib/td/client/api/schedule.rb +1 -1
  10. data/lib/td/client/api_error.rb +5 -0
  11. data/lib/td/client/model.rb +92 -28
  12. data/lib/td/client/version.rb +1 -1
  13. data/spec/spec_helper.rb +5 -5
  14. data/spec/td/client/account_api_spec.rb +5 -5
  15. data/spec/td/client/api_error_spec.rb +77 -0
  16. data/spec/td/client/api_spec.rb +76 -52
  17. data/spec/td/client/api_ssl_connection_spec.rb +1 -1
  18. data/spec/td/client/bulk_import_spec.rb +28 -29
  19. data/spec/td/client/bulk_load_spec.rb +60 -35
  20. data/spec/td/client/db_api_spec.rb +1 -1
  21. data/spec/td/client/export_api_spec.rb +11 -1
  22. data/spec/td/client/import_api_spec.rb +85 -10
  23. data/spec/td/client/job_api_spec.rb +568 -61
  24. data/spec/td/client/model_job_spec.rb +27 -10
  25. data/spec/td/client/model_schedule_spec.rb +2 -2
  26. data/spec/td/client/model_schema_spec.rb +134 -0
  27. data/spec/td/client/partial_delete_api_spec.rb +1 -1
  28. data/spec/td/client/result_api_spec.rb +3 -3
  29. data/spec/td/client/sched_api_spec.rb +12 -4
  30. data/spec/td/client/server_status_api_spec.rb +2 -2
  31. data/spec/td/client/spec_resources.rb +1 -0
  32. data/spec/td/client/table_api_spec.rb +14 -14
  33. data/spec/td/client/user_api_spec.rb +12 -12
  34. data/spec/td/client_sched_spec.rb +31 -6
  35. data/spec/td/client_spec.rb +1 -0
  36. metadata +42 -81
@@ -15,6 +15,31 @@ describe 'Schedule Command' do
15
15
  client
16
16
  end
17
17
 
18
+ describe 'create' do
19
+ let :opts do
20
+ {:database => db_name, :cron => '', :type => 'hive', :query => 'select 1;'}
21
+ end
22
+
23
+ before do
24
+ stub_api_request(:post, "/v3/schedule/create/#{e(sched_name)}").
25
+ with(:body => opts).
26
+ to_return(:body => {'name' => sched_name, 'start' => start}.to_json)
27
+ end
28
+ context 'start is now' do
29
+ let (:start){ Time.now.round }
30
+ it 'returns Time object' do
31
+ expect(client.create_schedule(sched_name, opts)).to eq(start)
32
+ end
33
+ end
34
+
35
+ context 'start is nil' do
36
+ let (:start){ nil }
37
+ it do
38
+ expect(client.create_schedule(sched_name, opts)).to eq(start)
39
+ end
40
+ end
41
+ end
42
+
18
43
  describe 'history' do
19
44
  let :opts do
20
45
  {'database' => db_name}
@@ -33,11 +58,11 @@ describe 'Schedule Command' do
33
58
  to_return(:body => {'count' => 1, 'history' => [h]}.to_json)
34
59
 
35
60
  client.history(sched_name, 0, 19).each do |scheduled_job|
36
- scheduled_job.scheduled_at.xmlschema.should == Time.parse('2015-02-17T14:16:00+09:00').xmlschema #avoid depending on CI's Locale
37
- scheduled_job.job_id.should == 'job_id'
38
- scheduled_job.status.should == 'status'
39
- scheduled_job.priority.should == 'priority'
40
- scheduled_job.result_url.should == 'result'
61
+ expect(scheduled_job.scheduled_at.xmlschema).to eq(Time.parse('2015-02-17T14:16:00+09:00').xmlschema) #avoid depending on CI's Locale
62
+ expect(scheduled_job.job_id).to eq('job_id')
63
+ expect(scheduled_job.status).to eq('status')
64
+ expect(scheduled_job.priority).to eq('priority')
65
+ expect(scheduled_job.result_url).to eq('result')
41
66
  end
42
67
  end
43
68
 
@@ -47,7 +72,7 @@ describe 'Schedule Command' do
47
72
  to_return(:body => {'count' => 1, 'history' => [h]}.to_json)
48
73
 
49
74
  client.history(sched_name, 0, 19).each do |scheduled_job|
50
- scheduled_job.scheduled_at.should == nil
75
+ expect(scheduled_job.scheduled_at).to eq(nil)
51
76
  end
52
77
  end
53
78
  end
@@ -39,6 +39,7 @@ describe 'Command' do
39
39
  expect(job.org_name).to eq raw_jobs[i]['organization']
40
40
  expect(job.db_name).to eq raw_jobs[i]['database']
41
41
  expect(job.duration).to eq raw_jobs[i]['duration']
42
+ expect(job.num_records).to eq raw_jobs[i]['num_records']
42
43
  end
43
44
  end
44
45
  end
metadata CHANGED
@@ -1,170 +1,128 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: td-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0dev2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Treasure Data, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-27 00:00:00.000000000 Z
11
+ date: 2017-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- requirement: !ruby/object:Gem::Requirement
15
- requirements:
16
- - - '='
17
- - !ruby/object:Gem::Version
18
- version: 0.7.2dev1
19
14
  name: msgpack
20
- prerelease: false
21
- type: :runtime
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '='
25
- - !ruby/object:Gem::Version
26
- version: 0.7.2dev1
27
- - !ruby/object:Gem::Dependency
28
- requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 1.7.6
33
- name: json
34
- prerelease: false
35
- type: :runtime
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: 1.7.6
41
- - !ruby/object:Gem::Dependency
42
15
  requirement: !ruby/object:Gem::Requirement
43
16
  requirements:
44
17
  - - ">="
45
18
  - !ruby/object:Gem::Version
46
- version: 2.5.2
19
+ version: 0.5.6
47
20
  - - "<"
48
21
  - !ruby/object:Gem::Version
49
- version: 2.6.0
50
- name: httpclient
51
- prerelease: false
22
+ version: '2'
52
23
  type: :runtime
24
+ prerelease: false
53
25
  version_requirements: !ruby/object:Gem::Requirement
54
26
  requirements:
55
27
  - - ">="
56
28
  - !ruby/object:Gem::Version
57
- version: 2.5.2
29
+ version: 0.5.6
58
30
  - - "<"
59
31
  - !ruby/object:Gem::Version
60
- version: 2.6.0
32
+ version: '2'
61
33
  - !ruby/object:Gem::Dependency
34
+ name: httpclient
62
35
  requirement: !ruby/object:Gem::Requirement
63
36
  requirements:
64
- - - "~>"
37
+ - - ">="
65
38
  - !ruby/object:Gem::Version
66
- version: '2.8'
67
- name: rspec
39
+ version: '2.7'
40
+ type: :runtime
68
41
  prerelease: false
69
- type: :development
70
42
  version_requirements: !ruby/object:Gem::Requirement
71
43
  requirements:
72
- - - "~>"
44
+ - - ">="
73
45
  - !ruby/object:Gem::Version
74
- version: '2.8'
46
+ version: '2.7'
75
47
  - !ruby/object:Gem::Dependency
48
+ name: rspec
76
49
  requirement: !ruby/object:Gem::Requirement
77
50
  requirements:
78
- - - '='
51
+ - - "~>"
79
52
  - !ruby/object:Gem::Version
80
- version: '1.25'
81
- name: mime-types
82
- prerelease: false
53
+ version: '3.0'
83
54
  type: :development
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - '='
87
- - !ruby/object:Gem::Version
88
- version: '1.25'
89
- - !ruby/object:Gem::Dependency
90
- requirement: !ruby/object:Gem::Requirement
91
- requirements:
92
- - - '='
93
- - !ruby/object:Gem::Version
94
- version: 1.6.8
95
- name: rest-client
96
55
  prerelease: false
97
- type: :development
98
56
  version_requirements: !ruby/object:Gem::Requirement
99
57
  requirements:
100
- - - '='
58
+ - - "~>"
101
59
  - !ruby/object:Gem::Version
102
- version: 1.6.8
60
+ version: '3.0'
103
61
  - !ruby/object:Gem::Dependency
62
+ name: coveralls
104
63
  requirement: !ruby/object:Gem::Requirement
105
64
  requirements:
106
65
  - - ">="
107
66
  - !ruby/object:Gem::Version
108
67
  version: '0'
109
- name: coveralls
110
- prerelease: false
111
68
  type: :development
69
+ prerelease: false
112
70
  version_requirements: !ruby/object:Gem::Requirement
113
71
  requirements:
114
72
  - - ">="
115
73
  - !ruby/object:Gem::Version
116
74
  version: '0'
117
75
  - !ruby/object:Gem::Dependency
76
+ name: webmock
118
77
  requirement: !ruby/object:Gem::Requirement
119
78
  requirements:
120
79
  - - "~>"
121
80
  - !ruby/object:Gem::Version
122
81
  version: '1.16'
123
- name: webmock
124
- prerelease: false
125
82
  type: :development
83
+ prerelease: false
126
84
  version_requirements: !ruby/object:Gem::Requirement
127
85
  requirements:
128
86
  - - "~>"
129
87
  - !ruby/object:Gem::Version
130
88
  version: '1.16'
131
89
  - !ruby/object:Gem::Dependency
90
+ name: simplecov
132
91
  requirement: !ruby/object:Gem::Requirement
133
92
  requirements:
134
93
  - - ">="
135
94
  - !ruby/object:Gem::Version
136
95
  version: 0.5.4
137
- name: simplecov
138
- prerelease: false
139
96
  type: :development
97
+ prerelease: false
140
98
  version_requirements: !ruby/object:Gem::Requirement
141
99
  requirements:
142
100
  - - ">="
143
101
  - !ruby/object:Gem::Version
144
102
  version: 0.5.4
145
103
  - !ruby/object:Gem::Dependency
104
+ name: rake
146
105
  requirement: !ruby/object:Gem::Requirement
147
106
  requirements:
148
107
  - - ">="
149
108
  - !ruby/object:Gem::Version
150
109
  version: '0'
151
- name: rake
152
- prerelease: false
153
110
  type: :development
111
+ prerelease: false
154
112
  version_requirements: !ruby/object:Gem::Requirement
155
113
  requirements:
156
114
  - - ">="
157
115
  - !ruby/object:Gem::Version
158
116
  version: '0'
159
117
  - !ruby/object:Gem::Dependency
118
+ name: yard
160
119
  requirement: !ruby/object:Gem::Requirement
161
120
  requirements:
162
121
  - - ">="
163
122
  - !ruby/object:Gem::Version
164
123
  version: '0'
165
- name: yard
166
- prerelease: false
167
124
  type: :development
125
+ prerelease: false
168
126
  version_requirements: !ruby/object:Gem::Requirement
169
127
  requirements:
170
128
  - - ">="
@@ -202,6 +160,7 @@ files:
202
160
  - spec/spec_helper.rb
203
161
  - spec/td/client/access_control_api_spec.rb
204
162
  - spec/td/client/account_api_spec.rb
163
+ - spec/td/client/api_error_spec.rb
205
164
  - spec/td/client/api_spec.rb
206
165
  - spec/td/client/api_ssl_connection_spec.rb
207
166
  - spec/td/client/bulk_import_spec.rb
@@ -212,6 +171,7 @@ files:
212
171
  - spec/td/client/job_api_spec.rb
213
172
  - spec/td/client/model_job_spec.rb
214
173
  - spec/td/client/model_schedule_spec.rb
174
+ - spec/td/client/model_schema_spec.rb
215
175
  - spec/td/client/partial_delete_api_spec.rb
216
176
  - spec/td/client/result_api_spec.rb
217
177
  - spec/td/client/sched_api_spec.rb
@@ -224,7 +184,7 @@ files:
224
184
  homepage: http://treasuredata.com/
225
185
  licenses: []
226
186
  metadata: {}
227
- post_install_message:
187
+ post_install_message:
228
188
  rdoc_options: []
229
189
  require_paths:
230
190
  - lib
@@ -232,23 +192,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
232
192
  requirements:
233
193
  - - ">="
234
194
  - !ruby/object:Gem::Version
235
- version: 1.8.7
195
+ version: '2.1'
236
196
  required_rubygems_version: !ruby/object:Gem::Requirement
237
197
  requirements:
238
- - - ">"
198
+ - - ">="
239
199
  - !ruby/object:Gem::Version
240
- version: 1.3.1
200
+ version: '0'
241
201
  requirements: []
242
- rubyforge_project:
243
- rubygems_version: 2.4.8
244
- signing_key:
202
+ rubyforge_project:
203
+ rubygems_version: 2.6.8
204
+ signing_key:
245
205
  specification_version: 4
246
206
  summary: Treasure Data API library for Ruby
247
207
  test_files:
248
- - spec/td/client_sched_spec.rb
249
- - spec/td/client_spec.rb
250
208
  - spec/td/client/access_control_api_spec.rb
251
209
  - spec/td/client/account_api_spec.rb
210
+ - spec/td/client/api_error_spec.rb
252
211
  - spec/td/client/api_spec.rb
253
212
  - spec/td/client/api_ssl_connection_spec.rb
254
213
  - spec/td/client/bulk_import_spec.rb
@@ -259,10 +218,12 @@ test_files:
259
218
  - spec/td/client/job_api_spec.rb
260
219
  - spec/td/client/model_job_spec.rb
261
220
  - spec/td/client/model_schedule_spec.rb
221
+ - spec/td/client/model_schema_spec.rb
262
222
  - spec/td/client/partial_delete_api_spec.rb
263
223
  - spec/td/client/result_api_spec.rb
264
224
  - spec/td/client/sched_api_spec.rb
265
225
  - spec/td/client/server_status_api_spec.rb
266
226
  - spec/td/client/table_api_spec.rb
267
227
  - spec/td/client/user_api_spec.rb
268
- has_rdoc: false
228
+ - spec/td/client_sched_spec.rb
229
+ - spec/td/client_spec.rb