itriagetestrail 0.5.2 → 0.5.3
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 +4 -4
- data/lib/itriagetestrail/version.rb +1 -1
- data/lib/itriagetestrail.rb +115 -52
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6f6904a905838df066482dcc05ebb144f9a160a
|
4
|
+
data.tar.gz: 799591fb203c9a7b63bad700b43aa8fc1b119715
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b183e17372937c91a2ce1ea4ee1f53356daf0b2f2dc7f810309d0a27ef8903e320b5a6f9cd7386f3394750f01d1c2d651580cf6d6317728af58258631e78a54
|
7
|
+
data.tar.gz: da677a2b7f989092ff762cd5c00c66368600771bb2592e53a7e2c7443ec5a771b858fb9a7182b9eab9ea3bb40938ddd238ddc9f1a7633c3a59db0b6dce3bf2f9
|
data/lib/itriagetestrail.rb
CHANGED
@@ -30,6 +30,7 @@ module Itriagetestrail
|
|
30
30
|
@milestone_name = normalize_milestone
|
31
31
|
@jenkins_build = @testrail_config[:jenkinsBuild]
|
32
32
|
@app_version = @testrail_config[:appVersion]
|
33
|
+
@suite_name = @testrail_config[:suiteName]
|
33
34
|
|
34
35
|
if @testrail_config[:tzinfoTimeZone].nil? || @testrail_config[:tzinfoTimeZone].empty?
|
35
36
|
@time_zone = TZInfo::Timezone.get('UTC')
|
@@ -83,7 +84,9 @@ module Itriagetestrail
|
|
83
84
|
def initialize_variables
|
84
85
|
make_connection
|
85
86
|
# Set the project id
|
86
|
-
|
87
|
+
set_project
|
88
|
+
# Get the test rail suites
|
89
|
+
testrail_suites
|
87
90
|
# Get the test rail sections
|
88
91
|
testrail_sections
|
89
92
|
# Get the test rail ids
|
@@ -96,9 +99,81 @@ module Itriagetestrail
|
|
96
99
|
@client.password = @testrail_config[:password]
|
97
100
|
end
|
98
101
|
|
102
|
+
def projects
|
103
|
+
@projects ||= @client.send_get("get_projects")
|
104
|
+
end
|
105
|
+
|
106
|
+
def project_by_name(name)
|
107
|
+
res = -1
|
108
|
+
projects.each do |project|
|
109
|
+
res = project if project['name'] == name
|
110
|
+
end
|
111
|
+
res
|
112
|
+
end
|
113
|
+
|
114
|
+
def project_by_id(id)
|
115
|
+
res = -1
|
116
|
+
projects.each do |project|
|
117
|
+
res = project if project['id'] == id.to_i
|
118
|
+
end
|
119
|
+
res
|
120
|
+
end
|
121
|
+
|
122
|
+
def set_project
|
123
|
+
requested_id = @testrail_config[:projectId]
|
124
|
+
case requested_id
|
125
|
+
when nil, ''
|
126
|
+
# a project id was not provided, fetch it from TestRail by project name
|
127
|
+
res = project_by_name(@testrail_config[:projectName])
|
128
|
+
if res == -1
|
129
|
+
@execute = false
|
130
|
+
return
|
131
|
+
end
|
132
|
+
@project_id = res['id']
|
133
|
+
@suite_mode = res['suite_mode']
|
134
|
+
else
|
135
|
+
# use the requested project id
|
136
|
+
@project_id = requested_id
|
137
|
+
@suite_mode = project_by_id(@project_id)['suite_mode']
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
# TestRail Suites
|
142
|
+
def testrail_suites
|
143
|
+
case @suite_mode
|
144
|
+
when 2,3
|
145
|
+
@suites = @client.send_get("get_suites/#{@project_id}")
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
def testrail_suite_id(suite_name)
|
150
|
+
res = -1
|
151
|
+
@suites.each do |suite|
|
152
|
+
res = suite['id'] if suite['name'] == suite_name
|
153
|
+
end
|
154
|
+
res
|
155
|
+
end
|
156
|
+
|
157
|
+
def add_testrail_suite(suite_name)
|
158
|
+
body = { name: suite_name }
|
159
|
+
res = @client.send_post("add_suite/#{@project_id}", body)
|
160
|
+
testrail_suite = res['id']
|
161
|
+
|
162
|
+
#re-establish suites
|
163
|
+
testrail_suites
|
164
|
+
|
165
|
+
testrail_suite
|
166
|
+
end
|
167
|
+
|
99
168
|
# TestRail Sections
|
100
169
|
def testrail_sections
|
101
|
-
|
170
|
+
case @suite_mode
|
171
|
+
when 2,3
|
172
|
+
@suite_id = testrail_suite_id(@suite_name)
|
173
|
+
@sections = @client.send_get("get_sections/#{@project_id}&suite_id=#{@suite_id}")
|
174
|
+
else
|
175
|
+
@sections = @client.send_get("get_sections/#{@project_id}")
|
176
|
+
end
|
102
177
|
end
|
103
178
|
|
104
179
|
def testrail_section_id(section_title)
|
@@ -109,6 +184,29 @@ module Itriagetestrail
|
|
109
184
|
res
|
110
185
|
end
|
111
186
|
|
187
|
+
def add_testrail_section(section_title)
|
188
|
+
if @suite_name
|
189
|
+
body = {
|
190
|
+
name: section_title,
|
191
|
+
suite_id: testrail_suite_id(@suite_name)
|
192
|
+
}
|
193
|
+
else
|
194
|
+
body = {
|
195
|
+
name: section_title
|
196
|
+
}
|
197
|
+
end
|
198
|
+
|
199
|
+
res = @client.send_post("add_section/#{@project_id}", body)
|
200
|
+
|
201
|
+
testrail_section = res['id']
|
202
|
+
|
203
|
+
# re-establish sections
|
204
|
+
testrail_sections
|
205
|
+
|
206
|
+
testrail_section
|
207
|
+
end
|
208
|
+
|
209
|
+
#TestRail Milestones
|
112
210
|
def normalize_milestone
|
113
211
|
case @testrail_config[:origin]
|
114
212
|
when 'prd', 'production', 'origin/production'
|
@@ -130,27 +228,6 @@ module Itriagetestrail
|
|
130
228
|
end
|
131
229
|
end
|
132
230
|
|
133
|
-
def set_project_id()
|
134
|
-
requested_id = @testrail_config[:projectId]
|
135
|
-
case requested_id
|
136
|
-
when nil, ''
|
137
|
-
# a project id was not provided, fetch it from TestRail by project name
|
138
|
-
projects = @client.send_get("get_projects")
|
139
|
-
res = -1
|
140
|
-
projects.each do |project|
|
141
|
-
res = project['id'] if project['name'] == @testrail_config[:projectName]
|
142
|
-
end
|
143
|
-
if res == -1
|
144
|
-
@execute = false
|
145
|
-
return
|
146
|
-
end
|
147
|
-
@project_id = res
|
148
|
-
else
|
149
|
-
# use the requested project id
|
150
|
-
@project_id = requested_id
|
151
|
-
end
|
152
|
-
end
|
153
|
-
|
154
231
|
# returns timestamp for begining of first day of current quarter
|
155
232
|
def milestone_period_start
|
156
233
|
time_zone = TZInfo::Timezone.get('America/Denver')
|
@@ -247,24 +324,14 @@ module Itriagetestrail
|
|
247
324
|
end
|
248
325
|
end
|
249
326
|
|
250
|
-
def add_testrail_section(section_title)
|
251
|
-
body = {
|
252
|
-
name: section_title
|
253
|
-
}
|
254
|
-
|
255
|
-
res = @client.send_post("add_section/#{@project_id}", body)
|
256
|
-
|
257
|
-
testrail_section = res['id']
|
258
|
-
|
259
|
-
# re-establish sections
|
260
|
-
testrail_sections
|
261
|
-
|
262
|
-
testrail_section
|
263
|
-
end
|
264
|
-
|
265
327
|
# TestRail Cases
|
266
328
|
def testrail_ids
|
267
|
-
|
329
|
+
case @suite_mode
|
330
|
+
when 2,3
|
331
|
+
@test_cases = @client.send_get("get_cases/#{@project_id}&suite_id=#{@suite_id}&type_id=3")
|
332
|
+
else
|
333
|
+
@test_cases = @client.send_get("get_cases/#{@project_id}&type_id=3")
|
334
|
+
end
|
268
335
|
|
269
336
|
@test_case_ids = []
|
270
337
|
|
@@ -331,27 +398,23 @@ module Itriagetestrail
|
|
331
398
|
|
332
399
|
# open a test run to submit test results
|
333
400
|
def add_testrail_run
|
334
|
-
|
335
|
-
|
336
|
-
body = {
|
401
|
+
body = {
|
337
402
|
name: test_name,
|
338
403
|
description: '',
|
339
404
|
include_all: true,
|
340
405
|
milestone_id: @milestone_id
|
341
|
-
|
342
|
-
else
|
406
|
+
}
|
343
407
|
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
include_all: false,
|
348
|
-
case_ids: @test_case_ids,
|
349
|
-
milestone_id: @milestone_id
|
350
|
-
}
|
408
|
+
unless @testrail_config[:include_all] || true
|
409
|
+
body[:include_all] = false
|
410
|
+
body[:case_ids] = @test_case_ids
|
351
411
|
end
|
352
412
|
|
413
|
+
case @suite_mode
|
414
|
+
when 2,3
|
415
|
+
body[:suite_id] = @suite_id
|
416
|
+
end
|
353
417
|
res = @client.send_post("add_run/#{@project_id}", body)
|
354
|
-
|
355
418
|
@run_id = res['id']
|
356
419
|
end
|
357
420
|
|
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itriagetestrail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
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
|
+
date: 2016-04-13 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
19
|
version: '1.10'
|
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
26
|
version: '1.10'
|
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
33
|
version: '10.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
40
|
version: '10.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
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
54
|
version: '0'
|
55
55
|
description: Plugin to export your cucumber tests in the Testrail
|
@@ -59,8 +59,8 @@ extensions: []
|
|
59
59
|
extra_rdoc_files: []
|
60
60
|
files:
|
61
61
|
- lib/itriagetestrail.rb
|
62
|
-
- lib/itriagetestrail/testrail_binding.rb
|
63
62
|
- lib/itriagetestrail/pool.rb
|
63
|
+
- lib/itriagetestrail/testrail_binding.rb
|
64
64
|
- lib/itriagetestrail/version.rb
|
65
65
|
homepage:
|
66
66
|
licenses: []
|
@@ -71,17 +71,17 @@ require_paths:
|
|
71
71
|
- lib
|
72
72
|
required_ruby_version: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- -
|
74
|
+
- - ">="
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: '0'
|
77
77
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- -
|
79
|
+
- - ">="
|
80
80
|
- !ruby/object:Gem::Version
|
81
81
|
version: '0'
|
82
82
|
requirements: []
|
83
83
|
rubyforge_project:
|
84
|
-
rubygems_version: 2.
|
84
|
+
rubygems_version: 2.4.5.1
|
85
85
|
signing_key:
|
86
86
|
specification_version: 4
|
87
87
|
summary: Plugin to export your cucumber tests in the Testrail
|