cukerail 0.3.4 → 0.3.5

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: e5bafd2e3713f9bc90f2555a9f01581df6ae2420
4
- data.tar.gz: 78579041ab618d9b636639c374e7493b8ba2c843
3
+ metadata.gz: 7ca72a855beaf0eb171de4e43366674b7f75c5ad
4
+ data.tar.gz: 668ef187633fa78bd9d8b60dcad7faaa172def22
5
5
  SHA512:
6
- metadata.gz: e01b06f772ded6ed2cc164b83a3fd31540b2d515ab76c06fa909775879ad81cb7ac768a073fe3e4bf6603939aba58d437924121600345b0e442035bac1188243
7
- data.tar.gz: 4de9899654fe18a1dfa0f4d12265001a57d36f55f722a8cc99813e6130b2208c30a15a39a066d07806815430e07b8d870741b1f309c0732a05697269da1ee58e
6
+ metadata.gz: 4765e49ccbb33919ddec291081222f2692c193573e9473f2a72c6438264d399b74d0c30229f70cca29cf0b5cc8d79b23c187eb003ebaa0a72f83646313895141
7
+ data.tar.gz: fcabc83b418036dd731736aca67d65cb9146a3fd4c7ccdbdcdc5b7cadc13daf8ef2d28f11822098b16ac67485f80f320a88d08f95c97c87e45be6d4a19364091
@@ -1,3 +1,3 @@
1
1
  module Cukerail
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.5"
3
3
  end
data/lib/cukerail.rb CHANGED
@@ -20,7 +20,7 @@ module Cukerail
20
20
  raise 'No id found' unless @id
21
21
  send_steps(test_case,@id)
22
22
  if ENV['TESTRUN']
23
- send_result(test_case,result,@id,ENV['TESTRUN'])
23
+ send_result(test_case,result,@id,ENV['TESTRUN'].to_i)
24
24
  end
25
25
  rescue StandardError => e
26
26
  puts "#{e.message} in #{extract_title(test_case)}"
@@ -189,28 +189,39 @@ module Cukerail
189
189
  all_tags(test_case).select{|tag| tag.name =~/jira_/}.map{|ticket| /jira_(\w+-\d+)$/.match(ticket.name)[1]}.join(" ")
190
190
  end
191
191
 
192
- def update_run(testrun,case_ids)
192
+ def update_run(run_id,case_ids)
193
+ run = get_run(run_id)
193
194
  begin
194
- testrail_api_client.send_post("update_run/#{testrun}",case_ids)
195
+ if run['plan_id']
196
+ update_plan(run['plan_id'],run_id,case_ids)
197
+ else
198
+ testrail_api_client.send_post("update_run/#{run_id}",case_ids)
199
+ end
195
200
  rescue => e
196
- puts "#{e.message} testrun=#{testrun} test case ids=#{case_ids}"
201
+ puts "#{e.message} testrun=#{run_id} test case ids=#{case_ids}"
197
202
  end
198
203
  end
199
204
 
200
- def remove_case_from_test_run(testcase,testrun)
205
+ def update_plan(plan_id,run_id,case_ids)
206
+ test_plan = testrail_api_client.send_get("get_plan/#{plan_id}")
207
+ entry_id = test_plan['entries'].detect{|e| e['runs'].any?{|r| r['id']==run_id}}['id']
208
+ testrail_api_client.send_post("update_plan_entry/#{plan_id}/#{entry_id}",case_ids)
209
+ end
210
+
211
+ def remove_case_from_test_run(testcase,run_id)
201
212
  testcase_id = get_id(testcase)
202
- run = get_run(testrun)
213
+ run = get_run(run_id)
203
214
  unless run['include_all']
204
- case_ids = get_tests_in_a_run(testrun).map{|h| h['case_id']} - [testcase_id]
205
- update_run(testrun,{'case_ids'=>case_ids})
215
+ case_ids = get_tests_in_a_run(run_id).map{|h| h['case_id']} - [testcase_id]
216
+ update_run(run_id,{'case_ids'=>case_ids})
206
217
  end
207
218
  end
208
219
 
209
- def add_case_to_test_run(testcase_id,testrun)
210
- run = get_run(testrun)
220
+ def add_case_to_test_run(testcase_id,run_id)
221
+ run = get_run(run_id)
211
222
  unless run['include_all']
212
- case_ids = get_tests_in_a_run(testrun).map{|h| h['case_id']} + [testcase_id]
213
- update_run(testrun,{'case_ids'=>case_ids})
223
+ case_ids = get_tests_in_a_run(run_id).map{|h| h['case_id']} + [testcase_id]
224
+ update_run(run_id,{'case_ids'=>case_ids})
214
225
  end
215
226
  end
216
227
 
data/lib/json_sender.rb CHANGED
@@ -3,6 +3,7 @@ require_relative "cukerail/testrail"
3
3
  require 'json' unless JSON
4
4
  require 'awesome_print'
5
5
  module Cukerail
6
+
6
7
  class JsonSender
7
8
  attr_reader :testrail_api_client,:results
8
9
  def initialize(json_file)
@@ -80,7 +81,7 @@ module Cukerail
80
81
  end
81
82
  end
82
83
 
83
- def send_result(scenario,id,testrun_id)
84
+ def send_result(scenario,id,run_id)
84
85
  error_line = scenario['steps'].select{|s| s['result']['status'] != 'passed'}.first
85
86
  if error_line
86
87
  #puts error_line['result']
@@ -106,13 +107,13 @@ module Cukerail
106
107
  end
107
108
  report_on_result = {status_id:testrail_status[:id],comment:failure_message,defects:defects(scenario)}
108
109
  begin
109
- testrail_api_client.send_post("add_result_for_case/#{testrun_id}/#{id}",report_on_result)
110
+ testrail_api_client.send_post("add_result_for_case/#{run_id}/#{id}",report_on_result)
110
111
  rescue => e
111
112
  if e.message =~ /No \(active\) test found for the run\/case combination/
112
- add_case_to_test_run(id,testrun_id)
113
+ add_case_to_test_run(id,run_id)
113
114
  retry
114
115
  else
115
- puts "#{e.message} testrun=#{testrun_id} test case id=#{id}"
116
+ puts "#{e.message} testrun=#{run_id} test case id=#{id}"
116
117
  end
117
118
  end
118
119
  end
@@ -125,47 +126,47 @@ module Cukerail
125
126
  testrail_api_client.send_get("get_tests/#{run_id}")
126
127
  end
127
128
 
128
- def update_run(testrun_id,case_ids)
129
- run = get_run(testrun_id)
129
+ def update_run(run_id,case_ids)
130
+ run = get_run(run_id)
130
131
  begin
131
132
  if run['plan_id']
132
- update_plan(run['plan_id'],testrun_id,case_ids)
133
+ update_plan(run['plan_id'],run_id,case_ids)
133
134
  else
134
- testrail_api_client.send_post("update_run/#{testrun_id}",case_ids)
135
+ testrail_api_client.send_post("update_run/#{run_id}",case_ids)
135
136
  end
136
137
  rescue => e
137
- puts "#{e.message} testrun=#{testrun_id} test case ids=#{case_ids}"
138
+ puts "#{e.message} testrun=#{run_id} test case ids=#{case_ids}"
138
139
  end
139
140
  end
140
141
 
141
- def update_plan(plan_id,testrun_id,case_ids)
142
+ def update_plan(plan_id,run_id,case_ids)
142
143
  test_plan = testrail_api_client.send_get("get_plan/#{plan_id}")
143
- entry_id = test_plan['entries'].select{|e| e['runs'].any?{|r| r['id']==testrun_id}}.first['id']
144
+ entry_id = test_plan['entries'].select{|e| e['runs'].any?{|r| r['id']==run_id}}.first['id']
144
145
  testrail_api_client.send_post("update_plan_entry/#{plan_id}/#{entry_id}",case_ids)
145
146
  end
146
147
 
147
- def remove_case_from_test_run(testcase,testrun_id)
148
+ def remove_case_from_test_run(testcase,run_id)
148
149
  testcase_id = get_id(testcase)
149
- run = get_run(testrun_id)
150
+ run = get_run(run_id)
150
151
  unless run['include_all']
151
- case_ids = get_tests_in_a_run(testrun_id).map{|h| h['case_id']} - [testcase_id]
152
- update_run(testrun_id,{'case_ids'=>case_ids})
152
+ case_ids = get_tests_in_a_run(run_id).map{|h| h['case_id']} - [testcase_id]
153
+ update_run(run_id,{'case_ids'=>case_ids})
153
154
  end
154
155
  end
155
156
 
156
- def add_case_to_test_run(testcase_id,testrun_id)
157
- run = get_run(testrun_id)
157
+ def add_case_to_test_run(testcase_id,run_id)
158
+ run = get_run(run_id)
158
159
  unless run['include_all']
159
- case_ids = get_tests_in_a_run(testrun_id).map{|h| h['case_id']} + [testcase_id]
160
- update_run(testrun_id,{'case_ids'=>case_ids})
160
+ case_ids = get_tests_in_a_run(run_id).map{|h| h['case_id']} + [testcase_id]
161
+ update_run(run_id,{'case_ids'=>case_ids})
161
162
  end
162
163
  end
163
164
 
164
- def remove_all_except_these_cases_from_testrun(testcases,testrun_id)
165
- run = get_run(testrun_id)
165
+ def remove_all_except_these_cases_from_testrun(testcases,run_id)
166
+ run = get_run(run_id)
166
167
  unless run['include_all']
167
- case_ids = get_tests_in_a_run(testrun_id).map{|h| h['case_id']} & testcases
168
- update_run(testrun,{'case_ids'=>case_ids})
168
+ case_ids = get_tests_in_a_run(run_id).map{|h| h['case_id']} & testcases
169
+ update_run(run_id,{'case_ids'=>case_ids})
169
170
  end
170
171
  end
171
172
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cukerail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Small
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-19 00:00:00.000000000 Z
11
+ date: 2016-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler