qat-reporter-xray 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []