allure-cucumber 0.5.3 → 0.5.4

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: 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: []