gitlab-qa 5.10.1 → 5.12.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 +4 -4
- data/.gitlab-ci.yml +38 -0
- data/docs/what_tests_can_be_run.md +31 -0
- data/lib/gitlab/qa/component/jira.rb +73 -0
- data/lib/gitlab/qa/runtime/env.rb +4 -1
- data/lib/gitlab/qa/scenario/test/integration/jira.rb +40 -0
- data/lib/gitlab/qa/version.rb +1 -1
- data/lib/gitlab/qa.rb +2 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca0c9bc180dabbb9cba4984c2f19381d16ae57631e7ca308e38a3649d8d72dbf
|
4
|
+
data.tar.gz: '018c552b3d04932d581872c7ddb3d3199545a868884530e58d57ff0842528134'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c1be4f5eab6dbefb4685dc03f7f12140cc442766f4ec86006a927aa95ae787be6065f762f0ff1b3d6f79ea3158464e9a5e33ac5c7790b75bc31ac3ed005ac19
|
7
|
+
data.tar.gz: abbff15cf25737e634429c22e3a704ec3f933656546243a92b408c6c55baa8056439a2f3a0c0ca1901a2e54f3e166ff16df307d61d6db109e35ed566c914b4dd
|
data/.gitlab-ci.yml
CHANGED
@@ -848,6 +848,44 @@ ee:smtp:
|
|
848
848
|
variables:
|
849
849
|
QA_SCENARIO: "Test::Integration::SMTP"
|
850
850
|
|
851
|
+
ce:jira:
|
852
|
+
extends:
|
853
|
+
- .test
|
854
|
+
- .high-capacity
|
855
|
+
- .ce-qa
|
856
|
+
- .rspec-report-opts
|
857
|
+
variables:
|
858
|
+
QA_SCENARIO: "Test::Integration::Jira"
|
859
|
+
|
860
|
+
ce:jira-quarantine:
|
861
|
+
extends:
|
862
|
+
- .test
|
863
|
+
- .high-capacity
|
864
|
+
- .ce-qa
|
865
|
+
- .quarantine
|
866
|
+
- .rspec-report-opts
|
867
|
+
variables:
|
868
|
+
QA_SCENARIO: "Test::Integration::Jira"
|
869
|
+
|
870
|
+
ee:jira:
|
871
|
+
extends:
|
872
|
+
- .test
|
873
|
+
- .high-capacity
|
874
|
+
- .ee-qa
|
875
|
+
- .rspec-report-opts
|
876
|
+
variables:
|
877
|
+
QA_SCENARIO: "Test::Integration::Jira"
|
878
|
+
|
879
|
+
ee:jira-quarantine:
|
880
|
+
extends:
|
881
|
+
- .test
|
882
|
+
- .high-capacity
|
883
|
+
- .ee-qa
|
884
|
+
- .quarantine
|
885
|
+
- .rspec-report-opts
|
886
|
+
variables:
|
887
|
+
QA_SCENARIO: "Test::Integration::Jira"
|
888
|
+
|
851
889
|
# This job requires the `GITLAB_QA_ACCESS_TOKEN` and `GITLAB_QA_DEV_ACCESS_TOKEN`
|
852
890
|
# variable to be passed when triggered.
|
853
891
|
staging:
|
@@ -80,6 +80,8 @@ For more details on the internals, please read the
|
|
80
80
|
* `CI_SERVER_PERSONAL_ACCESS_TOKEN` - Personal access token of the server that is running the CI pipeline. This is used for pulling CI_RUNNER information in certain tests.
|
81
81
|
* `GEO_MAX_FILE_REPLICATION_TIME` - maximum time that a test will wait for a replicated file to appear on a Geo secondary node (default 120 seconds)
|
82
82
|
* `GEO_MAX_DB_REPLICATION_TIME` - maximum time that a test will wait for database data to appear on a Geo secondary node (default 120 seconds)
|
83
|
+
* `JIRA_ADMIN_USERNAME` - Username for authenticating with Jira server as admin.
|
84
|
+
* `JIRA_ADMIN_PASSWORD` - Password for authenticating with Jira server as admin.
|
83
85
|
|
84
86
|
## [Supported Remote Grid environment variables](./running_against_remote_grid.md)
|
85
87
|
|
@@ -470,6 +472,35 @@ Example:
|
|
470
472
|
$ gitlab-qa Test::Integration::SMTP CE
|
471
473
|
```
|
472
474
|
|
475
|
+
### `Test::Integration::Jira CE|EE|<full image address>`
|
476
|
+
|
477
|
+
This tests that a GitLab instance works as expected with an external
|
478
|
+
Jira server.
|
479
|
+
It starts up a Docker container for Jira Server and another container
|
480
|
+
for GitLab.
|
481
|
+
|
482
|
+
To run tests against the GitLab container, a GitLab QA (`gitlab/gitlab-qa`)
|
483
|
+
container is spun up and tests are run from it by running the
|
484
|
+
`Test::Integration::Jira` scenario.
|
485
|
+
|
486
|
+
**Required environment variables:**
|
487
|
+
|
488
|
+
- [For EE only] `EE_LICENSE`: A valid EE license.
|
489
|
+
- `JIRA_ADMIN_USERNAME`: Username for authenticating with Jira server as admin.
|
490
|
+
- `JIRA_ADMIN_PASSWORD`: Password for authenticating with Jira server as admin.
|
491
|
+
|
492
|
+
Example:
|
493
|
+
|
494
|
+
```
|
495
|
+
$ export JIRA_ADMIN_USERNAME=<jira_admin_username>
|
496
|
+
$ export JIRA_ADMIN_PASSWORD=<jira_admin_password>
|
497
|
+
|
498
|
+
# For EE
|
499
|
+
$ export EE_LICENSE=$(cat /path/to/GitLab.gitlab_license)
|
500
|
+
|
501
|
+
$ gitlab-qa Test::Integration::Jira EE
|
502
|
+
```
|
503
|
+
|
473
504
|
### `Test::Instance::Any CE|EE|<full image address>:nightly|latest|any_tag http://your.instance.gitlab`
|
474
505
|
|
475
506
|
This tests that a live GitLab instance works as expected by running tests
|
@@ -0,0 +1,73 @@
|
|
1
|
+
module Gitlab
|
2
|
+
module QA
|
3
|
+
module Component
|
4
|
+
class Jira
|
5
|
+
include Scenario::Actable
|
6
|
+
|
7
|
+
JIRA_IMAGE = 'registry.gitlab.com/gitlab-org/gitlab-qa/jira-gitlab'.freeze
|
8
|
+
JIRA_IMAGE_TAG = '8.8-project-and-issue'.freeze
|
9
|
+
|
10
|
+
attr_reader :docker
|
11
|
+
attr_accessor :environment, :network
|
12
|
+
attr_writer :name
|
13
|
+
|
14
|
+
def initialize
|
15
|
+
@docker = Docker::Engine.new
|
16
|
+
@environment = {}
|
17
|
+
end
|
18
|
+
|
19
|
+
def name
|
20
|
+
@name ||= "jira"
|
21
|
+
end
|
22
|
+
|
23
|
+
def hostname
|
24
|
+
"#{name}.#{network}"
|
25
|
+
end
|
26
|
+
|
27
|
+
def instance
|
28
|
+
raise 'Please provide a block!' unless block_given?
|
29
|
+
|
30
|
+
prepare
|
31
|
+
start
|
32
|
+
|
33
|
+
yield self
|
34
|
+
ensure
|
35
|
+
teardown
|
36
|
+
end
|
37
|
+
|
38
|
+
def prepare
|
39
|
+
@docker.pull(JIRA_IMAGE, JIRA_IMAGE_TAG)
|
40
|
+
|
41
|
+
return if @docker.network_exists?(network)
|
42
|
+
|
43
|
+
@docker.network_create(network)
|
44
|
+
end
|
45
|
+
|
46
|
+
def start
|
47
|
+
docker.run(JIRA_IMAGE, JIRA_IMAGE_TAG) do |command|
|
48
|
+
command << '-d '
|
49
|
+
command << "--name #{name}"
|
50
|
+
command << "--net #{network}"
|
51
|
+
command << "--hostname #{hostname}"
|
52
|
+
command << "--publish 8080:8080"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def restart
|
57
|
+
@docker.restart(name)
|
58
|
+
end
|
59
|
+
|
60
|
+
def teardown
|
61
|
+
raise 'Invalid instance name!' unless name
|
62
|
+
|
63
|
+
@docker.stop(name)
|
64
|
+
@docker.remove(name)
|
65
|
+
end
|
66
|
+
|
67
|
+
def set_jira_hostname
|
68
|
+
::Gitlab::QA::Runtime::Env.jira_hostname = hostname
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -74,7 +74,10 @@ module Gitlab
|
|
74
74
|
'SLACK_ICON_EMOJI' => :slack_icon_emoji,
|
75
75
|
'GITLAB_QA_FORMLESS_LOGIN_TOKEN' => :gitlab_qa_formless_login_token,
|
76
76
|
'GEO_MAX_FILE_REPLICATION_TIME' => :geo_max_file_replication_time,
|
77
|
-
'GEO_MAX_DB_REPLICATION_TIME' => :geo_max_db_replication_time
|
77
|
+
'GEO_MAX_DB_REPLICATION_TIME' => :geo_max_db_replication_time,
|
78
|
+
'JIRA_HOSTNAME' => :jira_hostname,
|
79
|
+
'JIRA_ADMIN_USERNAME' => :jira_admin_username,
|
80
|
+
'JIRA_ADMIN_PASSWORD' => :jira_admin_password
|
78
81
|
}.freeze
|
79
82
|
|
80
83
|
ENV_VARIABLES.each_value do |accessor|
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Gitlab
|
2
|
+
module QA
|
3
|
+
module Scenario
|
4
|
+
module Test
|
5
|
+
module Integration
|
6
|
+
class Jira < Scenario::Template
|
7
|
+
def perform(release, *rspec_args)
|
8
|
+
Component::Gitlab.perform do |gitlab|
|
9
|
+
gitlab.release = Release.new(release)
|
10
|
+
gitlab.network = 'test'
|
11
|
+
gitlab.name = 'gitlab-jira'
|
12
|
+
|
13
|
+
Component::Jira.perform do |jira|
|
14
|
+
jira.network = gitlab.network
|
15
|
+
jira.set_jira_hostname
|
16
|
+
|
17
|
+
jira.instance do
|
18
|
+
gitlab.instance do
|
19
|
+
puts 'Running Jira specs!'
|
20
|
+
|
21
|
+
rspec_args << "--" unless rspec_args.include?('--')
|
22
|
+
rspec_args << %w[--tag jira]
|
23
|
+
|
24
|
+
Component::Specs.perform do |specs|
|
25
|
+
specs.suite = 'Test::Instance::All'
|
26
|
+
specs.release = gitlab.release
|
27
|
+
specs.network = gitlab.network
|
28
|
+
specs.args = [gitlab.address, *rspec_args]
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/lib/gitlab/qa/version.rb
CHANGED
data/lib/gitlab/qa.rb
CHANGED
@@ -52,6 +52,7 @@ module Gitlab
|
|
52
52
|
autoload :Elasticsearch, 'gitlab/qa/scenario/test/integration/elasticsearch'
|
53
53
|
autoload :SMTP, 'gitlab/qa/scenario/test/integration/smtp'
|
54
54
|
autoload :GitalyHA, 'gitlab/qa/scenario/test/integration/gitaly_ha'
|
55
|
+
autoload :Jira, 'gitlab/qa/scenario/test/integration/jira'
|
55
56
|
end
|
56
57
|
|
57
58
|
module Sanity
|
@@ -72,6 +73,7 @@ module Gitlab
|
|
72
73
|
autoload :Preprod, 'gitlab/qa/component/preprod'
|
73
74
|
autoload :Elasticsearch, 'gitlab/qa/component/elasticsearch'
|
74
75
|
autoload :MailHog, 'gitlab/qa/component/mail_hog'
|
76
|
+
autoload :Jira, 'gitlab/qa/component/jira'
|
75
77
|
autoload :PostgreSQL, 'gitlab/qa/component/postgresql'
|
76
78
|
end
|
77
79
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab-qa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grzegorz Bizon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-05-
|
11
|
+
date: 2020-05-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|
@@ -240,6 +240,7 @@ files:
|
|
240
240
|
- lib/gitlab/qa/component/elasticsearch.rb
|
241
241
|
- lib/gitlab/qa/component/gitlab.rb
|
242
242
|
- lib/gitlab/qa/component/internet_tunnel.rb
|
243
|
+
- lib/gitlab/qa/component/jira.rb
|
243
244
|
- lib/gitlab/qa/component/ldap.rb
|
244
245
|
- lib/gitlab/qa/component/mail_hog.rb
|
245
246
|
- lib/gitlab/qa/component/minio.rb
|
@@ -281,6 +282,7 @@ files:
|
|
281
282
|
- lib/gitlab/qa/scenario/test/integration/gitaly_ha.rb
|
282
283
|
- lib/gitlab/qa/scenario/test/integration/group_saml.rb
|
283
284
|
- lib/gitlab/qa/scenario/test/integration/instance_saml.rb
|
285
|
+
- lib/gitlab/qa/scenario/test/integration/jira.rb
|
284
286
|
- lib/gitlab/qa/scenario/test/integration/kubernetes.rb
|
285
287
|
- lib/gitlab/qa/scenario/test/integration/ldap.rb
|
286
288
|
- lib/gitlab/qa/scenario/test/integration/ldap_no_server.rb
|