itriagetestrail 0.6.3 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2b296c2c1be31820f3460838ee3d4fcadd7171b5
4
- data.tar.gz: 920b748e29ec3b4a110c2b0f6f3aa97e0235ec20
3
+ metadata.gz: 1062b8e5cfca4b664a2778c3190d29f77a8e1ece
4
+ data.tar.gz: c5f5797f7cdfbc81293d4e480438ba9a6dd3884b
5
5
  SHA512:
6
- metadata.gz: 7b6786d127794250b903cb03be62074ea12da9a6667dc2bc1f2e4f0e9be8f12736f5b947c318572514e53a8395ba6351d004cdd61aec3449286528318a7f1641
7
- data.tar.gz: 7f369b983dfe60dee19c62b070e115dc90f79ba9e0938a08b2e22eb5bf6ea27b2275d7baf9fc1b93e559d75dc9c09e3832d8da169ca8c6e43736fa287a5ec81c
6
+ metadata.gz: 9c649f5018c628408d7e6c01943bc445c83788956d6c61852e62264bfff634889c43b4ff1907622f0d62b089d22ef37840a0d5024c71ba75c874ad55a21010a1
7
+ data.tar.gz: 7ed7b3023015492c79ff6a1074264728706e2c143215ab3203436084e9a041f8ad166610c8fb3dd6444ae5768115175ae6bdfd2caa5486aa4ab414fe7d271715
@@ -72,15 +72,7 @@ module TestRail
72
72
  conn
73
73
  end
74
74
 
75
- def parse_json(response)
76
- if response.body && !response.body.empty?
77
- result = JSON.parse(response.body)
78
- else
79
- result = {}
80
- end
81
- result
82
- end
83
-
75
+ private
84
76
  def _send_request(method, uri, data)
85
77
  url = URI.parse(@url + uri)
86
78
  if method == 'POST'
@@ -94,9 +86,23 @@ module TestRail
94
86
 
95
87
  conn = make_connection(url)
96
88
 
97
- response = conn.request(request)
89
+ retry_count = 0
90
+ while retry_count < 10 do
91
+ response = conn.request(request)
92
+ response_code = response.code
93
+ if response_code == '429'
94
+ sleep(response.header['retry-after'].to_i)
95
+ else
96
+ break
97
+ end
98
+ retry_count += 1
99
+ end
98
100
 
99
- result = parse_json(response)
101
+ if response.body && !response.body.empty?
102
+ result = JSON.parse(response.body)
103
+ else
104
+ result = {}
105
+ end
100
106
 
101
107
  if response.code != '200'
102
108
  if result && result.key?('error')
@@ -104,9 +110,10 @@ module TestRail
104
110
  else
105
111
  error = 'No additional error message received'
106
112
  end
107
-
108
- fail APIError, "TestRail API returned HTTP #{response.code} #{error}"
113
+ raise APIError.new('TestRail API returned HTTP %s (%s)' %
114
+ [response.code, error])
109
115
  end
116
+
110
117
  result
111
118
  end
112
119
  end
@@ -1,3 +1,3 @@
1
1
  module Itriagetestrail
2
- VERSION = '0.6.3'
2
+ VERSION = '0.6.4'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itriagetestrail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - a801069
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-28 00:00:00.000000000 Z
11
+ date: 2017-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler