gitlab-qa 2.7.1 → 2.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitlab-ci.yml +19 -5
- data/docs/what_tests_can_be_run.md +49 -7
- data/lib/gitlab/qa.rb +2 -0
- data/lib/gitlab/qa/component/gitlab.rb +25 -8
- data/lib/gitlab/qa/component/ldap.rb +22 -4
- data/lib/gitlab/qa/scenario/test/integration/ldap.rb +13 -8
- data/lib/gitlab/qa/scenario/test/integration/ldap_no_tls.rb +26 -0
- data/lib/gitlab/qa/scenario/test/integration/ldap_tls.rb +29 -0
- data/lib/gitlab/qa/version.rb +1 -1
- data/tls_certificates/gitlab/gitlab.test.crt +31 -0
- data/tls_certificates/gitlab/gitlab.test.key +52 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d7aaedea31a9632f594c691505554832867b171ecde5819c07129d5bf570295
|
4
|
+
data.tar.gz: 6b58cb3fc6cfcfebd0a710c1560dfa9ff2518864ea75d4cef1bd3c18594af6ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 66d39acd655809376983c4a6c873424465b7a2d8c86b716a0a19037fcdc7f485cf5421908a91d00f676038685c9d995143b209711873d63c5fc4ee1a929b0e02
|
7
|
+
data.tar.gz: 6f4e36562403dd497d758cd52399e6f6e05fb003b1358a09d55e1f73ded754dfc540b183b2b90feca594cf6c070a582339b8fd368d39ef0fa1de602a0f19bf71
|
data/.gitlab-ci.yml
CHANGED
@@ -172,16 +172,30 @@ ee:geo:
|
|
172
172
|
<<: *high-capacity
|
173
173
|
<<: *ee-qa
|
174
174
|
|
175
|
-
ce:
|
175
|
+
ce:ldap_no_tls:
|
176
176
|
script:
|
177
|
-
- bin/qa Test::Integration::
|
177
|
+
- bin/qa Test::Integration::LDAPNoTLS ${RELEASE:=CE}
|
178
178
|
<<: *test
|
179
179
|
<<: *high-capacity
|
180
180
|
<<: *ce-qa
|
181
181
|
|
182
|
-
ee:
|
182
|
+
ee:ldap_no_tls:
|
183
183
|
script:
|
184
|
-
- bin/qa Test::Integration::
|
184
|
+
- bin/qa Test::Integration::LDAPNoTLS ${RELEASE:=EE}
|
185
|
+
<<: *test
|
186
|
+
<<: *high-capacity
|
187
|
+
<<: *ee-qa
|
188
|
+
|
189
|
+
ce:ldap_tls:
|
190
|
+
script:
|
191
|
+
- bin/qa Test::Integration::LDAPTLS ${RELEASE:=CE}
|
192
|
+
<<: *test
|
193
|
+
<<: *high-capacity
|
194
|
+
<<: *ce-qa
|
195
|
+
|
196
|
+
ee:ldap_tls:
|
197
|
+
script:
|
198
|
+
- bin/qa Test::Integration::LDAPTLS ${RELEASE:=EE}
|
185
199
|
<<: *test
|
186
200
|
<<: *high-capacity
|
187
201
|
<<: *ee-qa
|
@@ -198,7 +212,7 @@ ee:instance_saml:
|
|
198
212
|
- bin/qa Test::Integration::InstanceSAML ${RELEASE:=EE}
|
199
213
|
<<: *test
|
200
214
|
<<: *high-capacity
|
201
|
-
<<: *ee-qa
|
215
|
+
<<: *ee-qa
|
202
216
|
|
203
217
|
ee:group_saml:
|
204
218
|
script:
|
@@ -148,18 +148,18 @@ $ gitlab-qa Test::Integration::Geo EE
|
|
148
148
|
|
149
149
|
[test-geo]: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/qa/qa/ee/scenario/test/geo.rb
|
150
150
|
|
151
|
-
### `Test::Integration::
|
151
|
+
### `Test::Integration::LDAPNoTLS CE|EE|<full image address>`
|
152
152
|
|
153
153
|
This tests that a GitLab instance works as expected with an external
|
154
|
-
LDAP server.
|
154
|
+
LDAP server with TLS not enabled.
|
155
155
|
|
156
156
|
The scenario spins up an OpenLDAP server, seeds users, and verifies
|
157
157
|
that LDAP-related features work as expected.
|
158
158
|
|
159
159
|
To run tests against the GitLab containers, a GitLab QA (`gitlab/gitlab-qa`)
|
160
160
|
container is spun up and tests are run from it by running the
|
161
|
-
`Test::Integration::
|
162
|
-
[`gitlab-org/gitlab-ce@qa/qa/scenario/test/integration/
|
161
|
+
`Test::Integration::LDAPNoTLS` scenario (located under
|
162
|
+
[`gitlab-org/gitlab-ce@qa/qa/scenario/test/integration/ldap_no_tls.rb`][test-integration-ldap-no-tls]
|
163
163
|
in the GitLab CE project).
|
164
164
|
|
165
165
|
In EE, both the GitLab standard and LDAP credentials are needed:
|
@@ -174,15 +174,57 @@ In EE, both the GitLab standard and LDAP credentials are needed:
|
|
174
174
|
Example:
|
175
175
|
|
176
176
|
```
|
177
|
-
$ gitlab-qa Test::Integration::
|
177
|
+
$ gitlab-qa Test::Integration::LDAPNoTLS CE
|
178
178
|
|
179
179
|
# For EE
|
180
180
|
$ export EE_LICENSE=$(cat /path/to/Geo.gitlab_license)
|
181
181
|
|
182
|
-
$ gitlab-qa Test::Integration::
|
182
|
+
$ gitlab-qa Test::Integration::LDAPNoTLS EE
|
183
183
|
```
|
184
184
|
|
185
|
-
[test-integration-ldap]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/scenario/test/integration/
|
185
|
+
[test-integration-ldap-no-tls]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/scenario/test/integration/ldap_no_tls.rb
|
186
|
+
|
187
|
+
### `Test::Integration::LDAPTLS CE|EE|<full image address>`
|
188
|
+
|
189
|
+
This tests that a TLS enabled GitLab instance works as expected with an external TLS enabled LDAP server.
|
190
|
+
The self signed TLS certificate used for the Gitlab instance and the private key is located at: [`gitlab-org/gitlab-qa@tls_certificates/gitlab`][test-integration-ldap-tls-certs]
|
191
|
+
|
192
|
+
The certificate was generated with openssl using this command:
|
193
|
+
```
|
194
|
+
openssl req -x509 -newkey rsa:4096 -keyout gitlab.test.key -out gitlab.test.crt -days 3650 -nodes -subj "/C=US/ST=CA/L=San Francisco/O=GitLab/OU=Org/CN=gitlab.test"
|
195
|
+
```
|
196
|
+
|
197
|
+
The scenario spins up a TLS enabled OpenLDAP server, seeds users, and verifies
|
198
|
+
that LDAP-related features work as expected.
|
199
|
+
|
200
|
+
To run tests against the GitLab containers, a GitLab QA (`gitlab/gitlab-qa`)
|
201
|
+
container is spun up and tests are run from it by running the
|
202
|
+
`Test::Integration::LDAPTLS` scenario (located under
|
203
|
+
[`gitlab-org/gitlab-ce@qa/qa/scenario/test/integration/ldap_tls.rb`][test-integration-ldap-tls]
|
204
|
+
in the GitLab CE project).
|
205
|
+
|
206
|
+
In EE, both the GitLab standard and LDAP credentials are needed:
|
207
|
+
|
208
|
+
1. The first is used to login as an Admin to enter in the EE license.
|
209
|
+
2. The second is used to conduct LDAP-related tasks
|
210
|
+
|
211
|
+
**Required environment variables:**
|
212
|
+
|
213
|
+
- [For EE only] `EE_LICENSE`: A valid EE license.
|
214
|
+
|
215
|
+
Example:
|
216
|
+
|
217
|
+
```
|
218
|
+
$ gitlab-qa Test::Integration::LDAPTLS CE
|
219
|
+
|
220
|
+
# For EE
|
221
|
+
$ export EE_LICENSE=$(cat /path/to/Geo.gitlab_license)
|
222
|
+
|
223
|
+
$ gitlab-qa Test::Integration::LDAPTLS EE
|
224
|
+
```
|
225
|
+
|
226
|
+
[test-integration-ldap-tls]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/scenario/test/integration/ldap_tls.rb
|
227
|
+
[test-integration-ldap-tls-certs]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/tls_certificates/gitlab
|
186
228
|
|
187
229
|
### `Test::Integration::GroupSAML EE|<full image address>`
|
188
230
|
|
data/lib/gitlab/qa.rb
CHANGED
@@ -30,6 +30,8 @@ module Gitlab
|
|
30
30
|
module Integration
|
31
31
|
autoload :Geo, 'qa/scenario/test/integration/geo'
|
32
32
|
autoload :LDAP, 'qa/scenario/test/integration/ldap'
|
33
|
+
autoload :LDAPNoTLS, 'qa/scenario/test/integration/ldap_no_tls'
|
34
|
+
autoload :LDAPTLS, 'qa/scenario/test/integration/ldap_tls'
|
33
35
|
autoload :SAML, 'qa/scenario/test/integration/saml'
|
34
36
|
autoload :GroupSAML, 'qa/scenario/test/integration/group_saml'
|
35
37
|
autoload :InstanceSAML, 'qa/scenario/test/integration/instance_saml'
|
@@ -11,17 +11,22 @@ module Gitlab
|
|
11
11
|
include Scenario::Actable
|
12
12
|
|
13
13
|
attr_reader :release, :docker
|
14
|
-
attr_accessor :volumes, :network, :environment
|
14
|
+
attr_accessor :volumes, :network, :environment, :tls
|
15
15
|
attr_writer :name, :relative_path, :exec_commands
|
16
16
|
|
17
17
|
def_delegators :release, :tag, :image, :edition
|
18
18
|
|
19
|
+
CERTIFICATES_PATH = File.expand_path('../../../../tls_certificates/gitlab'.freeze, __dir__)
|
20
|
+
SSL_PATH = '/etc/gitlab/ssl'.freeze
|
21
|
+
|
19
22
|
def initialize
|
20
23
|
@docker = Docker::Engine.new
|
21
24
|
@environment = {}
|
22
25
|
@volumes = {}
|
23
26
|
@network_aliases = []
|
24
27
|
|
28
|
+
@volumes[CERTIFICATES_PATH] = SSL_PATH
|
29
|
+
|
25
30
|
self.release = 'CE'
|
26
31
|
self.exec_commands = []
|
27
32
|
end
|
@@ -43,7 +48,15 @@ module Gitlab
|
|
43
48
|
end
|
44
49
|
|
45
50
|
def address
|
46
|
-
"
|
51
|
+
"#{scheme}://#{hostname}#{relative_path}"
|
52
|
+
end
|
53
|
+
|
54
|
+
def scheme
|
55
|
+
tls ? 'https' : 'http'
|
56
|
+
end
|
57
|
+
|
58
|
+
def port
|
59
|
+
tls ? '443' : '80'
|
47
60
|
end
|
48
61
|
|
49
62
|
def hostname
|
@@ -80,7 +93,7 @@ module Gitlab
|
|
80
93
|
ensure_configured!
|
81
94
|
|
82
95
|
docker.run(image, tag) do |command|
|
83
|
-
command <<
|
96
|
+
command << "-d -p #{port}"
|
84
97
|
command << "--name #{name}"
|
85
98
|
command << "--net #{network}"
|
86
99
|
command << "--hostname #{hostname}"
|
@@ -122,7 +135,7 @@ module Gitlab
|
|
122
135
|
end
|
123
136
|
|
124
137
|
def wait
|
125
|
-
if Availability.new(name, relative_path: relative_path).check(180)
|
138
|
+
if Availability.new(name, relative_path: relative_path, scheme: scheme, protocol_port: port.to_i).check(180)
|
126
139
|
sleep 12 # TODO, handle that better
|
127
140
|
puts ' -> GitLab is available.'
|
128
141
|
else
|
@@ -157,13 +170,13 @@ module Gitlab
|
|
157
170
|
end
|
158
171
|
|
159
172
|
class Availability
|
160
|
-
def initialize(name, relative_path: '')
|
173
|
+
def initialize(name, relative_path: '', scheme: 'http', protocol_port: 80)
|
161
174
|
@docker = Docker::Engine.new
|
162
175
|
|
163
176
|
host = @docker.hostname
|
164
|
-
port = @docker.port(name,
|
177
|
+
port = @docker.port(name, protocol_port).split(':').last
|
165
178
|
|
166
|
-
@uri = URI.join("
|
179
|
+
@uri = URI.join("#{scheme}://#{host}:#{port}", "#{relative_path}/", 'help')
|
167
180
|
end
|
168
181
|
|
169
182
|
def check(retries)
|
@@ -182,7 +195,7 @@ module Gitlab
|
|
182
195
|
private
|
183
196
|
|
184
197
|
def service_available?
|
185
|
-
response = Net::HTTP.start(@uri.host, @uri.port) do |http|
|
198
|
+
response = Net::HTTP.start(@uri.host, @uri.port, opts) do |http|
|
186
199
|
http.head2(@uri.request_uri)
|
187
200
|
end
|
188
201
|
|
@@ -190,6 +203,10 @@ module Gitlab
|
|
190
203
|
rescue Errno::ECONNREFUSED, Errno::ECONNRESET, EOFError
|
191
204
|
false
|
192
205
|
end
|
206
|
+
|
207
|
+
def opts
|
208
|
+
@uri.scheme == 'https' ? { use_ssl: true, verify_mode: OpenSSL::SSL::VERIFY_NONE } : {}
|
209
|
+
end
|
193
210
|
end
|
194
211
|
end
|
195
212
|
end
|
@@ -26,6 +26,7 @@ module Gitlab
|
|
26
26
|
LDAP_USER = 'tanuki'.freeze
|
27
27
|
LDAP_PASSWORD = 'password'.freeze
|
28
28
|
LDAP_PORT = 389
|
29
|
+
LDAP_TLS_PORT = 636
|
29
30
|
BASE_DN = 'dc=example,dc=org'.freeze
|
30
31
|
BIND_DN = 'cn=admin,dc=example,dc=org'.freeze
|
31
32
|
BOOTSTRAP_LDIF = '/container/service/slapd/assets/config/bootstrap/ldif/custom'.freeze
|
@@ -46,8 +47,20 @@ module Gitlab
|
|
46
47
|
@volumes[FIXTURE_PATH] = BOOTSTRAP_LDIF
|
47
48
|
end
|
48
49
|
|
49
|
-
|
50
|
-
|
50
|
+
# LDAP_TLS is true by default
|
51
|
+
def tls=(status)
|
52
|
+
if status
|
53
|
+
@environment['LDAP_TLS_CRT_FILENAME'] = "#{hostname}.crt"
|
54
|
+
@environment['LDAP_TLS_KEY_FILENAME'] = "#{hostname}.key"
|
55
|
+
@environment['LDAP_TLS_ENFORCE'] = 'true'
|
56
|
+
@environment['LDAP_TLS_VERIFY_CLIENT'] = 'never'
|
57
|
+
else
|
58
|
+
@environment['LDAP_TLS'] = 'false'
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def tls?
|
63
|
+
@environment['LDAP_TLS'] != 'false'
|
51
64
|
end
|
52
65
|
|
53
66
|
def username
|
@@ -132,11 +145,12 @@ module Gitlab
|
|
132
145
|
main:
|
133
146
|
label: LDAP
|
134
147
|
host: #{hostname}
|
135
|
-
port: #{LDAP_PORT}
|
148
|
+
port: #{tls? ? LDAP_TLS_PORT : LDAP_PORT}
|
136
149
|
uid: 'uid'
|
137
150
|
bind_dn: #{BIND_DN}
|
138
151
|
password: #{ADMIN_PASSWORD}
|
139
|
-
method: 'plain'
|
152
|
+
method: #{tls? ? 'simple_tls' : 'plain'}
|
153
|
+
verify_certificates: false
|
140
154
|
base: #{BASE_DN}
|
141
155
|
user_filter: ''
|
142
156
|
group_base: #{GROUP_BASE}
|
@@ -153,6 +167,10 @@ module Gitlab
|
|
153
167
|
::Gitlab::QA::Runtime::Env.ldap_username = username
|
154
168
|
::Gitlab::QA::Runtime::Env.ldap_password = password
|
155
169
|
end
|
170
|
+
|
171
|
+
def set_accept_insecure_certs
|
172
|
+
::Gitlab::QA::Runtime::Env.accept_insecure_certs = 'true'
|
173
|
+
end
|
156
174
|
end
|
157
175
|
end
|
158
176
|
end
|
@@ -6,29 +6,34 @@ module Gitlab
|
|
6
6
|
module Test
|
7
7
|
module Integration
|
8
8
|
class LDAP < Scenario::Template
|
9
|
+
attr_reader :gitlab_name, :spec_suite, :tls
|
10
|
+
|
11
|
+
def configure(gitlab, ldap)
|
12
|
+
raise NotImplementedError
|
13
|
+
end
|
14
|
+
|
9
15
|
# rubocop:disable Metrics/AbcSize
|
10
16
|
def perform(release)
|
11
17
|
Component::Gitlab.perform do |gitlab|
|
12
18
|
gitlab.release = release
|
13
|
-
gitlab.name =
|
19
|
+
gitlab.name = gitlab_name
|
14
20
|
gitlab.network = 'test'
|
21
|
+
gitlab.tls = tls
|
15
22
|
|
16
23
|
Component::LDAP.perform do |ldap|
|
17
|
-
ldap.
|
24
|
+
ldap.name = 'ldap-server'
|
18
25
|
ldap.network = 'test'
|
19
26
|
ldap.set_gitlab_credentials
|
27
|
+
ldap.tls = tls
|
20
28
|
|
21
|
-
gitlab
|
22
|
-
gitlab_rails['ldap_enabled'] = true;
|
23
|
-
gitlab_rails['ldap_servers'] = #{ldap.to_config};
|
24
|
-
OMNIBUS
|
29
|
+
configure(gitlab, ldap)
|
25
30
|
|
26
31
|
ldap.instance do
|
27
32
|
gitlab.instance do
|
28
|
-
puts
|
33
|
+
puts "Running #{spec_suite} specs!"
|
29
34
|
|
30
35
|
Component::Specs.perform do |specs|
|
31
|
-
specs.suite =
|
36
|
+
specs.suite = spec_suite
|
32
37
|
specs.release = gitlab.release
|
33
38
|
specs.network = gitlab.network
|
34
39
|
specs.args = [gitlab.address]
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
|
3
|
+
module Gitlab
|
4
|
+
module QA
|
5
|
+
module Scenario
|
6
|
+
module Test
|
7
|
+
module Integration
|
8
|
+
class LDAPNoTLS < LDAP
|
9
|
+
def initialize
|
10
|
+
@gitlab_name = 'gitlab-ldap'
|
11
|
+
@spec_suite = 'Test::Integration::LDAPNoTLS'
|
12
|
+
@tls = false
|
13
|
+
end
|
14
|
+
|
15
|
+
def configure(gitlab, ldap)
|
16
|
+
gitlab.omnibus_config = <<~OMNIBUS
|
17
|
+
gitlab_rails['ldap_enabled'] = true;
|
18
|
+
gitlab_rails['ldap_servers'] = #{ldap.to_config};
|
19
|
+
OMNIBUS
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
|
3
|
+
module Gitlab
|
4
|
+
module QA
|
5
|
+
module Scenario
|
6
|
+
module Test
|
7
|
+
module Integration
|
8
|
+
class LDAPTLS < LDAP
|
9
|
+
def initialize
|
10
|
+
@gitlab_name = 'gitlab'
|
11
|
+
@spec_suite = 'Test::Integration::LDAPTLS'
|
12
|
+
@tls = true
|
13
|
+
end
|
14
|
+
|
15
|
+
def configure(gitlab, ldap)
|
16
|
+
ldap.set_accept_insecure_certs
|
17
|
+
gitlab.omnibus_config = <<~OMNIBUS
|
18
|
+
gitlab_rails['ldap_enabled'] = true;
|
19
|
+
gitlab_rails['ldap_servers'] = #{ldap.to_config};
|
20
|
+
letsencrypt['enable'] = false;
|
21
|
+
external_url '#{gitlab.address}';
|
22
|
+
OMNIBUS
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/gitlab/qa/version.rb
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
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
|
30
|
+
vvjQTrP9ZinR50bKUf8=
|
31
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,52 @@
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
2
|
+
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
|
51
|
+
x++63Pu+UaiR5UttNHmAr7AnrGw+Iw==
|
52
|
+
-----END PRIVATE KEY-----
|
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: 2.7.
|
4
|
+
version: 2.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grzegorz Bizon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|
@@ -168,6 +168,8 @@ files:
|
|
168
168
|
- lib/gitlab/qa/scenario/test/integration/instance_saml.rb
|
169
169
|
- lib/gitlab/qa/scenario/test/integration/kubernetes.rb
|
170
170
|
- lib/gitlab/qa/scenario/test/integration/ldap.rb
|
171
|
+
- lib/gitlab/qa/scenario/test/integration/ldap_no_tls.rb
|
172
|
+
- lib/gitlab/qa/scenario/test/integration/ldap_tls.rb
|
171
173
|
- lib/gitlab/qa/scenario/test/integration/mattermost.rb
|
172
174
|
- lib/gitlab/qa/scenario/test/integration/object_storage.rb
|
173
175
|
- lib/gitlab/qa/scenario/test/integration/saml.rb
|
@@ -176,6 +178,8 @@ files:
|
|
176
178
|
- lib/gitlab/qa/scenario/test/omnibus/upgrade.rb
|
177
179
|
- lib/gitlab/qa/scenario/test/sanity/version.rb
|
178
180
|
- lib/gitlab/qa/version.rb
|
181
|
+
- tls_certificates/gitlab/gitlab.test.crt
|
182
|
+
- tls_certificates/gitlab/gitlab.test.key
|
179
183
|
homepage: http://about.gitlab.com
|
180
184
|
licenses:
|
181
185
|
- MIT
|