gitlab-qa 2.9.0 → 2.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/docs/what_tests_can_be_run.md +11 -0
- data/lib/gitlab/qa.rb +2 -0
- data/lib/gitlab/qa/component/production.rb +13 -0
- data/lib/gitlab/qa/component/staging.rb +5 -2
- data/lib/gitlab/qa/runtime/env.rb +1 -0
- data/lib/gitlab/qa/scenario/test/instance/production.rb +37 -0
- data/lib/gitlab/qa/version.rb +1 -1
- 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: 234f8d7e3668e3dca02e4b82a4c6eb8d094f6a724078ca81efee07b4b42cbb31
|
4
|
+
data.tar.gz: 341741ddf0c3a568dfb996be36779c518026ec140230e22ed8029de60aa264ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab53b41045fdf2395f3ed47e476a4ef7a265622112cebf595a281c132f4d6fada61a8cd39a235f7db24c281acf9121c3b9c8b07fec275698effbc4e7afb96542
|
7
|
+
data.tar.gz: 4e48765393874c770c58b8a6217b5f4f42c1b50cbae4ccdb5505716af02cc19e28d8ea24ba5929c85c45106689d9112850e0e0ad059d0a128766f3680624f283
|
data/Gemfile
CHANGED
@@ -46,6 +46,7 @@ For more details on the internals, please read the
|
|
46
46
|
for failing tests will be saved (default: `/tmp/gitlab-qa`)
|
47
47
|
* `DOCKER_HOST` - Docker host to run tests against (default: `http://localhost`)
|
48
48
|
* `CHROME_HEADLESS` - when running locally, set to `false` to allow Chrome tests to be visible - watch your tests being run
|
49
|
+
* `QA_COOKIES` - optionally set to "cookie1=value;cookie2=value" in order to add a cookie to every request. This can be used to set the canary cookie by setting it to "gitlab_canary=true"
|
49
50
|
* `QA_DEBUG` - set to `true` to verbosely log page object actions. Note: if enabled be aware that sensitive data might be logged. If an input element has a QA selector with `password` in the name, data entered into the input element will be masked. If the element doesn't have `password` in its name it won't be masked.
|
50
51
|
* `QA_LOG_PATH` - path to output debug logging to. If not set logging will be output to STDOUT
|
51
52
|
* `QA_CAN_TEST_GIT_PROTOCOL_V2` - set to `false` to skip tests that require Git protocol v2 if your environment doesn't support it.
|
@@ -376,6 +377,16 @@ $ export GITLAB_PASSWORD="$GITLAB_QA_PASSWORD"
|
|
376
377
|
$ gitlab-qa Test::Instance::Staging
|
377
378
|
```
|
378
379
|
|
380
|
+
### `Test::Instance::Production`
|
381
|
+
|
382
|
+
This scenario functions the same as `Test::Instance::Staging`
|
383
|
+
but will run tests against [`gitlab.com`](https://gitlab.com).
|
384
|
+
|
385
|
+
In release 11.6 it is possible to test against the canary stage of production
|
386
|
+
by setting `QA_COOKIES=gitlab_canary=true`. This adds a cookie
|
387
|
+
to all web requests which will result in them being routed
|
388
|
+
to the canary fleet.
|
389
|
+
|
379
390
|
### `Test::Instance::Smoke`
|
380
391
|
|
381
392
|
This scenario will run a limited amount of tests selected from the test suite tagged by `:smoke`.
|
data/lib/gitlab/qa.rb
CHANGED
@@ -18,6 +18,7 @@ module Gitlab
|
|
18
18
|
autoload :Image, 'qa/scenario/test/instance/image'
|
19
19
|
autoload :RelativeUrl, 'qa/scenario/test/instance/relative_url'
|
20
20
|
autoload :Staging, 'qa/scenario/test/instance/staging'
|
21
|
+
autoload :Production, 'qa/scenario/test/instance/production'
|
21
22
|
autoload :Smoke, 'qa/scenario/test/instance/smoke'
|
22
23
|
end
|
23
24
|
|
@@ -53,6 +54,7 @@ module Gitlab
|
|
53
54
|
autoload :SAML, 'qa/component/saml'
|
54
55
|
autoload :Specs, 'qa/component/specs'
|
55
56
|
autoload :Staging, 'qa/component/staging'
|
57
|
+
autoload :Production, 'qa/component/production'
|
56
58
|
autoload :Minio, 'qa/component/minio'
|
57
59
|
end
|
58
60
|
|
@@ -7,9 +7,8 @@ module Gitlab
|
|
7
7
|
module Component
|
8
8
|
class Staging
|
9
9
|
ADDRESS = 'https://staging.gitlab.com'.freeze
|
10
|
-
|
11
10
|
def self.release
|
12
|
-
version = Version.new(
|
11
|
+
version = Version.new(address).fetch!
|
13
12
|
image =
|
14
13
|
if Runtime::Env.dev_access_token_variable
|
15
14
|
"dev.gitlab.org:5005/gitlab/omnibus-gitlab/gitlab-ee:#{version}"
|
@@ -24,6 +23,10 @@ module Gitlab
|
|
24
23
|
exit 1
|
25
24
|
end
|
26
25
|
|
26
|
+
def self.address
|
27
|
+
self::ADDRESS
|
28
|
+
end
|
29
|
+
|
27
30
|
class InvalidResponseError < StandardError
|
28
31
|
attr_reader :response
|
29
32
|
|
@@ -28,6 +28,7 @@ module Gitlab
|
|
28
28
|
'CLOUDSDK_CORE_PROJECT' => :cloudsdk_core_project,
|
29
29
|
'GCLOUD_ZONE' => :gcloud_zone,
|
30
30
|
'SIGNUP_DISABLED' => :signup_disabled,
|
31
|
+
'QA_COOKIES' => :qa_cookie,
|
31
32
|
'QA_DEBUG' => :qa_debug,
|
32
33
|
'QA_LOG_PATH' => :qa_log_path,
|
33
34
|
'QA_CAN_TEST_GIT_PROTOCOL_V2' => :qa_can_test_git_protocol_v2,
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Gitlab
|
2
|
+
module QA
|
3
|
+
module Scenario
|
4
|
+
module Test
|
5
|
+
module Instance
|
6
|
+
##
|
7
|
+
# Run test suite against gitlab.com
|
8
|
+
#
|
9
|
+
class Production < Scenario::Template
|
10
|
+
def perform(*rspec_args)
|
11
|
+
Runtime::Env.require_no_license!
|
12
|
+
|
13
|
+
release = Component::Production.release
|
14
|
+
|
15
|
+
if release.dev_gitlab_org?
|
16
|
+
Docker::Command.execute(
|
17
|
+
[
|
18
|
+
'login',
|
19
|
+
'--username gitlab-qa-bot',
|
20
|
+
%(--password "#{Runtime::Env.dev_access_token_variable}"),
|
21
|
+
Release::DEV_REGISTRY
|
22
|
+
]
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
Component::Specs.perform do |specs|
|
27
|
+
specs.suite = 'Test::Instance'
|
28
|
+
specs.release = release
|
29
|
+
specs.args = [Component::Production::ADDRESS, *rspec_args]
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/gitlab/qa/version.rb
CHANGED
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.
|
4
|
+
version: 2.10.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: 2018-11-
|
11
|
+
date: 2018-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|
@@ -151,6 +151,7 @@ files:
|
|
151
151
|
- lib/gitlab/qa/component/internet_tunnel.rb
|
152
152
|
- lib/gitlab/qa/component/ldap.rb
|
153
153
|
- lib/gitlab/qa/component/minio.rb
|
154
|
+
- lib/gitlab/qa/component/production.rb
|
154
155
|
- lib/gitlab/qa/component/saml.rb
|
155
156
|
- lib/gitlab/qa/component/specs.rb
|
156
157
|
- lib/gitlab/qa/component/staging.rb
|
@@ -164,6 +165,7 @@ files:
|
|
164
165
|
- lib/gitlab/qa/scenario/template.rb
|
165
166
|
- lib/gitlab/qa/scenario/test/instance/any.rb
|
166
167
|
- lib/gitlab/qa/scenario/test/instance/image.rb
|
168
|
+
- lib/gitlab/qa/scenario/test/instance/production.rb
|
167
169
|
- lib/gitlab/qa/scenario/test/instance/relative_url.rb
|
168
170
|
- lib/gitlab/qa/scenario/test/instance/smoke.rb
|
169
171
|
- lib/gitlab/qa/scenario/test/instance/staging.rb
|