embulk-input-zendesk 0.1.8 → 0.1.9

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: eaddbf9ca58a72b5bb9e00497f7eef3c3303e171
4
- data.tar.gz: 4a13d21ceff5b8d019f43d9c98ea4f0dac59840c
3
+ metadata.gz: f81eb6b1d20e4c6fda87abed25edfb355d980278
4
+ data.tar.gz: 77f7e79b4b7ac4c962874854863fc7a2ee857abf
5
5
  SHA512:
6
- metadata.gz: fe9134f35bc6d9d0a303f103c7d85ac017eb43a2c2db662c8ae7d18bac85afaed44572cefa6c6fab21ac1c5f6a35861ee61088edcac72421b2fb018844bf3e96
7
- data.tar.gz: 3933f732fd8f073fc52f9ce44962a7e9b8ce6ba248e77d9c45cf1468093ded9f21a0092cb29e7c9b7b779bf820211388f9c0365412e10f52768cfc19dc341a7e
6
+ metadata.gz: 6bfd6c462ad3b628a923025c8f6d406b0a009990ecc8fba791703be61579d6b079b969858f050eb60ead3912fc9405d3a19b86e0fca302217b95fa58dfeebed0
7
+ data.tar.gz: bc93fc9b9340bc5555668e083e9516aee5738b23f4ab65e94d3e1eb6fc6f047d571d8916ed65b3dc5ed18b64c5decb839dcd5004c6eee827d496b4c6a982e3bd
@@ -1,3 +1,6 @@
1
+ ## 0.1.9 - 2016-08-26
2
+ * [fixed] Ignore '422: Too recent start_time' [#14](https://github.com/treasure-data/embulk-input-zendesk/pull/14)
3
+
1
4
  ## 0.1.8 - 2016-07-11
2
5
 
3
6
  * [enhancement] For huge data [#13](https://github.com/treasure-data/embulk-input-zendesk/pull/13)
@@ -1,7 +1,7 @@
1
1
 
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = "embulk-input-zendesk"
4
- spec.version = "0.1.8"
4
+ spec.version = "0.1.9"
5
5
  spec.authors = ["uu59", "muga", "sakama"]
6
6
  spec.summary = "Zendesk input plugin for Embulk"
7
7
  spec.description = "Loads records from Zendesk."
@@ -319,6 +319,20 @@ module Embulk
319
319
  # 404 would be returned e.g. ticket comments are empty (on fetch_subresource method)
320
320
  when 409
321
321
  raise "[#{status_code}] temporally failure."
322
+ when 422
323
+ begin
324
+ payload = JSON.parse(body)
325
+ if payload["description"].start_with?("Too recent start_time.")
326
+ # That means "No records from start_time". We can recognize it same as 200.
327
+ return
328
+ end
329
+ rescue
330
+ # Failed to parse response.body as JSON
331
+ raise Embulk::ConfigError.new("[#{status_code}] #{body}")
332
+ end
333
+
334
+ # 422 and it isn't "Too recent start_time"
335
+ raise Embulk::ConfigError.new("[#{status_code}] #{body}")
322
336
  when 429
323
337
  # rate limit
324
338
  retry_after = headers["Retry-After"]
@@ -418,6 +418,20 @@ module Embulk
418
418
  end
419
419
  end
420
420
 
421
+ test "422 with Too recent start_time" do
422
+ stub_response(422, [], '{"error":"InvalidValue","description":"Too recent start_time. Use a start_time older than 5 minutes"}')
423
+ assert_nothing_raised do
424
+ client.tickets(&proc{})
425
+ end
426
+ end
427
+
428
+ test "422" do
429
+ stub_response(422)
430
+ assert_raise(ConfigError) do
431
+ client.tickets(&proc{})
432
+ end
433
+ end
434
+
421
435
  test "429" do
422
436
  after = "123"
423
437
  stub_response(429, ["Retry-After: #{after}"])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-input-zendesk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - uu59
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-07-11 00:00:00.000000000 Z
13
+ date: 2016-08-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  requirement: !ruby/object:Gem::Requirement