testrail-client 0.2.0 → 0.3.1

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
  SHA256:
3
- metadata.gz: e1874bd4d07830db69ca5be41ffd40cf8342b3b0e5ed72852cce04eded71ad9c
4
- data.tar.gz: a70994ff627bf68a499a897f1d0f0e72b4276bfe1b8b8791e9dd67947dfc868e
3
+ metadata.gz: 600d1c3b6b2e5058e2196e9f08a2523d3913d77a13595c5a117e709f8a8c1c56
4
+ data.tar.gz: b88f0fd458d409009266e43047db6bc5036b50373212e594f58b9ba0eb10b765
5
5
  SHA512:
6
- metadata.gz: da717d9b3481a2ed35c687de158c8cc01fd3783995c0dc766517181347e4a0bcb2c1a520ca0d4996ecc5d7ec4b62e10ae6fac09c64064ef6ad8fe7edd24b58a9
7
- data.tar.gz: 4594c8d5ce51f433c8d9b4adf9facda3744d2ff9da42e52691dc16b898f9fc3177aa64ce00da4044ad2e72b6d139c6c62cb74da5bf4d308ef51e93974ebdf205
6
+ metadata.gz: 8fdb3924eb8369cb731ef06c18f75ad4f9079d647d1d0d26fadafd2c30a322fcd7be1ffc5aecc9b9989cc6da7e2595259b93ce561aaf27e1df57f88773ee73a4
7
+ data.tar.gz: dbe6bb4c9e082244368273537153ea52215fcf5f2088859214a56fdc1230448d43b52545d7d4fa9e9756a747270ba9a97c212e9404587cd0464599964cdbd0e7
data/.gitignore CHANGED
@@ -10,3 +10,6 @@
10
10
 
11
11
  # rspec failure tracking
12
12
  .rspec_status
13
+
14
+ # ignore testrail login for test
15
+ spec/testrail/testrail.yaml
data/.travis.yml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ sudo: false
3
+ language: ruby
4
+ cache: bundler
5
+ rvm:
6
+ - 2.6.3
7
+ before_install: gem install bundler -v 1.17.3
data/Gemfile.lock CHANGED
@@ -1,60 +1,64 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- testrail-client (0.2.0)
4
+ testrail-client (0.3.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- addressable (2.6.0)
10
- public_suffix (>= 2.0.2, < 4.0)
11
- crack (0.4.3)
12
- safe_yaml (~> 1.0.0)
13
- diff-lcs (1.3)
14
- hashdiff (1.0.0)
15
- mustermann (1.0.3)
16
- public_suffix (3.1.1)
17
- rack (2.0.7)
18
- rack-protection (2.0.5)
9
+ addressable (2.7.0)
10
+ public_suffix (>= 2.0.2, < 5.0)
11
+ config_this (0.1.0)
12
+ crack (0.4.5)
13
+ rexml
14
+ diff-lcs (1.4.4)
15
+ hashdiff (1.0.1)
16
+ mustermann (1.1.1)
17
+ ruby2_keywords (~> 0.0.1)
18
+ public_suffix (4.0.6)
19
+ rack (2.2.3)
20
+ rack-protection (2.1.0)
19
21
  rack
20
- rake (10.5.0)
21
- rspec (3.8.0)
22
- rspec-core (~> 3.8.0)
23
- rspec-expectations (~> 3.8.0)
24
- rspec-mocks (~> 3.8.0)
25
- rspec-core (3.8.2)
26
- rspec-support (~> 3.8.0)
27
- rspec-expectations (3.8.4)
22
+ rake (13.0.3)
23
+ rexml (3.2.4)
24
+ rspec (3.10.0)
25
+ rspec-core (~> 3.10.0)
26
+ rspec-expectations (~> 3.10.0)
27
+ rspec-mocks (~> 3.10.0)
28
+ rspec-core (3.10.1)
29
+ rspec-support (~> 3.10.0)
30
+ rspec-expectations (3.10.1)
28
31
  diff-lcs (>= 1.2.0, < 2.0)
29
- rspec-support (~> 3.8.0)
30
- rspec-mocks (3.8.1)
32
+ rspec-support (~> 3.10.0)
33
+ rspec-mocks (3.10.2)
31
34
  diff-lcs (>= 1.2.0, < 2.0)
32
- rspec-support (~> 3.8.0)
33
- rspec-support (3.8.2)
34
- safe_yaml (1.0.5)
35
- sinatra (2.0.5)
35
+ rspec-support (~> 3.10.0)
36
+ rspec-support (3.10.2)
37
+ ruby2_keywords (0.0.4)
38
+ sinatra (2.1.0)
36
39
  mustermann (~> 1.0)
37
- rack (~> 2.0)
38
- rack-protection (= 2.0.5)
40
+ rack (~> 2.2)
41
+ rack-protection (= 2.1.0)
39
42
  tilt (~> 2.0)
40
- tilt (2.0.9)
41
- webmock (3.6.2)
43
+ tilt (2.0.10)
44
+ webmock (3.12.0)
42
45
  addressable (>= 2.3.6)
43
46
  crack (>= 0.3.2)
44
47
  hashdiff (>= 0.4.0, < 2.0.0)
45
- yard (0.9.20)
48
+ yard (0.9.26)
46
49
 
47
50
  PLATFORMS
48
51
  ruby
49
52
 
50
53
  DEPENDENCIES
51
- bundler (~> 1.17)
52
- rake (~> 10.0)
53
- rspec (~> 3.0)
54
- sinatra (~> 2.0.5)
54
+ bundler
55
+ config_this
56
+ rake
57
+ rspec
58
+ sinatra
55
59
  testrail-client!
56
- webmock (~> 3.6.2)
57
- yard (~> 0.9.2)
60
+ webmock
61
+ yard
58
62
 
59
63
  BUNDLED WITH
60
- 1.17.3
64
+ 2.2.20
data/lib/testrail/api.rb CHANGED
@@ -14,13 +14,25 @@ module Testrail
14
14
  id = x if x.is_a? Integer #if Integer it is an ID
15
15
  opts = x if x.is_a? Hash #if Hash it is an options array
16
16
  opts ||= y #if opts not set, take second arg
17
- case m
18
- when /get/
19
- send_get("#{m}/#{id}&#{_param_stringify(opts)}")
20
- when /add_attachment/
21
- send_post("#{m}/#{id}",opts.to_a)
22
- else
23
- send_post("#{m}/#{id}",opts)
17
+ begin
18
+ case m
19
+ when /get/
20
+ send_get("#{m}/#{id}&#{_param_stringify(opts)}")
21
+ when /add_attachment/
22
+ send_post("#{m}/#{id}",opts.to_a)
23
+ else
24
+ send_post("#{m}/#{id}",opts)
25
+ end
26
+ rescue Testrail::Client::APIError => error
27
+ if error.message.include? "API Rate"
28
+ time_to_wait = 60
29
+ STDERR.puts("Hit Testrail\'s API rate Limits, Sleeing #{time_to_wait} seconds")
30
+ sleep(time_to_wait)
31
+ STDERR.puts("Retrying #{m} with #{args}")
32
+ retry
33
+ else
34
+ raise error
35
+ end
24
36
  end
25
37
  end
26
38
  # Stringify parameters for GET requests
@@ -18,18 +18,19 @@ module Testrail
18
18
  attr_accessor :password
19
19
  # Initialize Client
20
20
  # @param base_url [String] Your Testrail URL
21
- def initialize(base_url)
21
+ def initialize(base_url, beta=false)
22
22
  if !base_url.match(/\/$/)
23
23
  base_url += '/'
24
24
  end
25
25
  @url = base_url + 'index.php?/api/v2/'
26
26
  @content_type = "application/json"
27
+ @beta = beta
27
28
  end
28
29
  # send GET to uri
29
30
  # @param uri [String] Test rail API path
30
31
  # @return [Hash] Response from testrail API
31
32
  def send_get(uri)
32
- request = _setup_request("GET",uri)
33
+ request = _setup_request("GET",uri)
33
34
  _send_request(request)
34
35
  end
35
36
  # send POST to uri
@@ -56,6 +57,7 @@ module Testrail
56
57
  request.body = JSON.dump(data) if data.is_a? Hash
57
58
  request.set_form data, 'multipart/form-data' if data.is_a? Array
58
59
  request.basic_auth(@user, @password)
60
+ request.add_field('x-api-ident', "beta") if @beta
59
61
  return request
60
62
  end
61
63
 
@@ -1,6 +1,6 @@
1
1
  module Testrail
2
2
  module Client
3
3
  # Gem version
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.1"
5
5
  end
6
6
  end
@@ -24,11 +24,12 @@ Gem::Specification.new do |spec|
24
24
  spec.require_paths = ["lib"]
25
25
 
26
26
  spec.required_ruby_version = '>= 2.6.3'
27
- spec.add_development_dependency "bundler", "~> 1.17"
28
- spec.add_development_dependency "rake", "~> 10.0"
29
- spec.add_development_dependency "rspec", "~> 3.0"
30
- spec.add_development_dependency "sinatra", "~> 2.0.5"
31
- spec.add_development_dependency 'webmock', "~> 3.6.2"
32
- spec.add_development_dependency 'yard', "~> 0.9.2"
27
+ spec.add_development_dependency "bundler"
28
+ spec.add_development_dependency "rake"
29
+ spec.add_development_dependency "rspec"
30
+ spec.add_development_dependency "sinatra"
31
+ spec.add_development_dependency 'webmock'
32
+ spec.add_development_dependency 'yard'
33
+ spec.add_development_dependency 'config_this'
33
34
 
34
35
  end
metadata CHANGED
@@ -1,99 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testrail-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edmundo Sanchez
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-13 00:00:00.000000000 Z
11
+ date: 2021-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.17'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.17'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '3.0'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '3.0'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: sinatra
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 2.0.5
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 2.0.5
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: webmock
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 3.6.2
75
+ version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 3.6.2
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: yard
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 0.9.2
89
+ version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 0.9.2
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: config_this
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  description: An easy to mantain gem that wrapps the v2 testrail API
98
112
  email:
99
113
  - zomundo@gmail.com
@@ -103,6 +117,7 @@ extra_rdoc_files: []
103
117
  files:
104
118
  - ".gitignore"
105
119
  - ".rspec"
120
+ - ".travis.yml"
106
121
  - Gemfile
107
122
  - Gemfile.lock
108
123
  - LICENSE.txt
@@ -118,7 +133,7 @@ homepage: https://github.com/mundo03/testrails-client-ruby
118
133
  licenses:
119
134
  - MIT
120
135
  metadata: {}
121
- post_install_message:
136
+ post_install_message:
122
137
  rdoc_options: []
123
138
  require_paths:
124
139
  - lib
@@ -133,8 +148,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
148
  - !ruby/object:Gem::Version
134
149
  version: '0'
135
150
  requirements: []
136
- rubygems_version: 3.0.4
137
- signing_key:
151
+ rubygems_version: 3.2.15
152
+ signing_key:
138
153
  specification_version: 4
139
154
  summary: Another Client wrapper in Ruby for TestRail API (v2)
140
155
  test_files: []