qat-reporter-xray 6.0.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.
@@ -0,0 +1,44 @@
1
+ require 'rest-client'
2
+ require_relative 'issue'
3
+
4
+ module QAT
5
+ module Reporter
6
+ class Xray
7
+ # QAT::Reporter::Xray::TestExecution represents a Xray Test Execution object
8
+ class Test < Issue
9
+
10
+ # Creates a Test issue in Jira
11
+ def create(options = {})
12
+ data = defaults.merge(options)
13
+ response = super(data)
14
+ test_key = JSON.parse(response)['key']
15
+ log.info "Created test with key: '#{test_key}'."
16
+ end
17
+
18
+ private
19
+ def defaults
20
+ {
21
+ fields: {
22
+ project:
23
+ {
24
+ key: QAT::Reporter::Xray::Config.project_key
25
+ },
26
+ summary: "Execution of automated tests #{Time.now.strftime('%F %T')}",
27
+ description: 'Creation of automated Test',
28
+ issuetype: {
29
+ name: 'Test'
30
+ },
31
+ customfield_10200: {
32
+ value: 'Cucumber'
33
+ },
34
+ customfield_10201: {
35
+ value: 'Scenario'
36
+ },
37
+ customfield_10202: 'customfield_10202'
38
+ }
39
+ }
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,79 @@
1
+ require 'rest-client'
2
+ require 'qat/logger'
3
+ require_relative 'issue'
4
+
5
+ module QAT
6
+ module Reporter
7
+ class Xray
8
+ # QAT::Reporter::Xray::TestExecution represents a Xray Test Execution object
9
+ class TestExecution < Issue
10
+ include QAT::Logger
11
+
12
+ # Creates a Test Execution issue in Jira
13
+ def create(options = {})
14
+ data = test_execution_defaults.merge(options)
15
+ response = super(data)
16
+ test_execution_key = JSON.parse(response)['key']
17
+ log.info "Created test execution with key: '#{test_execution_key}', saving in 'XRAY_TEST_EXECUTION' env variable."
18
+ ENV['XRAY_TEST_EXECUTION'] = test_execution_key
19
+ end
20
+
21
+ # Posts the execution json results in Xray
22
+ def import_execution_results(execution_results, info = {})
23
+ log.debug execution_results
24
+ if jira_id
25
+ issue_info = info.merge(default_update_headers(execution_results))
26
+ issue_info[:testExecutionKey] = jira_id
27
+ else
28
+ issue_info = info.merge(default_create_headers(execution_results))
29
+ end
30
+ #If no test execution found, Xray will create one automatically
31
+ QAT::Reporter::Xray::Config.publisher.send_execution_results(issue_info)
32
+ end
33
+
34
+ private
35
+
36
+ def default_create_headers(execution_results)
37
+ {
38
+ info: {
39
+ summary: "Execution of automated tests #{Time.now.strftime('%F %T')}",
40
+ description: 'This execution is automatically created when importing execution results from an external source',
41
+ }.merge(test_execution_info(execution_results))
42
+ }.merge(execution_results)
43
+ end
44
+
45
+ def default_update_headers(execution_results)
46
+ {
47
+ info: test_execution_info(execution_results)
48
+ }.merge(execution_results)
49
+ end
50
+
51
+ def test_execution_info(execution_results)
52
+ {
53
+ startDate: execution_results[:tests].first[:start],
54
+ finishDate: execution_results[:tests].last[:finish],
55
+ version: QAT::Reporter::Xray::Config.xray_test_version.to_s,
56
+ revision: QAT::Reporter::Xray::Config.xray_test_revision.to_s,
57
+ testEnvironments: [QAT::Reporter::Xray::Config.xray_test_environment]
58
+ }
59
+ end
60
+
61
+ def test_execution_defaults
62
+ {
63
+ fields: {
64
+ project:
65
+ {
66
+ key: QAT::Reporter::Xray::Config.project_key
67
+ },
68
+ summary: "Execution of automated tests #{Time.now.strftime('%F %T')}",
69
+ description: 'Creation of automated Test Execution',
70
+ issuetype: {
71
+ name: 'Test Execution'
72
+ }
73
+ }
74
+ }
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,11 @@
1
+ # QAT namespace
2
+ module QAT
3
+ # Namespace for QAT Reporter
4
+ module Reporter
5
+ # Namespace for QAT Reporter's Xray integrations
6
+ class Xray
7
+ # Represents QAT Reporter's Xray integrations' version
8
+ VERSION = '6.0.0'
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,3 @@
1
+ require_relative 'xray/version'
2
+ require_relative 'xray/config'
3
+ require_relative '../formatter/xray'
metadata ADDED
@@ -0,0 +1,193 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: qat-reporter-xray
3
+ version: !ruby/object:Gem::Version
4
+ version: 6.0.0
5
+ platform: ruby
6
+ authors:
7
+ - QAT
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-07-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: vcr
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 5.0.0
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 5.0.0
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: webmock
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 3.6.0
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '3.6'
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 3.6.0
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '3.6'
53
+ - !ruby/object:Gem::Dependency
54
+ name: aruba
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '0.14'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 0.14.9
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.14'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 0.14.9
73
+ - !ruby/object:Gem::Dependency
74
+ name: qat-devel
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '6.0'
80
+ type: :development
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - "~>"
85
+ - !ruby/object:Gem::Version
86
+ version: '6.0'
87
+ - !ruby/object:Gem::Dependency
88
+ name: qat-cucumber
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - "~>"
92
+ - !ruby/object:Gem::Version
93
+ version: '6.0'
94
+ type: :development
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - "~>"
99
+ - !ruby/object:Gem::Version
100
+ version: '6.0'
101
+ - !ruby/object:Gem::Dependency
102
+ name: qat-logger
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: '0'
108
+ type: :runtime
109
+ prerelease: false
110
+ version_requirements: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ - !ruby/object:Gem::Dependency
116
+ name: rest-client
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ - !ruby/object:Gem::Dependency
130
+ name: rubyzip
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ type: :runtime
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ description: |2
144
+ QAT Reporter Xray bellong to the QAT-Reporter collection of tools and is intended
145
+ for importing test report information in Jira.
146
+ email: qatoolkit@readinessit.com
147
+ executables: []
148
+ extensions: []
149
+ extra_rdoc_files: []
150
+ files:
151
+ - LICENSE
152
+ - lib/qat/cucumber/core_ext.rb
153
+ - lib/qat/cucumber/core_ext/result.rb
154
+ - lib/qat/formatter/xray.rb
155
+ - lib/qat/formatter/xray/test_ids.rb
156
+ - lib/qat/reporter/xray.rb
157
+ - lib/qat/reporter/xray/config.rb
158
+ - lib/qat/reporter/xray/issue.rb
159
+ - lib/qat/reporter/xray/publisher.rb
160
+ - lib/qat/reporter/xray/publisher/base.rb
161
+ - lib/qat/reporter/xray/publisher/cloud.rb
162
+ - lib/qat/reporter/xray/publisher/hosted.rb
163
+ - lib/qat/reporter/xray/tasks.rb
164
+ - lib/qat/reporter/xray/tasks/tests.rb
165
+ - lib/qat/reporter/xray/tasks/tests/helpers.rb
166
+ - lib/qat/reporter/xray/tasks/tests/report.rb
167
+ - lib/qat/reporter/xray/test.rb
168
+ - lib/qat/reporter/xray/test_execution.rb
169
+ - lib/qat/reporter/xray/version.rb
170
+ homepage: https://github.com/readiness-it/qat-reporter-xray
171
+ licenses:
172
+ - GPL-3.0
173
+ metadata: {}
174
+ post_install_message:
175
+ rdoc_options: []
176
+ require_paths:
177
+ - lib
178
+ required_ruby_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - "~>"
181
+ - !ruby/object:Gem::Version
182
+ version: '2.3'
183
+ required_rubygems_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ requirements: []
189
+ rubygems_version: 3.0.4
190
+ signing_key:
191
+ specification_version: 4
192
+ summary: Utility for Test Reports in Jira Xray.
193
+ test_files: []