cukerail 0.3.7 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|