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.
- checksums.yaml +7 -0
- data/LICENSE +674 -0
- data/lib/qat/cucumber/core_ext/result.rb +16 -0
- data/lib/qat/cucumber/core_ext.rb +3 -0
- data/lib/qat/formatter/xray/test_ids.rb +96 -0
- data/lib/qat/formatter/xray.rb +186 -0
- data/lib/qat/reporter/xray/config.rb +153 -0
- data/lib/qat/reporter/xray/issue.rb +46 -0
- data/lib/qat/reporter/xray/publisher/base.rb +229 -0
- data/lib/qat/reporter/xray/publisher/cloud.rb +74 -0
- data/lib/qat/reporter/xray/publisher/hosted.rb +56 -0
- data/lib/qat/reporter/xray/publisher.rb +3 -0
- data/lib/qat/reporter/xray/tasks/tests/helpers.rb +112 -0
- data/lib/qat/reporter/xray/tasks/tests/report.rb +47 -0
- data/lib/qat/reporter/xray/tasks/tests.rb +142 -0
- data/lib/qat/reporter/xray/tasks.rb +5 -0
- data/lib/qat/reporter/xray/test.rb +44 -0
- data/lib/qat/reporter/xray/test_execution.rb +79 -0
- data/lib/qat/reporter/xray/version.rb +11 -0
- data/lib/qat/reporter/xray.rb +3 -0
- metadata +193 -0
@@ -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
|
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: []
|