cukerail 0.3.7 → 0.4.0
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/cukerail.gemspec +3 -0
- data/lib/cukerail/json.rb +35 -0
- data/lib/cukerail/version.rb +1 -1
- data/lib/cukerail.rb +11 -3
- data/lib/json_sender.rb +10 -4
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ecd3ab994dc1ef75c983e2bb539856039eb59e2c
|
4
|
+
data.tar.gz: a912228bc1cc3844acfbd0471b2479c6aca829aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f126d6ef8519d0c6364619d3f10003f77e4af5d590fff30db4b0df6d24679937811beb11ed1911e0245fae32f45fc5d394bf10ae711a14dc905cf441bd998384
|
7
|
+
data.tar.gz: 1c923b752e530f1c816639dfe964e79ff4fc7fb5e2d3fb57a6c112c7b06f15ac5fae8501fbc9bba766f0217564c02a1b3e33fc660c02cb632ca439c9d9de0e75
|
data/cukerail.gemspec
CHANGED
@@ -3,6 +3,7 @@ lib = File.expand_path('../lib', __FILE__)
|
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
require 'cukerail/version'
|
5
5
|
require "cukerail/testrail"
|
6
|
+
# require "cucumber_extensions/formatters/json/builder"
|
6
7
|
|
7
8
|
Gem::Specification.new do |spec|
|
8
9
|
spec.name = "cukerail"
|
@@ -19,6 +20,8 @@ Gem::Specification.new do |spec|
|
|
19
20
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
21
|
spec.require_paths = ["lib"]
|
21
22
|
|
23
|
+
spec.add_runtime_dependency "cucumber", "~> 2.3.2"
|
24
|
+
|
22
25
|
spec.add_development_dependency "bundler", "~> 1.6"
|
23
26
|
spec.add_development_dependency "rake","~>10.4"
|
24
27
|
spec.add_development_dependency "rspec","~>3.2"
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Cukerail
|
2
|
+
require 'cucumber/formatter/json'
|
3
|
+
class Json < Cucumber::Formatter::Json
|
4
|
+
class Cucumber::Formatter::Json::Builder
|
5
|
+
def scenario_outline(scenario)
|
6
|
+
# puts 'in scenario outline'
|
7
|
+
@test_case_hash = {
|
8
|
+
id: create_id(scenario) + ';' + (@example_id.gsub(' ','').gsub(',',';')),
|
9
|
+
keyword: scenario.keyword,
|
10
|
+
name: scenario.name + ' ' + @example_id,
|
11
|
+
description: scenario.description,
|
12
|
+
line: @row.location.line,
|
13
|
+
type: 'scenario'
|
14
|
+
}
|
15
|
+
tags = []
|
16
|
+
tags += create_tags_array(scenario.tags) unless scenario.tags.empty?
|
17
|
+
tags += @examples_table_tags if @examples_table_tags
|
18
|
+
@test_case_hash[:tags] = tags unless tags.empty?
|
19
|
+
comments = []
|
20
|
+
comments += Formatter.create_comments_array(scenario.comments) unless scenario.comments.empty?
|
21
|
+
comments += @examples_table_comments if @examples_table_comments
|
22
|
+
comments += @row_comments if @row_comments
|
23
|
+
@test_case_hash[:comments] = comments unless comments.empty?
|
24
|
+
end
|
25
|
+
|
26
|
+
def examples_table(examples_table)
|
27
|
+
# puts 'in examples table'
|
28
|
+
# We want the row data to be used in making the full scenario name
|
29
|
+
@example_id = @row.send(:data).map{|k,v| "#{k}=#{v}"}.join(", ")
|
30
|
+
@examples_table_tags = create_tags_array(examples_table.tags) unless examples_table.tags.empty?
|
31
|
+
@examples_table_comments = Formatter.create_comments_array(examples_table.comments) unless examples_table.comments.empty?
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/cukerail/version.rb
CHANGED
data/lib/cukerail.rb
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
require "cukerail/version"
|
2
2
|
require "cukerail/testrail"
|
3
|
+
# require_relative "cucumber_extensions/formatters/json/builder"
|
4
|
+
# puts 'load extensions'
|
5
|
+
# puts (Cucumber::Formatter.name)
|
6
|
+
# Cucumber::Formatter::Json::Builder.include CucumberExtensions::Formatter::Json::Builder
|
3
7
|
module Cukerail
|
4
8
|
class Sender
|
5
9
|
attr_reader :testrail_api_client,:failed_step
|
@@ -102,7 +106,7 @@ module Cukerail
|
|
102
106
|
data = {'title'=>extract_title(test_case),
|
103
107
|
'type_id'=>(is_manual ? 7 : 1 ),
|
104
108
|
'custom_steps'=>steps_as_string,
|
105
|
-
'refs'=>
|
109
|
+
'refs'=>refs(test_case)
|
106
110
|
}
|
107
111
|
testrail_api_client.send_post("update_case/#{id}",data)
|
108
112
|
end
|
@@ -113,7 +117,7 @@ module Cukerail
|
|
113
117
|
data = {'title'=>extract_title(test_case),
|
114
118
|
'type_id'=>(is_manual ? 7 : 1 ),
|
115
119
|
'custom_steps'=>steps_as_string,
|
116
|
-
'refs'=>
|
120
|
+
'refs'=>refs(test_case)
|
117
121
|
}
|
118
122
|
testrail_api_client.send_post("add_case/#{sub_section_id || suite_id}", data)
|
119
123
|
end
|
@@ -186,7 +190,11 @@ module Cukerail
|
|
186
190
|
end
|
187
191
|
|
188
192
|
def defects(test_case)
|
189
|
-
all_tags(test_case).select{|tag| tag.name =~/
|
193
|
+
all_tags(test_case).select{|tag| tag.name =~/(?:jira|defect)_/}.map{|ticket| /(?:jira|defect)_(\w+-\d+)$/.match(ticket.name)[1]}.uniq.join(",")
|
194
|
+
end
|
195
|
+
|
196
|
+
def refs(test_case)
|
197
|
+
all_tags(test_case).select{|tag| tag.name =~/(?:jira|ref)_/}.map{|ticket| /(?:jira|ref)_(\w+-\d+)$/.match(ticket.name)[1]}.uniq.join(",")
|
190
198
|
end
|
191
199
|
|
192
200
|
def update_run(run_id,case_ids)
|
data/lib/json_sender.rb
CHANGED
@@ -71,13 +71,19 @@ module Cukerail
|
|
71
71
|
data = {'title'=>get_name(scenario),
|
72
72
|
'type_id'=>(is_manual ? 7 : 1 ),
|
73
73
|
'custom_steps'=>steps,
|
74
|
-
'refs'=>
|
74
|
+
'refs'=>refs(scenario)
|
75
75
|
}
|
76
76
|
end
|
77
77
|
|
78
|
-
def defects(
|
78
|
+
def defects(test_case)
|
79
79
|
if scenario['tags']
|
80
|
-
|
80
|
+
all_tags(test_case).select{|tag| tag['name'] =~/(?:jira|defect)_/}.map{|ticket| /(?:jira|defect)_(\w+-\d+)$/.match(ticket['name'])[1]}.uniq.join(",")
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
def refs(test_case)
|
85
|
+
if scenario['tags']
|
86
|
+
all_tags(test_case).select{|tag| tag['name'] =~/(?:jira|ref)_/}.map{|ticket| /(?:jira|ref)_(\w+-\d+)$/.match(ticket['name'])[1]}.uniq.join(",")
|
81
87
|
end
|
82
88
|
end
|
83
89
|
|
@@ -114,7 +120,7 @@ module Cukerail
|
|
114
120
|
tries -= 1
|
115
121
|
add_case_to_test_run(id,run_id)
|
116
122
|
if tries > 0
|
117
|
-
|
123
|
+
retry
|
118
124
|
else
|
119
125
|
puts "#{e.message} testrun=#{run_id} test case id=#{id}"
|
120
126
|
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cukerail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
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-
|
11
|
+
date: 2016-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: cucumber
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.3.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.3.2
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -96,6 +110,7 @@ files:
|
|
96
110
|
- Rakefile
|
97
111
|
- cukerail.gemspec
|
98
112
|
- lib/cukerail.rb
|
113
|
+
- lib/cukerail/json.rb
|
99
114
|
- lib/cukerail/testrail.rb
|
100
115
|
- lib/cukerail/version.rb
|
101
116
|
- lib/json_sender.rb
|