testrail-ruby 0.0.26 → 0.0.27

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: 904c7cb657f6119209dc39dab2ff4bede4b639c5
4
- data.tar.gz: 7c42db52877d5de46334bae1ee84e749ddb382b4
3
+ metadata.gz: 928183b23034905ff5b66c5a8aa1f6ce5635ecd8
4
+ data.tar.gz: 802c7abb8fe7766de441ba64fbcc0083e2d47299
5
5
  SHA512:
6
- metadata.gz: a42df30911e8911ab678b8addab502a259220ccf07fd574ae2780667d7795f574ffe5e9bb759ab40917e51ffe61a2f6a27e06980aa6dc77b21458dfd331d9df9
7
- data.tar.gz: 697a7bb11855a1c67e2da489fff779fcf8aa8b586a6f6180377378bfc36f54813c7f4d5ea19755616b4fd61fd5be9e10717ca3cfd64385f328a6a56b0c7f0a21
6
+ metadata.gz: a601eec402e070a1322282b6bf262a2f94c625aaf49b7ff9aa3ccc1548d575e635a92cbf41f6f5e76e59c16863d3ca189cb22f2c427b1f469c907f11f37d1abe
7
+ data.tar.gz: 4f820237599e4b8f86db03a5841f91bccf572b32eb60e9faa6df0912a0026fc604a906df2a945706c86af655df94dffdefac138e6517462cb614959608d8c8b1
data/lib/endpoints.rb CHANGED
@@ -1,688 +1,493 @@
1
1
  module Endpoints
2
- ##########################++
3
- ####get_case################
4
- ############################
5
2
  # Returns an existing test case
6
3
  # @param case_id [int] The id of the test case you want.
7
- # @example Code Example
8
- # @client.get_case(1)
9
- # @example Endpoint Example
10
- # GET index.php?/api/v2/get_case/1
11
- # @example Response Example
12
- # {
13
- # "created_by": 5,
14
- # "created_on": 1392300984,
15
- # "custom_expected": "..",
16
- # "custom_preconds": "..",
17
- # "custom_steps": "..",
18
- # "custom_steps_separated": [
19
- # {
20
- # "content": "Step 1",
21
- # "expected": "Expected Result 1"
22
- # },
23
- # {
24
- # "content": "Step 2",
25
- # "expected": "Expected Result 2"
26
- # }
27
- # ],
28
- # "estimate": "1m 5s",
29
- # "estimate_forecast": null,
30
- # "id": 1,
31
- # "milestone_id": 7,
32
- # "priority_id": 2,
33
- # "refs": "RF-1, RF-2",
34
- # "section_id": 1,
35
- # "suite_id": 1,
36
- # "title": "Change document attributes (author, title, organization)",
37
- # "type_id": 4,
38
- # "updated_by": 1,
39
- # "updated_on": 1393586511
40
- # }
4
+ # @param [Hash] opts
5
+ # @example Endpoint
6
+ # index.php?/api/v2/get_case/:case_id
41
7
  # @see http://docs.gurock.com/testrail-api2/reference-cases
42
- def get_case(case_id)
43
- send_get("get_case/#{case_id.to_s}")
8
+ def get_case(case_id, opts = nil)
9
+ send_get("get_case/#{case_id}", opts)
44
10
  end
45
11
 
46
- ##########################++
47
- ####get_cases###############
48
- ############################
49
12
  # Returns a list of test cases for a test suite or specific section in a test suite.
50
13
  # @param project_id [int] The id of the project that contains your tests
51
14
  # @param [Hash] opts
52
- # @option opts [int] :suite_id The ID of the test suite (optional if the project is operating in single suite mode)
53
- # @option opts [int] :section_id The ID of the section (optional)
54
- # @option opts [unix timestamp] :created_after Only return test cases created after this date (as UNIX timestamp).
55
- # @option opts [unix timestamp] :created_before Only return test cases created before this date (as UNIX timestamp).
56
- # @option opts [int(list)] :created_by A comma-separated list of creators (user IDs) to filter by.
57
- # @option opts [int(list)] :milestone_id A comma-separated list of milestone IDs to filter by (not available if the milestone field is disabled for the project).
58
- # @option opts [int(list)] :priority_id A comma-separated list of priority IDs to filter by.
59
- # @option opts [int(list)] :template_id A comma-separated list of template IDs to filter by (requires TestRail 5.2 or later)
60
- # @option opts [int(list)] :type_id A comma-separated list of case type IDs to filter by.
61
- # @option opts [unix timestamp] :updated_after Only return test cases updated after this date (as UNIX timestamp).
62
- # @option opts [unix timestamp] :updated_before Only return test cases updated before this date (as UNIX timestamp).
63
- # @option opts [int(list)] :updated_by A comma-separated list of users who updated test cases to filter by.
64
- # @example Code Example
65
- # @client.get_cases(1, {"suite_id":1, "section_id":1})
66
- # @example Endpoint Example
67
- # GET index.php?/api/v2/get_cases/1&suite_id=1&section_id=1
68
- # @example Response Example
69
- # [
70
- # { "id": 1, "title": "..", .. },
71
- # { "id": 2, "title": "..", .. },
72
- # ..
73
- # ]
15
+ # @example Endpoint
16
+ # index.php?/api/v2/get_cases/:project_id
74
17
  # @see http://docs.gurock.com/testrail-api2/reference-cases
75
- def get_cases(project_id, suite_id, opts = {})
76
- send_get("get_cases/#{project_id.to_s}&suite_id=#{suite_id.to_s}", opts)
18
+ def get_cases(project_id, opts = {})
19
+ options = opts.to_a.map { |x| "#{x[0]}=#{x[1]}" }.join("&")
20
+ send_get("get_cases/#{project_id.to_s}&#{options}", opts)
77
21
  end
78
22
 
79
- ##################deprecated
80
- ####get_cases_by_section####
81
- ############################
82
23
  # Return all test cases in a given project by suite_id and section_id
83
- # @deprecated use get_cases instead
24
+ # @param project_id [int] The id of the project that contains your tests
25
+ # @param suite_id [int] The id of the suite within the project
26
+ # @param section_id [int] The id of the section within the suite
27
+ # @param [Hash] opts
28
+ # @example Endpoint
29
+ # index.php?/api/v2/get_cases/:project_id&suite_id=:suite_id&section_id=:section_id
30
+ # @see http://docs.gurock.com/testrail-api2/reference-cases
84
31
  def get_cases_by_section(project_id, suite_id, section_id, opts = {})
85
- send_get("get_cases/#{project_id.to_s}&suite_id=#{suite_id.to_s}&section_id=#{section_id.to_s}", opts)
32
+ send_get("get_cases/:#{project_id.to_s}&suite_id=:#{suite_id.to_s}&section_id=:#{section_id.to_s}", opts)
86
33
  end
87
34
 
88
- ##################deprecated
89
- ####get_cases_by_suite######
90
- ############################
91
35
  # Return all test cases in a given project by suite_id
92
- # @deprecated use get_cases instead
36
+ # @param project_id [int] The id of the project that contains your tests
37
+ # @param suite_id [int] The id of the suite within the project
38
+ # @param [Hash] opts
39
+ # @example Endpoint
40
+ # index.php?/api/v2/get_cases/:project_id&suite_id=:suite_id
41
+ # @see http://docs.gurock.com/testrail-api2/reference-cases
93
42
  def get_cases_by_suite(project_id, suite_id, opts = {})
94
- send_get("get_cases/#{project_id.to_s}&suite_id=#{suite_id.to_s}", opts)
43
+ send_get("get_cases/:#{project_id.to_s}&suite_id=:#{suite_id.to_s}", opts)
95
44
  end
96
45
 
97
- ############################
98
- ####add_case################
99
- ############################
100
46
  # Creates a new test case
101
47
  # @param section_id [int] The id of the test case
102
48
  # @param [Hash] opts
103
- # @option opts [string] :title The title of the test case (required)
104
- # @option opts [int] :template_id The ID of the template (field layout) (requires TestRail 5.2 or later)
105
- # @option opts [int] :type_id The ID of the case type
106
- # @option opts [int] :priority_id The ID of the case priority
107
- # @option opts [timespan] :estimate The estimate, e.g. "30s" or "1m 45s"
108
- # @option opts [int] :milestone_id The ID of the milestone to link to the test case
109
- # @option opts [string] :refs A comma-separated list of references/requirements
110
- # @example Code Example
111
- # @client.add_case(1, {"title":"testCaseName", "type_id":1})
112
- # @example Endpoint Example
113
- # index.php?/api/v2/add_case/1&title="foo"&type_id=1
49
+ # @example Endpoint
50
+ # index.php?/api/v2/add_case/:section_id
114
51
  # @see http://docs.gurock.com/testrail-api2/reference-cases
115
52
  def add_case(section_id, opts = {})
116
- send_post("add_case/#{section_id.to_s}", opts)
53
+ send_post("add_case/:#{section_id.to_s}", opts)
117
54
  end
118
55
 
119
- ############################
120
- ####update_case#############
121
- ############################
122
56
  # Update test result by case id
123
57
  # @param case_id [int] The id of the test case
124
58
  # @param [Hash] opts
125
- # @example Endpoint Example
59
+ # @example Endpoint
126
60
  # index.php?/api/v2/update_case/:case_id
127
61
  # @see http://docs.gurock.com/testrail-api2/reference-cases
128
62
  def update_case(case_id, opts = {})
129
63
  send_post("update_case/:#{case_id.to_s}", opts)
130
64
  end
131
65
 
132
- ############################
133
- ####delete_case################
134
- ############################
135
66
  # Delete test case by case id
136
67
  # @param case_id [int] The id of the test case
137
68
  # @param [Hash] opts
138
- # @example Endpoint Example
69
+ # @example Endpoint
139
70
  # index.php?/api/v2/delete_case/:case_id
140
71
  # @see http://docs.gurock.com/testrail-api2/reference-cases
141
72
  def delete_case(case_id, opts = {})
142
73
  send_post("delete_case/:#{case_id.to_s}", opts)
143
74
  end
144
75
 
145
- ############################
146
- ####get_suite###############
147
- ############################
148
76
  # Return suite by suite id
149
77
  # @param suite_id [int] The suite id
150
78
  # @param [Hash] opts
151
- # @example Endpoint Example
79
+ # @example Endpoint
152
80
  # index.php?/api/v2/get_suite/:suite_id
153
81
  # @see http://docs.gurock.com/testrail-api2/reference-suites
154
82
  def get_suite(suite_id, opts = {})
155
83
  send_get("get_suite/:#{suite_id.to_s}", opts)
156
84
  end
157
85
 
158
- ############################
159
- ####get_suites##############
160
- ############################
161
86
  # Return all suites in project by project id
162
- # @param project_id (see get_cases)
87
+ # @param project_id [int] The id of the project containing suites
163
88
  # @param [Hash] opts
164
- # @example Endpoint Example
89
+ # @example Endpoint
165
90
  # index.php?/api/v2/get_suites/:project_id
166
91
  # @see http://docs.gurock.com/testrail-api2/reference-suites
167
92
  def get_suites(project_id, opts = {})
168
93
  send_get("get_suites/:#{project_id.to_s}", opts)
169
94
  end
170
95
 
171
- ############################
172
- ####add_suite###############
173
- ############################
174
96
  # Add a test suite
175
97
  # @param project_id [int] The id of the project containing suites
176
98
  # @param [Hash] opts
177
- # @example Endpoint Example
99
+ # @example Endpoint
178
100
  # index.php?/api/v2/add_suite/:project_id
179
101
  # @see http://docs.gurock.com/testrail-api2/reference-suites
180
102
  def add_suite(project_id, opts = {})
181
103
  send_post("add_suite/:#{project_id.to_s}", opts)
182
104
  end
183
105
 
184
- ############################
185
- ####update_suite############
186
- ############################
187
106
  # update a test suite
188
107
  # @param suite_id [int] The suite id
189
108
  # @param [Hash] opts
190
- # @example Endpoint Example
109
+ # @example Endpoint
191
110
  # index.php?/api/v2/update_suite/:suite_id
192
111
  # @see http://docs.gurock.com/testrail-api2/reference-suites
193
112
  def update_suite(suite_id, opts = {})
194
113
  send_post("update_suite/:#{suite_id.to_s}", opts)
195
114
  end
196
115
 
197
- ############################
198
- ####delete_suite############
199
- ############################
200
116
  # Delete a test suite
201
117
  # @param suite_id [int] The suite id
202
118
  # @param [Hash] opts
203
- # @example Endpoint Example
119
+ # @example Endpoint
204
120
  # index.php?/api/v2/delete_suite/:suite_id
205
121
  # @see http://docs.gurock.com/testrail-api2/reference-suites
206
122
  def delete_suite(suite_id, opts = {})
207
123
  send_post("delete_suite/:#{suite_id.to_s}", opts)
208
124
  end
209
125
 
210
-
211
- ############################
212
- ####get_section#############
213
- ############################
214
126
  # Return section by id
215
127
  # @param section_id [int]
216
128
  # @param [Hash] opts
217
- # @example Endpoint Example
129
+ # @example Endpoint
218
130
  # index.php?/api/v2/get_section/:section_id
219
131
  # @see http://docs.gurock.com/testrail-api2/reference-sections
220
132
  def get_section(section_id, opts = {})
221
133
  send_get("get_section/:#{section_id.to_s}", opts)
222
134
  end
223
135
 
224
- ############################
225
- ####get_sections############
226
- ############################
227
136
  # Get sections for suite
228
137
  # @param suite_id [int]
229
138
  # @param [Hash] opts
230
- # @example Endpoint Example
139
+ # @example Endpoint
231
140
  # index.php?/api/v2/get_sections/:project_id&suite_id=:suite_id
232
141
  # @see http://docs.gurock.com/testrail-api2/reference-sections
233
142
  def get_sections(project_id, suite_id, opts = {})
234
143
  send_get("get_sections/#{project_id.to_s}&suite_id=#{suite_id.to_s}", opts)
235
144
  end
236
145
 
237
- ############################
238
- ####add_section#############
239
- ############################
240
146
  # Add section to suite
241
147
  # @param project_id [int]
242
148
  # @param [Hash] opts
243
149
  # @option opts [Int] suite_id
244
150
  # @option opts [String] name
245
151
  # @option opts [Int] parent_id
246
- # @example Endpoint Example
152
+ # @example Endpoint
247
153
  # index.php?/api/v2/add_section/:project_id
248
- # @example Code Example
154
+ # @example Code
249
155
  # @client.add_section(1, {"suite_id": 5, "name": "This is a new section", "parent_id": 10})
250
156
  # @see http://docs.gurock.com/testrail-api2/reference-sections
251
157
  def add_section(project_id, opts = {})
252
158
  send_post("add_section/#{project_id.to_s}", opts)
253
159
  end
254
160
 
255
- ############################
256
- ####get_milestone###########
257
- ############################
258
161
  # Get milestone by milestone id
259
162
  # @param milestone_id [int]
260
163
  # @param [Hash] opts
261
- # @example Endpoint Example
164
+ # @example Endpoint
262
165
  # index.php?/api/v2/get_milestone/:milestone_id
263
166
  # @see http://docs.gurock.com/testrail-api2/reference-milestones
264
167
  def get_milestone(milestone_id, opts = {})
265
168
  send_get("get_milestone/:#{milestone_id.to_s}", opts)
266
169
  end
267
170
 
268
- ############################
269
- ####get_milestones##########
270
- ############################
271
171
  # Get project milestones by project id
272
172
  # @param project_id [int]
273
173
  # @param [Hash] opts
274
- # @example Endpoint Example
174
+ # @example Endpoint
275
175
  # index.php?/api/v2/get_milestones/:project_id
276
176
  # @see http://docs.gurock.com/testrail-api2/reference-milestones
277
177
  def get_milestones(project_id, opts = {})
278
178
  send_get("get_milestones/:#{project_id.to_s}", opts)
279
179
  end
280
180
 
281
- ############################
282
- ####add_milestone###########
283
- ############################
284
181
  # Add milestone to project id
285
182
  # @param project_id [int]
286
183
  # @param [Hash] opts
287
- # @example Endpoint Example
184
+ # @example Endpoint
288
185
  # index.php?/api/v2/add_milestone/:project_id
289
186
  # @see http://docs.gurock.com/testrail-api2/reference-milestones
290
187
  def add_milestone(project_id, opts = {})
291
188
  send_post("add_milestone/:#{project_id.to_s}", opts)
292
189
  end
293
190
 
294
- ############################
295
- ####update_milestone########
296
- ############################
297
191
  # Add milestone to project id
298
192
  # @param milestone_id [int]
299
193
  # @param [Hash] opts
300
- # @example Endpoint Example
194
+ # @example Endpoint
301
195
  # index.php?/api/v2/update_milestone/:milestone_id
302
196
  # @see http://docs.gurock.com/testrail-api2/reference-milestones
303
197
  def update_milestone(milestone_id, opts = {})
304
198
  send_post("update_milestone/:#{milestone_id.to_s}", opts)
305
199
  end
306
200
 
307
- ############################
308
- ####delete_milestone########
309
- ############################
310
201
  # Add milestone to project id
311
202
  # @param milestone_id [int]
312
203
  # @param [Hash] opts
313
- # @example Endpoint Example
204
+ # @example Endpoint
314
205
  # index.php?/api/v2/delete_milestone/:milestone_id
315
206
  # @see http://docs.gurock.com/testrail-api2/reference-milestones
316
207
  def delete_milestone(milestone_id, opts = {})
317
208
  send_post("delete_milestone/:#{milestone_id.to_s}", opts)
318
209
  end
319
210
 
320
- ############################
321
- ####get_plan################
322
- ############################
323
211
  # Get plan by id
324
212
  # @param plan_id [int]
325
213
  # @param [Hash] opts
326
- # @example Endpoint Example
214
+ # @example Endpoint
327
215
  # index.php?/api/v2/get_plan/:plan_id
328
216
  # @see http://docs.gurock.com/testrail-api2/reference-plans
329
217
  def get_plan(plan_id, opts = {})
330
218
  send_get("get_plan/:#{plan_id.to_s}", opts)
331
219
  end
332
220
 
333
- ############################
334
- ####get_plans###############
335
- ############################
336
221
  # Get plans in project by project id
337
222
  # @param project_id [int]
338
223
  # @param [Hash] opts
339
- # @example Endpoint Example
224
+ # @example Endpoint
340
225
  # index.php?/api/v2/get_plans/:project_id
341
226
  # @see http://docs.gurock.com/testrail-api2/reference-plans
342
227
  def get_plans(project_id, opts = {})
343
228
  send_get("get_plans/:#{project_id.to_s}", opts)
344
229
  end
345
230
 
346
- ############################
347
- ####add_plan################
348
- ############################
349
231
  # Add plan to project by project id
350
232
  # @param project_id [int]
351
233
  # @param [Hash] opts
352
- # @example Endpoint Example
234
+ # @example Endpoint
353
235
  # index.php?/api/v2/add_plan/:project_id
354
236
  # @see http://docs.gurock.com/testrail-api2/reference-plans
355
237
  def add_plan(project_id, opts = {})
356
238
  send_post("add_plan/:#{project_id.to_s}", opts)
357
239
  end
358
240
 
359
- ############################
360
- ####add_plan_entry##########
361
- ############################
362
241
  # Add plan entries by plan id
363
242
  # @param plan_id [int]
364
243
  # @param [Hash] opts
365
- # @example Endpoint Example
244
+ # @example Endpoint
366
245
  # index.php?/api/v2/add_plan_entry/:plan_id
367
246
  # @see http://docs.gurock.com/testrail-api2/reference-plans
368
247
  def add_plan_entry(plan_id, opts = {})
369
248
  send_post("add_plan_entry/:#{plan_id.to_s}", opts)
370
249
  end
371
250
 
372
- ############################
373
- ####update_plan#############
374
- ############################
375
251
  # Update plan by plan id
376
252
  # @param plan_id [int]
377
253
  # @param [Hash] opts
378
- # @example Endpoint Example
254
+ # @example Endpoint
379
255
  # index.php?/api/v2/update_plan/:plan_id
380
256
  # @see http://docs.gurock.com/testrail-api2/reference-plans
381
257
  def update_plan(plan_id, opts = {})
382
258
  send_post("update_plan/:#{plan_id.to_s}", opts)
383
259
  end
384
260
 
385
- ############################
386
- ####update_plan_entry#######
387
- ############################
388
261
  # Update plan entry by plan id
389
262
  # @param plan_id [int]
390
263
  # @param entry_id [int] Id of entry
391
264
  # @param [Hash] opts
392
- # @example Endpoint Example
265
+ # @example Endpoint
393
266
  # index.php?/api/v2/update_plan_entry/:plan_id/:entry_id
394
267
  # @see http://docs.gurock.com/testrail-api2/reference-plans
395
268
  def update_plan_entry(plan_id, entry_id, opts = {})
396
269
  send_post("update_plan_entry/:#{plan_id.to_s}/:#{entry_id.to_s}", opts)
397
270
  end
398
271
 
399
- ############################
400
- ####close_plan##############
401
- ############################
402
272
  # Close plan by plan id
403
273
  # @param plan_id [int]
404
274
  # @param [Hash] opts
405
- # @example Endpoint Example
275
+ # @example Endpoint
406
276
  # index.php?/api/v2/close_plan/:plan_id
407
277
  # @see http://docs.gurock.com/testrail-api2/reference-plans
408
278
  def close_plan(plan_id, opts = {})
409
279
  send_post("close_plan/:#{plan_id.to_s}", opts)
410
280
  end
411
281
 
412
- ############################
413
- ####delete_plan#############
414
- ############################
415
- # @example Endpoint Example
282
+ # @example Endpoint
416
283
  # index.php?/api/v2/delete_plan/:plan_id
417
284
  # @see http://docs.gurock.com/testrail-api2/reference-plans
418
285
  def delete_plan(plan_id, opts)
419
286
  send_post("delete_plan/:#{plan_id.to_s}", opts)
420
287
  end
421
288
 
422
- ############################
423
- ####delete_plan_by_entry####
424
- ############################
425
- # @example Endpoint Example
289
+ # @example Endpoint
426
290
  # index.php?/api/v2/delete_plan_entry/:plan_id/:entry_id
427
291
  def delete_plan_entry(plan_id, entry_id, opts = {})
428
292
  send_post("delete_plan_entry/:#{plan_id.to_s}/:#{entry_id.to_s}", opts)
429
293
  end
430
294
 
431
- ############################
432
- ####get_project#############
433
- ############################
434
295
  # Get project by project id
435
296
  # @param project_id [int]
436
297
  # @param [Hash] opts
437
- # @example Endpoint Example
298
+ # @example Endpoint
438
299
  # index.php?/api/v2/get_project/:project_id
439
300
  # @see http://docs.gurock.com/testrail-api2/reference-projects
440
301
  def get_project(project_id, opts = {})
441
- send_get("get_project/#{project_id}", opts)
302
+ send_get("get_project/:#{project_id.to_s}", opts)
442
303
  end
443
304
 
444
- ############################
445
- ####get_projects############
446
- ############################
447
305
  # Get all projects
448
306
  # @param [Hash] opts
449
- # @example Endpoint Example
307
+ # @example Endpoint
450
308
  # index.php?/api/v2/get_projects
451
309
  # @see http://docs.gurock.com/testrail-api2/reference-projects
452
310
  def get_projects(opts = {})
453
311
  send_get('get_projects', opts)
454
312
  end
455
313
 
456
- ############################
457
- ####add_project#############
458
- ############################
459
314
  # Add a project
460
315
  # @param [Hash] opts
461
- # @example Endpoint Example
316
+ # @example Endpoint
462
317
  # index.php?/api/v2/add_project
463
318
  # @see http://docs.gurock.com/testrail-api2/reference-projects
464
319
  def add_project(opts = {})
465
320
  send_post("add_project", opts)
466
321
  end
467
322
 
468
- ############################
469
- ####update_project##########
470
- ############################
471
323
  # Update a project
472
324
  # @param project_id [int] The project you want to update
473
325
  # @param [Hash] opts
474
- # @example Endpoint Example
326
+ # @example Endpoint
475
327
  # index.php?/api/v2/update_project/:project_id
476
328
  # @see http://docs.gurock.com/testrail-api2/reference-projects
477
329
  def update_project(project_id, opts)
478
330
  send_post("update_project/:#{project_id.to_s}", opts)
479
331
  end
480
332
 
481
- ############################
482
- ####delete_project##########
483
- ############################
333
+
484
334
  # Delete a project
485
335
  # @param project_id [int] The project you want to delete
486
336
  # @param [Hash] opts
487
- # @example Endpoint Example
337
+ # @example Endpoint
488
338
  # index.php?/api/v2/delete_project/:project_id
489
339
  # @see http://docs.gurock.com/testrail-api2/reference-projects
490
340
  def delete_project(project_id, opts)
491
341
  send_post("delete_project/:#{project_id.to_s}", opts)
492
342
  end
493
343
 
494
- ############################
495
- ####get_results#############
496
- ############################
497
344
  # Returns a list of test results for a test
498
345
  # @param test_id [int]
499
346
  # @param [Hash] opts
500
- # @example Endpoint Example
347
+ # @example Endpoint
501
348
  # index.php?/api/v2/get_results/:test_id
502
349
  # @see http://docs.gurock.com/testrail-api2/reference-results
503
350
  def get_results(test_id, opts = {})
504
351
  send_get("get_results/:#{test_id.to_s}", opts)
505
352
  end
506
353
 
507
- ############################
508
- ####get_results_for_case####
509
- ############################
510
354
  # Returns a list of test results for a test run and case combination
511
355
  # @param run_id [int]
512
356
  # @param case_id [int]
513
357
  # @param [Hash] opts
514
- # @example Endpoint Example
358
+ # @example Endpoint
515
359
  # index.php?/api/v2/get_results_for_case/:run_id/:case_id
516
360
  # @see http://docs.gurock.com/testrail-api2/reference-results
517
361
  def get_results_for_case(run_id, case_id, opts = {})
518
362
  send_get("get_results_for_case/:#{run_id.to_s}/:#{case_id.to_s}", opts)
519
363
  end
520
364
 
521
- ############################
522
- ####get_results_for_run#####
523
- ############################
524
365
  # Returns a list of test results for a test run
525
366
  # @param run_id [int]
526
367
  # @param [Hash] opts
527
- # @example Endpoint Example
368
+ # @example Endpoint
528
369
  # index.php?/api/v2/get_results_for_run/:run_id
529
370
  # @see http://docs.gurock.com/testrail-api2/reference-results
530
371
  def get_results_for_run(run_id, opts = {})
531
372
  send_get("get_results_for_run/:#{run_id.to_s}", opts)
532
373
  end
533
374
 
534
- ############################
535
- ####add_result##############
536
- ############################
537
375
  # Adds a new test result, comment or assigns a test. It's recommended to use add_results instead if you plan to add results for multiple tests.
538
376
  # @param test_id [int]
539
377
  # @param [Hash] opts
540
- # @example Endpoint Example
378
+ # @example Endpoint
541
379
  # index.php?/api/v2/add_result/:test_id
542
380
  # @see http://docs.gurock.com/testrail-api2/reference-results
543
381
  def add_result(test_id, opts = {})
544
382
  send_post("add_result/:#{test_id.to_s}", opts)
545
383
  end
546
384
 
547
- ############################
548
- ####add_result_for_case#####
549
- ############################
550
385
  # Adds a new test result, comment or assigns a test (for a test run and case combination)
551
386
  # @param run_id [int]
552
387
  # @param case_id [int]
553
388
  # @param [Hash] opts
554
- # @example Endpoint Example
389
+ # @example Endpoint
555
390
  # index.php?/api/v2/add_result_for_case/:run_id/:case_id
556
391
  # @see http://docs.gurock.com/testrail-api2/reference-results
557
392
  def add_result_for_case(run_id, case_id, opts = {})
558
393
  send_post("add_result_for_case/:#{run_id.to_s}/:#{case_id.to_s}", opts)
559
394
  end
560
395
 
561
- ############################
562
- ####add_results#############
563
- ############################
564
396
  # Adds one or more new test results, comments or assigns one or more tests
565
397
  # @param run_id [int]
566
398
  # @param [Hash] opts
567
- # @example Endpoint Example
399
+ # @example Endpoint
568
400
  # index.php?/api/v2/add_results/:run_id
569
401
  # @see http://docs.gurock.com/testrail-api2/reference-results
570
402
  def add_results(run_id, opts = {})
571
403
  send_post("add_results/:#{run_id.to_s}", opts)
572
404
  end
573
405
 
574
- ############################
575
- ####add_results_for_cases###
576
- ############################
577
406
  # Adds one or more new test results, comments or assigns one or more tests (using the case IDs)
578
407
  # @param run_id [int]
579
408
  # @param [Hash] opts
580
- # @example Endpoint Example
409
+ # @example Endpoint
581
410
  # index.php?/api/v2/add_results_for_cases/:run_id
582
411
  # @see http://docs.gurock.com/testrail-api2/reference-results
583
412
  def add_results_for_cases(run_id, opts = {})
584
413
  send_post("add_results_for_cases/:#{run_id.to_s}", opts)
585
414
  end
586
415
 
587
- ############################
588
- ####get_run#################
589
- ############################
590
416
  # Get run by run id
591
417
  # @param run_id [int]
592
418
  # @param [Hash] opts
593
- # @example Endpoint Example
419
+ # @example Endpoint
594
420
  # index.php?/api/v2/get_run/:run_id
595
421
  # @see http://docs.gurock.com/testrail-api2/reference-runs
596
422
  def get_run(run_id, opts = {})
597
423
  send_get("get_run/:#{run_id.to_s}", opts)
598
424
  end
599
425
 
600
- ############################
601
- ####get_runs################
602
- ############################
603
426
  # Get runs by project id
604
427
  # @param project_id [int]
605
428
  # @param plan_id [int]
606
429
  # @param [Hash] opts
607
- # @example Endpoint Example
430
+ # @example Endpoint
608
431
  # index.php?/api/v2/get_runs/:project_id
609
432
  # @see http://docs.gurock.com/testrail-api2/reference-runs
610
433
  def get_runs(project_id, opts = {})
611
434
  send_get("get_runs/#{project_id.to_s}", opts)
612
435
  end
613
436
 
614
- ############################
615
- ####add_run#################
616
- ############################
617
437
  # Add run by suite id
618
438
  # @param project_id [int]
619
439
  # @param [Hash] opts
620
- # @example Endpoint Example
440
+ # @example Endpoint
621
441
  # index.php?/api/v2/add_run/:project_id
622
442
  # @see http://docs.gurock.com/testrail-api2/reference-runs
623
443
  def add_run(project_id, opts = {})
624
444
  send_post("add_run/:#{project_id.to_s}", opts)
625
445
  end
626
446
 
627
- ############################
628
- ####update_run##############
629
- ############################
630
447
  # Updates existing test run
631
448
  # @param run_id [int]
632
449
  # @param [Hash] opts
633
- # @example Endpoint Example
450
+ # @example Endpoint
634
451
  # index.php?/api/v2/update_run/:run_id
635
452
  # @see http://docs.gurock.com/testrail-api2/reference-runs
636
453
  def update_run(run_id, opts = {})
637
454
  send_post("update_run/:#{run_id.to_s}", opts)
638
455
  end
639
456
 
640
- ############################
641
- ####close_run###############
642
- ############################
643
457
  # Closes an existing test run and archives its tests & results
644
458
  # @param run_id [int]
645
459
  # @param [Hash] opts
646
- # @example Endpoint Example
460
+ # @example Endpoint
647
461
  # index.php?/api/v2/close_run/:run_id
648
462
  # @see http://docs.gurock.com/testrail-api2/reference-runs
649
463
  def close_run(run_id, opts = {})
650
464
  send_post("close_run/#{run_id.to_s}", opts)
651
465
  end
652
466
 
653
- ############################
654
- ####delete_run##############
655
- ############################
656
467
  # Deletes an existing test run.
657
468
  # @param run_id [int]
658
469
  # @param [Hash] opts
659
- # @example Endpoint Example
470
+ # @example Endpoint
660
471
  # index.php?/api/v2/delete_run/:run_id
661
472
  # @see http://docs.gurock.com/testrail-api2/reference-runs
662
473
  def delete_run(run_id, opts = {})
663
474
  send_post("delete_run/:#{run_id.to_s}", opts)
664
475
  end
665
476
 
666
- ############################
667
- ####get_test################
668
- ############################
669
477
  # Returns an existing test
670
478
  # @param test_id [int]
671
479
  # @param [Hash] opts
672
- # @example Endpoint Example
480
+ # @example Endpoint
673
481
  # index.php?/api/v2/get_test/:test_id
674
482
  # @see http://docs.gurock.com/testrail-api2/reference-tests
675
483
  def get_test(test_id, opts = {})
676
484
  send_get("get_test/:#{test_id.to_s}", opts)
677
485
  end
678
486
 
679
- ############################
680
- ####get_tests###############
681
- ############################
682
487
  # Returns a list of tests for a test run
683
488
  # @param run_id [int]
684
489
  # @param [Hash] opts
685
- # @example Endpoint Example
490
+ # @example Endpoint
686
491
  # index.php?/api/v2/get_tests/:run_id
687
492
  # @see http://docs.gurock.com/testrail-api2/reference-tests
688
493
  def get_tests(run_id, opts = {})
data/lib/testrail-ruby.rb CHANGED
@@ -21,47 +21,23 @@ module TestRail
21
21
  attr_accessor :password
22
22
 
23
23
  def initialize(base_url)
24
- if !base_url.match(/\/$/)
25
- base_url += '/'
26
- end
24
+ base_url += '/' unless base_url =~ /\/$/
27
25
  @url = base_url + 'index.php?/api/v2/'
28
26
  end
29
27
 
30
- #
31
- # Send Get
32
- #
33
- # Issues a GET request (read) against the API and returns the result
34
- # (as Ruby hash).
35
- #
36
- # Arguments:
37
- #
38
- # uri The API method to call including parameters
39
- # (e.g. get_case/1)
40
- #
41
- def send_get(uri)
42
- _send_request('GET', uri, nil)
28
+ def send_get(uri, data)
29
+ _send_request('GET', uri, data)
43
30
  end
44
31
 
45
- #
46
- # Send POST
47
- #
48
- # Issues a POST request (write) against the API and returns the result
49
- # (as Ruby hash).
50
- #
51
- # Arguments:
52
- #
53
- # uri The API method to call including parameters
54
- # (e.g. add_case/1)
55
- # data The data to submit as part of the request (as
56
- # Ruby hash, strings must be UTF-8 encoded)
57
- #
58
32
  def send_post(uri, data)
59
33
  _send_request('POST', uri, data)
60
34
  end
61
35
 
62
36
  private
37
+
63
38
  def _send_request(method, uri, data)
64
39
  url = URI.parse(@url + uri)
40
+ puts "URL: #{url}"
65
41
  if method == 'POST'
66
42
  request = Net::HTTP::Post.new(url.path + '?' + url.query)
67
43
  request.body = JSON.dump(data)
@@ -78,20 +54,20 @@ module TestRail
78
54
  end
79
55
  response = conn.request(request)
80
56
 
81
- if response.body && !response.body.empty?
82
- result = JSON.parse(response.body)
83
- else
84
- result = {}
85
- end
57
+ result = if response.body && !response.body.empty?
58
+ JSON.parse(response.body)
59
+ else
60
+ {}
61
+ end
86
62
 
87
63
  if response.code != '200'
88
- if result && result.key?('error')
89
- error = '"' + result['error'] + '"'
90
- else
91
- error = 'No additional error message received'
92
- end
93
- raise APIError.new('TestRail API returned HTTP %s (%s)' %
94
- [response.code, error])
64
+ error = if result && result.key?('error')
65
+ '"' + result['error'] + '"'
66
+ else
67
+ 'No additional error message received'
68
+ end
69
+ raise APIError, 'TestRail API returned HTTP %s (%s)' %
70
+ [response.code, error]
95
71
  end
96
72
 
97
73
  result
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Testrail
2
- VERSION = '0.0.26'.freeze
2
+ VERSION = '0.0.27'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testrail-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.26
4
+ version: 0.0.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frances Morales
@@ -105,7 +105,6 @@ files:
105
105
  - README.md
106
106
  - Rakefile
107
107
  - lib/endpoints.rb
108
- - lib/testrail-ruby-broken.rb
109
108
  - lib/testrail-ruby.rb
110
109
  - lib/version.rb
111
110
  - spec/spec_helper.rb
@@ -1,85 +0,0 @@
1
- require_relative 'version'
2
- require_relative 'endpoints'
3
- require 'net/http'
4
- require 'net/https'
5
- require 'uri'
6
- require 'json'
7
-
8
- ## #USAGE:
9
- ## #@client = TestRail::APIClient.new('YourBaseURLHere')
10
- ## #@client.user = 'UserName'
11
- ## #@client.password = 'Password'
12
-
13
- module TestRail
14
- class APIClient
15
- @url = ''
16
- @user = ''
17
- @password = ''
18
-
19
- include Endpoints
20
- attr_accessor :user
21
- attr_accessor :password
22
-
23
- def initialize(base_url)
24
- base_url += '/' unless base_url =~ /\/$/
25
- @url = base_url + 'index.php?/api/v2/'
26
- end
27
-
28
- def send_get(uri, data)
29
- puts "Getting: #{uri}"
30
- puts "Sending Data: #{data}"
31
- _send_request('GET', uri, data)
32
- end
33
-
34
- def send_post(uri, data)
35
- puts "Posting: #{uri}"
36
- puts "Sending Data: #{data}"
37
- _send_request('POST', uri, data)
38
- end
39
-
40
- private
41
-
42
- def _send_request(method, uri, data)
43
- url = URI.parse(@url + uri)
44
- puts "URL: #{url}"
45
- puts "url.query: #{url.query}"
46
- puts "Data Payload: #{data}"
47
- if method == 'POST'
48
- request = Net::HTTP::Post.new(url.path + '?' + url.query)
49
- request.body = JSON.dump(data)
50
- else
51
- request = Net::HTTP::Get.new(url.path + '?' + url.query)
52
- end
53
- request.basic_auth(@user, @password)
54
- request.add_field('Content-Type', 'application/json')
55
-
56
- conn = Net::HTTP.new(url.host, url.port)
57
- if url.scheme == 'https'
58
- conn.use_ssl = true
59
- conn.verify_mode = OpenSSL::SSL::VERIFY_NONE
60
- end
61
- response = conn.request(request)
62
-
63
- result = if response.body && !response.body.empty?
64
- JSON.parse(response.body)
65
- else
66
- {}
67
- end
68
-
69
- if response.code != '200'
70
- error = if result && result.key?('error')
71
- '"' + result['error'] + '"'
72
- else
73
- 'No additional error message received'
74
- end
75
- raise APIError, 'TestRail API returned HTTP %s (%s)' %
76
- [response.code, error]
77
- end
78
-
79
- result
80
- end
81
- end
82
-
83
- class APIError < StandardError
84
- end
85
- end