allure-cucumber 0.5.3 → 0.5.4

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: fd7ef657ee49740eec46661149335ab7cb38d93d
4
- data.tar.gz: 0ddf2bcabccebd24432a25beff74c2939fbe98a4
3
+ metadata.gz: 9f4d0cf721d42e8750d2c0658c763dc2436fd1e6
4
+ data.tar.gz: c06e1a7de154ddd529b0d7582278da41b6f9d690
5
5
  SHA512:
6
- metadata.gz: a7c772d89cdf7b69559757015f54db2e354d0b059ad8b53e2ce4f15f347a7fe1ff9c0a4fb1ff9f53b029aab70c5f62ce6de79fb5e042bc622fe0dbd80b24e4c6
7
- data.tar.gz: 8687e524817210956d584482dfadd84fdd7b52557610296f8049d442fdc401318dc011c55c737a27a21f31397c45a6ed3a7a8c1b5bf62fccb94ba6157605e05a
6
+ metadata.gz: d8b89c3168c40693e8ab773d4a8cd9e2735f7b9d8db0ffd31282e6b583636f2813d554958332c3d3795037a540c712a1c9eab320bd07f974b487066c8a4a1486
7
+ data.tar.gz: cd6e6cde9d76aa525ef1cfc4b84d92a1e5de08b144d9a5299f1dc2c112a85a9e33bec8276117ee91f71bb2e973c0bd3b2e9e1808e541bbd1416236024245ee29
@@ -5,18 +5,34 @@ require 'allure-cucumber/dsl'
5
5
  require 'allure-cucumber/formatter'
6
6
 
7
7
  module AllureCucumber
8
-
8
+
9
9
  module Config
10
10
  class << self
11
- attr_accessor :output_dir, :clean_dir
12
-
13
- DEFAULT_OUTPUT_DIR = 'gen/allure-results'
14
-
11
+
12
+ attr_accessor :output_dir, :clean_dir, :tms_prefix, :issue_prefix, :severity_prefix
13
+
14
+ DEFAULT_OUTPUT_DIR = 'gen/allure-results'
15
+ DEFAULT_TMS_PREFIX = '@TMS:'
16
+ DEFAULT_ISSUE_PREFIX = '@ISSUE:'
17
+ DEFAULT_SEVERITY_PREFIX = '@SEVERITY:'
18
+
15
19
  def output_dir
16
20
  @output_dir || DEFAULT_OUTPUT_DIR
17
21
  end
18
-
19
- end
22
+
23
+ def tms_prefix
24
+ @tms_prefix || DEFAULT_TMS_PREFIX
25
+ end
26
+
27
+ def issue_prefix
28
+ @issue_prefix || DEFAULT_ISSUE_PREFIX
29
+ end
30
+
31
+ def severity_prefix
32
+ @severity_prefix || DEFAULT_SEVERITY_PREFIX
33
+ end
34
+
35
+ end
20
36
  end
21
37
 
22
38
  class << self
@@ -27,5 +43,5 @@ module AllureCucumber
27
43
  end
28
44
  end
29
45
  end
30
-
46
+
31
47
  end
@@ -8,9 +8,9 @@ module AllureCucumber
8
8
  include AllureCucumber::DSL
9
9
 
10
10
  TEST_HOOK_NAMES_TO_IGNORE = ['Before hook', 'After hook']
11
-
11
+ ALLOWED_SEVERITIES = ['blocker', 'critical', 'normal', 'minor', 'trivial']
12
12
  POSSIBLE_STATUSES = ['passed', 'failed', 'pending', 'skipped', 'undefined']
13
-
13
+
14
14
  def initialize(step_mother, io, options)
15
15
  dir = Pathname.new(AllureCucumber::Config.output_dir)
16
16
  FileUtils.rm_rf(dir) unless AllureCucumber::Config.clean_dir == false
@@ -18,6 +18,7 @@ module AllureCucumber
18
18
  @tracker = AllureCucumber::FeatureTracker.create
19
19
  @deferred_before_test_steps = []
20
20
  @deferred_after_test_steps = []
21
+ @scenario_tags = {}
21
22
  end
22
23
 
23
24
  # Start the test suite
@@ -37,6 +38,23 @@ module AllureCucumber
37
38
  @scenario_outline ? @scenario_outline_name = scenario_name : @tracker.scenario_name = scenario_name
38
39
  end
39
40
 
41
+ # Analyze Cucumber Scenario Tags
42
+ def after_tags(tags)
43
+ tags.each do |tag|
44
+ if AllureCucumber::Config.tms_prefix && tag.name.include?(AllureCucumber::Config.tms_prefix)
45
+ @scenario_tags[:testId] = remove_tag_prefix(tag.name, AllureCucumber::Config.tms_prefix)
46
+ end
47
+
48
+ if tag.name.include?(AllureCucumber::Config.issue_prefix)
49
+ @scenario_tags[:issue] = remove_tag_prefix(tag.name, AllureCucumber::Config.issue_prefix)
50
+ end
51
+
52
+ if tag.name.include?(AllureCucumber::Config.severity_prefix) && ALLOWED_SEVERITIES.include?(trim_tag(tag.name, AllureCucumber::Config.severity_prefix))
53
+ @scenario_tags[:severity] = remove_tag_prefix(tag.name, AllureCucumber::Config.severity_prefix).downcase.to_sym
54
+ end
55
+ end
56
+ end
57
+
40
58
  def before_examples(*args)
41
59
  @header_row = true
42
60
  @row_count = 0
@@ -124,6 +142,10 @@ module AllureCucumber
124
142
 
125
143
  private
126
144
 
145
+ def remove_tag_prefix(tag, prefix)
146
+ tag.gsub(prefix,'')
147
+ end
148
+
127
149
  def step_status(result)
128
150
  POSSIBLE_STATUSES.each do |status|
129
151
  return cucumber_status_to_allure_status(status) if result.send("#{status}?")
@@ -160,7 +182,9 @@ module AllureCucumber
160
182
 
161
183
  def start_test
162
184
  if @tracker.scenario_name
163
- AllureRubyAdaptorApi::Builder.start_test(@tracker.feature_name, @tracker.scenario_name, :feature => @tracker.feature_name, :story => @tracker.scenario_name)
185
+ @scenario_tags[:feature] = @tracker.feature_name
186
+ @scenario_tags[:story] = @tracker.scenario_name
187
+ AllureRubyAdaptorApi::Builder.start_test(@tracker.feature_name, @tracker.scenario_name, @scenario_tags)
164
188
  post_deferred_steps
165
189
  end
166
190
  end
@@ -187,6 +211,7 @@ module AllureCucumber
187
211
  @tracker.scenario_name = nil
188
212
  @deferred_before_test_steps = []
189
213
  @deferred_after_test_steps = []
214
+ @scenario_tags = {}
190
215
  end
191
216
  end
192
217
 
@@ -1,5 +1,5 @@
1
1
  module AllureCucumber
2
2
  module Version
3
- STRING = '0.5.3'
3
+ STRING = '0.5.4'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: allure-cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Imran Khan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-03 00:00:00.000000000 Z
11
+ date: 2016-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
@@ -107,5 +107,5 @@ rubyforge_project:
107
107
  rubygems_version: 2.4.8
108
108
  signing_key:
109
109
  specification_version: 4
110
- summary: allure-cucumber-0.5.3
110
+ summary: allure-cucumber-0.5.4
111
111
  test_files: []