qa:internal-as-if-foss
Passed Started
by
@dskim_gitlab
Sincheol (David) Kim
1Running with gitlab-runner 15.9.0~beta.115.g598a7c91 (598a7c91)2 on green-1.shared-gitlab-org.runners-manager.gitlab.com/default Mf8beF5G, system ID: s_673deea48c2a3 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0:bundler-2.3-chrome-109-docker-23.0.1 ...7Authenticating with credentials from job payload (GitLab Registry)8Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0:bundler-2.3-chrome-109-docker-23.0.1 ...9Using docker image sha256:2e82391c522d53edea38b9c77a1dd472e04de8bcd148c80a9a7122de83f3cf32 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0:bundler-2.3-chrome-109-docker-23.0.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0@sha256:6ac8b7ba1b0834e9ebede730260d4f922859f45398756c831d9d8597db147989 ...11Running on runner-mf8bef5g-project-278964-concurrent-0 via runner-mf8bef5g-shared-gitlab-org-1682573640-b8c7796a...13$ eval "$CI_PRE_CLONE_SCRIPT"14Fetching changes with git depth set to 20...15Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/16Created fresh repository.17remote: Enumerating objects: 162343, done. 18remote: Counting objects: 100% (162343/162343), done. 19remote: Compressing objects: 100% (98372/98372), done. 20remote: Total 162343 (delta 79431), reused 115386 (delta 58039), pack-reused 0 21Receiving objects: 100% (162343/162343), 129.76 MiB | 32.54 MiB/s, done.22Resolving deltas: 100% (79431/79431), done.24 * [new ref] refs/pipelines/850455016 -> refs/pipelines/85045501625Checking out 997198e5 as detached HEAD (ref is refs/merge-requests/118423/merge)...26Skipping Git submodules setup27$ git remote set-url origin "${CI_REPOSITORY_URL}"29Checking cache for qa-ruby-gems-debian-bullseye-ruby-3.0-7db4f83282f173974276a92df87972cee14c38ae-16...30Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/qa-ruby-gems-debian-bullseye-ruby-3.0-7db4f83282f173974276a92df87972cee14c38ae-16 31Successfully extracted cache33Using docker image sha256:2e82391c522d53edea38b9c77a1dd472e04de8bcd148c80a9a7122de83f3cf32 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0:bundler-2.3-chrome-109-docker-23.0.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0@sha256:6ac8b7ba1b0834e9ebede730260d4f922859f45398756c831d9d8597db147989 ...34$ echo $FOSS_ONLY35136$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb37$ export GOPATH=$CI_PROJECT_DIR/.go38$ mkdir -p $GOPATH39$ source scripts/utils.sh40$ source scripts/prepare_build.sh41Using decomposed database config (config/database.yml.decomposed-postgresql)42Geo DB won't be set up.43Embedding DB won't be set up.44$ cd qa && bundle install45Bundle complete! 36 Gemfile dependencies, 123 gems now installed.46Gems in the groups 'production' and 'development' were not installed.47Bundled gems are installed into `./vendor`48$ bundle exec rspec -O .rspec_internal49warning: parser/current is loading parser/ruby30, which recognizes3.0.5-compliant syntax, but you are running 3.0.6.51Randomized with seed 510752QA::Vendor::Smocker::SmockerApi53 retries until the service is ready54QA::Tools::Ci::FfChanges55 without merge request pipeline56 with empty mr diff57 doesn't return any ff options58 with merge request pipeline59 with changed feature flag60 returns inverse ff state option61 with deleted feature flag62 returns deleted ff state option63QA::Runtime::Key::ECDSA64 #new65[Apr 27 2023 05:51:00 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t ecdsa -b 123 -f /tmp/d20230427-31-fqpump/id_ecdsa -N `66[Apr 27 2023 05:51:00 UTC (QA Tests)] ERROR -- Command output:67Invalid ECDSA key length: valid lengths are 256, 384 or 521 bits68 does not support arbitrary bits69 #public_key70[Apr 27 2023 05:51:00 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t ecdsa -b 521 -f /tmp/d20230427-31-rwzmo8/id_ecdsa -N `71 generates a public 521-bits ECDSA key72[Apr 27 2023 05:51:00 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t ecdsa -b 384 -f /tmp/d20230427-31-t2ahqh/id_ecdsa -N `73 generates a public 384-bits ECDSA key74[Apr 27 2023 05:51:00 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t ecdsa -b 256 -f /tmp/d20230427-31-hvuh4o/id_ecdsa -N `75 generates a public 256-bits ECDSA key76QA::Specs::Runner77 #perform78 when SIGNUP_DISABLED is true79 includes default args and excludes the skip_signup_disabled tag80 when "--tag smoke" is set as options81 focuses on the given tag without excluded tags82 when count_examples_only is set as an option832284 sets the `--dry-run` flag852286 writes to file when examples are more than zero87088 does not write to file when zero examples89 raises error when Rspec output does not match regex90 when --tag is specified as an option912292 includes the option value in the file name93 behaves like excludes default skipped, and geo94 excludes the default skipped and geo tags, and includes default args95 when "qa/specs/features/foo" is set as options96 passes the given tests path and excludes the default skipped, and geo tags97 when running against live environment98 includes default args and excludes the skip_live_env tag99 when test_metadata_only is set as an option100Saved to file: /root/tmp/test-metadata.json101 configures json formatted output to file102Saved to file: /builds/gitlab-org/gitlab/qa/tmp/test-metadata.json103 sets the `--dry-run` flag104 when running against a Geo environment105 includes the geo tag106 when tty is set107 sets the `--tty` flag108 when "--tag smoke" and "qa/specs/features/foo" are set as options109 focuses on the given tag and includes the path without excluding the orchestrated or transient tags110 when tags are set111 focuses on the given tags112 testable features113 when all features are supported114 behaves like excludes default skipped, and geo115 excludes the default skipped and geo tags, and includes default args116 when only git protocol 2 is supported117 behaves like one supported feature118 includes default args and excludes all unsupported tags119 when no features are supported120 behaves like one supported feature121 includes default args and excludes all unsupported tags122 when only admin features are supported123 behaves like one supported feature124 includes default args and excludes all unsupported tags125 when features are not specified126 behaves like excludes default skipped, and geo127 excludes the default skipped and geo tags, and includes default args128QA::Service::DockerRun::Base129 when authenticating130 caches the the registry131 forces authentication if the registry is cached132QA::Scenario::Test::Integration::LDAPTLS133 #perform134 behaves like a QA scenario class135 sets tags on runner136 performs before hooks only once137 responds to perform138 with RSpec options139 sets options on runner140 with named command-line options141 passes on options after --142 raises an error if the option is invalid143 converts options to attributes144QA::Resource::Repository::Push145 .files=146 does not raise if files is an array of hashes with :name and :content keys147 raises an error if files is not an array of hashes with :name and :content keys148 raises an error if files is not an array149 raises an error if files is an empty array150QA::Specs::ParallelRunner151 passes supported environment variables152 passes a given test path to parallel_tests and adds a separator153 passes tags and test paths with separators to parallel_tests154 passes tags and test paths to parallel_tests and adds a separator155 passes args to parallel_tests156QA::Runtime::Scenario157 replaces an existing attribute158 makes it possible to define global scenario attributes159 raises error when attribute is empty160 raises error when attribute is not known161QA::Scenario::Bootable162 makes it possible to define the scenario attribute163 does not require attributes to be defined164QA::Scenario::Test::Sanity::Selectors165 when there are errors detected166 outputs information about errors167 when there are no errors detected168 processes pages module169 triggers validation170QA::Support::Loglinking171 .logging_environment172 returns logging environment if environment found173 .failure_metadata174 when correlation_id does not exist175 returns nil when correlation_id is empty176 returns nil when correlation_id is nil177 when correlation_id exists178 and only Sentry exists for the logging environment179 returns only Sentry URL180 and only Kibana exists for the logging environment181 returns only Kibana Discover and Dashboard URLs182 and neither Sentry nor Kibana exists for the logging environment183 returns only the correlation ID184 and both Sentry and Kibana exist for the logging environment185 returns both Sentry and Kibana URLs186QA::Runtime::Namespace187 .path188 is always cached189 .name190 when CACHE_NAMESPACE_NAME is not defined191 caches name by default192 does not cache name when reset_cache is true193 when CACHE_NAMESPACE_NAME is defined194 caches name by default195 does not cache name when reset_cache is true196 caches name when reset_cache is false197QA::Support::SSH198 #git_user199 when running on CI200 returns git user201 when running against environment on a port other than 80 or 443202 returns the local user203 when running against environment on port 80 and not on CI (docker)204 returns git user205 when running on a review app in CI206 returns git user207 #setup208 behaves like providing correct ports209 when other port is specified in uri210 provides other port in ssh command211 when port 80 specified in uri212 does not provide port in ssh command213 when no port specified in uri214 does not provide port in ssh command215 when no port specified in https uri216 does not provide port in ssh command217 #reset_2fa_codes218 behaves like providing correct ports219 when other port is specified in uri220 provides other port in ssh command221 when port 80 specified in uri222 does not provide port in ssh command223 when no port specified in https uri224 does not provide port in ssh command225 when no port specified in uri226 does not provide port in ssh command227QA::Resource::Events::Project228 #wait_for_push_new_branch229[Apr 27 2023 05:51:00 UTC (QA Tests)] INFO -- - wait_for_push_new_branch with branch_name "master"230 waits for a push to the default branch if no branch is given231[Apr 27 2023 05:51:00 UTC (QA Tests)] INFO -- - wait_for_push_new_branch with branch_name "bar"232 raises an error if a push with the specified branch is not found233[Apr 27 2023 05:51:00 UTC (QA Tests)] INFO -- - wait_for_push_new_branch with branch_name "another-branch"234 waits for a push to the given branch235 #wait_for_push236[Apr 27 2023 05:51:00 UTC (QA Tests)] INFO -- - wait_for_push with commit message "foo commit"237 waits for a push with a specified commit message238[Apr 27 2023 05:51:00 UTC (QA Tests)] INFO -- - wait_for_push with commit message "bar"239[Apr 27 2023 05:51:00 UTC (QA Tests)] INFO -- Push events: [{:action_name=>"pushed", :push_data=>{:commit_title=>"foo commit"}}, {:action_name=>"pushed", :push_data=>{:ref=>"master"}}, {:action_name=>"pushed", :push_data=>{:ref=>"another-branch"}}]240 raises an error if a push with the specified commit message is not found241QA::Runtime::AllureReport242 with report generation disabled243 does not perform configuration244 with report generation enabled245 configures Allure options246 configures attachments saving247 adds rspec and metadata formatter248QA::Resource::ApiFabricator249 #api_support?250 when resource does not support fabrication via the API251 returns false252 when resource supports fabrication via the API253 returns false254 #fabricate_via_api!255 when resource does not support fabrication via the API256 raises a NotImplementedError exception257 when resource supports fabrication via the API258 when creating a resource259 populates api_resource with the resource260 returns the resource URL261 when the POST fails262 logs Sentry and Kibana URLs from staging263 raises a ResourceFabricationFailedError exception264 logs a correlation id265 #transform_api_resource266 transforms the resource267QA::Runtime::Key::ED25519268 #public_key269[Apr 27 2023 05:51:00 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t ed25519 -b 256 -f /tmp/d20230427-31-ekix3h/id_ed25519 -N `270 generates a public ED25519 key271QA::Resource::User272 #fabricate_via_api!273 fetches an existing user274 tries to create a user if it does not exist275QA::Page::View276 #pathname277 returns an absolute and clean path to the view278 .evaluate279 evaluates a block and returns a DSL object280 #errors281 when view partial has not been found282 returns an error when it is not able to find the partial283 when view partial is present284 when pattern is found285 walks through the view and asserts on elements existence286 when pattern has not been found287 returns an array of errors related to missing elements288QA::Specs::Helpers::Quarantine289 .skip_or_run_quarantined_tests_or_contexts290 with :quarantine focused291 executes quarantined tests292 ignores non-quarantined tests293 with :quarantine and non-quarantine tags focused294 ignores non-quarantined non-focused tests295 executes quarantined focused tests296 skips non-quarantined focused tests297 skips quarantined non-focused tests298 with a non-quarantine tag focused299 ignores quarantined tests300 executes non-quarantined focused tests301 ignores non-quarantined non-focused tests302 skips quarantined focused tests303 with no tag focused304 skips quarantined tests305 executes non-quarantined tests306 quarantine message307 behaves like test with quarantine message308 outputs the quarantine message309 behaves like test with quarantine message310 outputs the quarantine message311 with environment set312 multiple pipelines specified313 behaves like skipped in project314 is skipped in STAGING315 behaves like skipped in project316 is skipped in PRODUCTION317 behaves like skipped in project318 is skipped in CANARY319 no pipeline specified320 is skipped when set on contexts or descriptions321 is skipped only in staging322 with explicitly disabled quarantine323 runs quarantined test324 .skip_or_run_quarantined_contexts325 with :quarantine focused326 executes before hooks of quarantined contexts327 skips before hooks of non-quarantined contexts328 with no tag focused329 skips before hooks of quarantined contexts330 executes before hooks of non-quarantined contexts331QA::Runtime::Key::RSA332 #public_key333[Apr 27 2023 05:51:00 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t rsa -b 4096 -f /tmp/d20230427-31-925ryt/id_rsa -N `334 generates a public RSA key335QA::Support::Page::Logging336 logs fill_element337 logs within_element338 logs has_text?339 logs asset_exists?340 logs has_no_text?341 logs find_element with class342 logs scroll_to343 logs click_element344 logs finished_loading?345 logs find_element346 logs has_element? with text347 logs has_no_element? with text348 logs has_no_element?349 logs a warning if find_element is slow350 logs refresh351 logs click_element with a page352 logs has_element?353 logs find_element with wait354 logs find_element with text355 with all_elements356 logs 0 if no elements are found357 logs the number of elements found358QA::Scenario::Test::Integration::LDAPNoServer359 #perform360 behaves like a QA scenario class361 performs before hooks only once362 sets tags on runner363 responds to perform364 with RSpec options365 sets options on runner366 with named command-line options367 raises an error if the option is invalid368 converts options to attributes369 passes on options after --370QA::Service::DockerRun::GitlabRunner371 defaults to run untagged372 #tags=373 sets run_untagged374 sets the tags375 #register!376 executors377 defaults to the shell executor378 docker379 runs in privileged mode380 passes the host network381 passes privileged mode382 specifies the docker executor383 mounts the docker socket to the host runner384 does not verify TLS385 has a default image386 running tagged387 with specifying only run_untagged388 raises an error if tags are not specified389 with only tags set390 passes the tags with comma-separation391 does not pass --run-untagged392 when specifying contradicting variables393 raises an error394 running untagged395 does not pass tag list396 passes --run-untagged=true397 defaults398 sets pertinent information399 runs daemonized400 runs non-interactively401 has no tags402 runs untagged403 cleans itself up404 masks the registration token405QA::Resource::ProjectWebHook406 configures the project hook events407 adds an #event method to the smocker object that returns webhook events408Interceptor409 with Interceptor410 with caching411 checks the cache (PENDING: Only can test for chrome)412 returns false if the cache cannot be accessed (PENDING: Only can test for chrome)413 gets and sets the cache data (PENDING: Only can test for chrome)414 when intercepting415 intercepts fetch errors (PENDING: Only can test for chrome)416 intercepts xhr (PENDING: Only can test for chrome)417QA::Support::SystemLogs::Sentry418 #url419 env: :staging, expected_url: staging_url420 returns the expected URL421 env: :pre, expected_url: pre_url422 returns the expected URL423 env: nil, expected_url: nil424 returns the expected URL425 env: :staging_ref, expected_url: staging_ref_url426 returns the expected URL427 env: :foo, expected_url: nil428 returns the expected URL429 env: :production, expected_url: production_url430 returns the expected URL431QA::Support::Repeater432 .repeat_until433 when raise_on_failure is not provided (default: true)434 when retry_on_exception is not provided (default: false)435 when max_attempts is provided436 when max_attempts is reached437 ignores duration438 raises an exception with custom message439 raises an exception with default message440 when max_attempts is not reached441 returns value from block442 when max_duration is provided443 when max duration is reached444 raises an exception with default message445 ignores attempts446 raises an exception with custom message447 when max duration is not reached448 returns value from block449 when both max_attempts and max_duration are provided450 when max_attempts is reached first451 raises an exception452 when max_duration is reached first453 raises an exception454 when retry_on_exception is true455 when max duration is reached456 does not raise an exception until max_duration is reached457 raises an exception458 when max duration is not reached459 returns value from block460 when raise_on_failure is false461 when retry_on_exception is true462 when max duration is reached463 returns the value from the block464 does not raise an exception465 when retry_on_exception is not provided (default: false)466 when max duration is not reached467 raises an exception468 returns the value from the block469 when both max_attempts and max_duration are provided470 when max_attempts is reached first471 behaves like repeat until472 returns when max_attempts is reached473 when max_duration is reached first474 behaves like repeat until475 returns when max_duration is reached476 when max duration is reached477 returns the value from the block478 does not raise an exception479 with logging480 starts logging on subsequent attempts for max_duration481 allows logging to be silenced482 skips logging single attempt with max_duration483 skips logging single attempt with max_attempts484 starts logging subsequent attempts for max_attempts485QA::Scenario::Test::Instance::Airgapped486 #perform487 behaves like a QA scenario class488 responds to perform489 sets tags on runner490 performs before hooks only once491 with named command-line options492 passes on options after --493 converts options to attributes494 raises an error if the option is invalid495 with RSpec options496 sets options on runner497QA::Scenario::Test::Instance::All498 behaves like a QA scenario class499 responds to perform500 sets tags on runner501 performs before hooks only once502 with named command-line options503 raises an error if the option is invalid504 converts options to attributes505 passes on options after --506 with RSpec options507 sets options on runner508QA::Runtime::Logger509 returns logger instance510QA::Scenario::Test::Instance::Reliable511 behaves like a QA scenario class512 sets tags on runner513 responds to perform514 performs before hooks only once515 with named command-line options516 passes on options after --517 raises an error if the option is invalid518 converts options to attributes519 with RSpec options520 sets options on runner521QA::Tools::TestResourceDataProcessor522 .write_to_file523 ci: false, suite_failed: true, file_path: "root/tmp/failed-test-resources.json"524 writes applicable resources to file525 ci: true, suite_failed: false, file_path: "root/tmp/test-resources-random.json"526 writes applicable resources to file527 ci: false, suite_failed: false, file_path: "root/tmp/test-resources.json"528 writes applicable resources to file529 ci: true, suite_failed: true, file_path: "root/tmp/failed-test-resources-random.json"530 writes applicable resources to file531 .collect532 collects and stores resource533QA::Support::WaitForRequests534 .wait_for_requests535 when skip_finished_loading_check is defaulted to false536 calls finished_loading?537 when skip_resp_code_check is true538 does not parse for an error code539QA::Service::Shellout540 when masking secrets541[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Executing: `docker login -u **** -p ****`542[Apr 27 2023 05:51:01 UTC (QA Tests)] ERROR -- Command output:543logged in as **** with password ****544 masks command secrets on CommandError545[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Executing: `docker login -u **** -p ****`546 masks secrets in error logs547[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Executing: `docker login -u **** -p ****`548 masks secrets when yielding output549[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Executing: `docker pull ruby:3`550[Apr 27 2023 05:51:01 UTC (QA Tests)] ERROR -- Command output:551logged in as user with password secret552 masking secrets is optional553[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Executing: `docker login -u **** -p ****`554 masks secrets in debug logs555 masks secrets when logging the command itself556QA::Runtime::Feature557 feature_flag: "a_flag"558 .disable559[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Disabling feature: a_flag560[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Successfully disabled and verified feature flag: a_flag561 disables a feature flag562 when a feature group scope is provided563 behaves like disables a feature flag564 disables a feature flag for a scope565 when a user scope is provided566 behaves like disables a feature flag567 disables a feature flag for a scope568 when a project scope is provided569 behaves like disables a feature flag570 disables a feature flag for a scope571 when a group scope is provided572 behaves like disables a feature flag573 disables a feature flag for a scope574 .enabled?575 returns a feature flag state576 raises an error when the scope is unknown577 when a feature flag is not found via the API and there is no definition file578 raises an error579 when a project scope is provided580 behaves like checks a feature flag581 when the flag is enabled for a scope582 returns the feature flag state583 when a group scope is provided584 behaves like checks a feature flag585 when the flag is enabled for a scope586 returns the feature flag state587 when a user scope is provided588 behaves like checks a feature flag589 when the flag is enabled for a scope590 returns the feature flag state591 with definition files592 when the feature is found via the API593 returns the value from the API not the definition file594 when no features are found via the API595 with a default disabled defintion596 returns a default disabled flag597 with a default enabled defintion598 returns a default enabled flag599 when a feature group scope is provided600 behaves like checks a feature flag601 when the flag is enabled for a scope602 returns the feature flag state603 .enable604[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Enabling feature: a_flag605[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Successfully enabled and verified feature flag: a_flag606 enables a feature flag607 when a user scope is provided608 behaves like enables a feature flag609 enables a feature flag for a scope610 when a group scope is provided611 behaves like enables a feature flag612 enables a feature flag for a scope613 when a feature group scope is provided614 behaves like enables a feature flag615 enables a feature flag for a scope616 when a project scope is provided617 behaves like enables a feature flag618 enables a feature flag for a scope619 feature_flag: :a_flag620 .disable621[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Disabling feature: a_flag622[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Successfully disabled and verified feature flag: a_flag623 disables a feature flag624 when a group scope is provided625 behaves like disables a feature flag626 disables a feature flag for a scope627 when a user scope is provided628 behaves like disables a feature flag629 disables a feature flag for a scope630 when a project scope is provided631 behaves like disables a feature flag632 disables a feature flag for a scope633 when a feature group scope is provided634 behaves like disables a feature flag635 disables a feature flag for a scope636 .enabled?637 returns a feature flag state638 raises an error when the scope is unknown639 when a user scope is provided640 behaves like checks a feature flag641 when the flag is enabled for a scope642 returns the feature flag state643 with definition files644 when no features are found via the API645 with a default enabled defintion646 returns a default enabled flag647 with a default disabled defintion648 returns a default disabled flag649 when the feature is found via the API650 returns the value from the API not the definition file651 when a feature group scope is provided652 behaves like checks a feature flag653 when the flag is enabled for a scope654 returns the feature flag state655 when a group scope is provided656 behaves like checks a feature flag657 when the flag is enabled for a scope658 returns the feature flag state659 when a project scope is provided660 behaves like checks a feature flag661 when the flag is enabled for a scope662 returns the feature flag state663 when a feature flag is not found via the API and there is no definition file664 raises an error665 .enable666[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Enabling feature: a_flag667[Apr 27 2023 05:51:01 UTC (QA Tests)] INFO -- Successfully enabled and verified feature flag: a_flag668 enables a feature flag669 when a group scope is provided670 behaves like enables a feature flag671 enables a feature flag for a scope672 when a project scope is provided673 behaves like enables a feature flag674 enables a feature flag for a scope675 when a feature group scope is provided676 behaves like enables a feature flag677 enables a feature flag for a scope678 when a user scope is provided679 behaves like enables a feature flag680 enables a feature flag for a scope681 .set682 raises an error when the flag state is unknown683 enables and disables feature flags684 disables feature flags685 enables feature flags686QA::Scenario::Test::Integration::InstanceSAML687 #perform688 behaves like a QA scenario class689 responds to perform690 sets tags on runner691 performs before hooks only once692 with RSpec options693 sets options on runner694 with named command-line options695 raises an error if the option is invalid696 passes on options after --697 converts options to attributes698QA::Tools::Ci::TestMetrics699 with metrics files present700 exports saved metrics to influxdb701 without metrics files present702 exits without error703QA::Support::Retrier704 .retry_on_exception705 does not repeat if no exception is raised706 sets retry_on_exception to true707 sets max_attempts to 3 by default708 sets sleep_interval to 0.5 by default709 allows logs to be silenced710 .retry_until711 sets raise_on_failure to true by default712 sets custom error message713 allows logs to be silenced714 sets retry_on_exception to false by default715 sets sleep_interval to 0 by default716 when max_duration and max_attempts are nil717 sets max attempts to 3 by default718QA::Specs::Helpers::ContextSelector719 runs only in staging720 outputs a message for invalid environments721 staging-ref722 runs on staging-ref723 jh hk production724 runs on production725 when excluding contexts726 skips production727 jh mainland production728 runs on production729 when excluding contexts730 skips production731 when excluding contexts732 skips staging733 custom env734 runs on a custom environment735 when excluding contexts736 skips a custom environment737 .context_matches?738 returns true when url has .com739 returns false for mismatching740 returns false when url does not have .com741 with arguments742 returns true when :subdomain is set743 matches :production744 doesnt match with mismatching switches745 matches domain746 matches :production on jh side747 matches multiple subdomains748 matches multiple subdomains on jh side749 matches tld750 matches domain on jh side751 description and context blocks752 with different environment set on jh side753 does not run against production754 when excluding contexts755 runs against production756 with different environment set757 does not run against production758 when excluding contexts759 runs against production760 with environment set761 can apply to contexts or descriptions762 when excluding contexts763 can apply to contexts or descriptions764 with pipeline constraints765 when a pipeline triggered from the default branch runs in gitlab-qa766 runs on default branch pipelines767 when excluding contexts768 skips default branch pipelines769 without CI_PROJECT_NAME set770 runs on any pipeline771 when excluding contexts772 runs in any pipeline773 with CI_PROJECT_NAME set774 runs on designated pipeline775 when excluding contexts776 skips designated pipeline777 production778 runs on production779 when excluding contexts780 skips production781 with job constraints782 without CI_JOB_NAME set783 when including only specific contexts784 runs in any job785 when excluding contexts786 runs in any job787 with CI_JOB_NAME set788 when excluding contexts789 runs in jobs that do not match790 does not run in the specified job791 when including only specific contexts792 does not run in jobs that do not match793 runs only in the specified jobs794QA::Resource::Events::Base795 #events796 fetches events with a specified action type797 fetches all events when called without parameters798QA::Tools::LongRunningSpecReporter799 with specs exceeding runtime800 notifies on long running specs801 without specs exceeding runtime802 returns all good message803QA::Scenario::Test::Instance::Smoke804 behaves like a QA scenario class805 sets tags on runner806 performs before hooks only once807 responds to perform808 with named command-line options809 converts options to attributes810 passes on options after --811 raises an error if the option is invalid812 with RSpec options813 sets options on runner814QA::Git::Repository815 with default credentials816 #git_protocol=817 configures git to use protocol version 1818 configures git to use protocol version 0819 configures git to use protocol version 2820 raises an error if the version is unsupported821 #use_default_credentials822 adds credentials to .netrc823 #push_changes824 when no branch is given825 behaves like command with retries826 when command is not successful the first time827 and retried command is not successful after 3 attempts828 raises a CommandError exception829 and retried command is successful830 retries the command twice and returns the successful #run command Result output831 when command is successful832 returns the #run command Result output833 when branch is given834 behaves like command with retries835 when command is not successful the first time836 and retried command is successful837 retries the command twice and returns the successful #run command Result output838 and retried command is not successful after 3 attempts839 raises a CommandError exception840 when command is successful841 returns the #run command Result output842 with push options843 when set to remove source branch844 behaves like command with retries845 when command is not successful the first time846 and retried command is not successful after 3 attempts847 raises a CommandError exception848 and retried command is successful849 retries the command twice and returns the successful #run command Result output850 when command is successful851 returns the #run command Result output852 when target branch is given853 behaves like command with retries854 when command is not successful the first time855 and retried command is successful856 retries the command twice and returns the successful #run command Result output857 and retried command is not successful after 3 attempts858 raises a CommandError exception859 when command is successful860 returns the #run command Result output861 when two labels are given862 behaves like command with retries863 when command is not successful the first time864 and retried command is successful865 retries the command twice and returns the successful #run command Result output866 and retried command is not successful after 3 attempts867 raises a CommandError exception868 when command is successful869 returns the #run command Result output870 when a label is given871 behaves like command with retries872 when command is successful873 returns the #run command Result output874 when command is not successful the first time875 and retried command is not successful after 3 attempts876 raises a CommandError exception877 and retried command is successful878 retries the command twice and returns the successful #run command Result output879 when description is given880 behaves like command with retries881 when command is not successful the first time882 and retried command is not successful after 3 attempts883 raises a CommandError exception884 and retried command is successful885 retries the command twice and returns the successful #run command Result output886 when command is successful887 returns the #run command Result output888 when title is given889 behaves like command with retries890 when command is not successful the first time891 and retried command is successful892 retries the command twice and returns the successful #run command Result output893 and retried command is not successful after 3 attempts894 raises a CommandError exception895 when command is successful896 returns the #run command Result output897 when set to merge when pipeline succeeds898 behaves like command with retries899 when command is not successful the first time900 and retried command is successful901 retries the command twice and returns the successful #run command Result output902 and retried command is not successful after 3 attempts903 raises a CommandError exception904 when command is successful905 returns the #run command Result output906 when set to create a merge request907 behaves like command with retries908 when command is not successful the first time909 and retried command is successful910 retries the command twice and returns the successful #run command Result output911 and retried command is not successful after 3 attempts912 raises a CommandError exception913 when command is successful914 returns the #run command Result output915 #clone916 when opts is given917 behaves like command with retries918 when command is successful919 returns the #run command Result output920 when command is not successful the first time921 and retried command is successful922 retries the command twice and returns the successful #run command Result output923 and retried command is not successful after 3 attempts924 raises a CommandError exception925 when no opts is given926 behaves like command with retries927 when command is successful928 returns the #run command Result output929 when command is not successful the first time930 and retried command is successful931 retries the command twice and returns the successful #run command Result output932 and retried command is not successful after 3 attempts933 raises a CommandError exception934 #delete_tag935 behaves like command with retries936 when command is not successful the first time937 and retried command is not successful after 3 attempts938 raises a CommandError exception939 and retried command is successful940 retries the command twice and returns the successful #run command Result output941 when command is successful942 returns the #run command Result output943 #shallow_clone944 behaves like command with retries945 when command is successful946 returns the #run command Result output947 when command is not successful the first time948 and retried command is not successful after 3 attempts949 raises a CommandError exception950 and retried command is successful951 retries the command twice and returns the successful #run command Result output952 #fetch_supported_git_protocol953 reports unknown if content does not identify a version954 reports unknown if version is unknown955 reports the detected version956 behaves like command with retries957 when command is successful958 returns the #run command Result output959 when command is not successful the first time960 and retried command is not successful after 3 attempts961 raises a CommandError exception962 and retried command is successful963 retries the command twice and returns the successful #run command Result output964 with specific credentials965 #password=966 adds credentials with special characters967 raises an error if no username was given968 adds credentials to .netrc969 before setting credentials970 does not add credentials to .netrc971QA::Scenario::Template972 defaults to gitlab address from env973 does not disable a feature if already disabled974 ensures an enabled feature is disabled afterwards975 allows a feature to be enabled976 defines gitlab address from positional argument977 defines klass attribute978 allows a feature to be disabled979 ensures a disabled feature is not enabled afterwards if it was disabled earlier980 ensures a disabled feature is enabled afterwards981QA::Scenario::Test::Integration::Mattermost982 #perform983 behaves like a QA scenario class984 sets tags on runner985 responds to perform986 performs before hooks only once987 with named command-line options988 converts options to attributes989 passes on options after --990 raises an error if the option is invalid991 with RSpec options992 sets options on runner993QA::Resource::User994 #username995 generates a default username996 is possible to set the username997 #fabricate_or_use998 when signup_disabled is false, personal_access_tokens_disabled is false, calls fabricate!, does not call fabricate_via_api!999 when signup_disabled is true, personal_access_tokens_disabled is true, calls fabricate!, does not call fabricate_via_api!1000 when signup_disabled is true, personal_access_tokens_disabled is false, calls fabricate_via_api!, does not call fabricate!1001 when signup_disabled is false, personal_access_tokens_disabled is true, calls fabricate!, does not call fabricate_via_api!1002 #password1003 is possible to set the password1004 generates a default password1005 #has_user?1006 returns false when has_username returns false1007 returns true when has_username returns true1008 #public_email1009 retrieves the public_email from the api_resource if present1010 defaults to QA::Runtime::User.default_email1011 defaults to QA::Runtime::User.default_email if the public_email from the api_resource is blank1012 #name1013 defaults to a name based on the username1014 retrieves the name from the api_resource if present1015 is possible to set the name1016 #email1017 is possible to set the email1018 defaults to the <username>@example.com1019 #credentials_given?1020 returns false when username and email have not been overridden1021 returns false even after username and email have been called1022 returns false if only the username has been overridden1023 returns false if only the password has been overridden1024 returns true if both the username and password have been overridden1025QA::Page::Base1026 .view DSL for defining view partials1027 populates views objects with data about elements1028 makes it possible to define page views1029 .errors1030 when page has no views and elements defined1031 appends an error about missing views / elements block1032 when page has views and elements defined1033 iterates views composite and returns errors1034 elements1035 #visible? Page is currently visible1036 with elements1037 with element on the page1038 is visible1039 does not raise error if page has elements1040 with element not on the page1041 is not visible1042 with no elements1043 raises error if page has no required elements1044 #elements1045 returns all elements1046 #required_elements1047 returns only required elements1048 #wait_until1049 when the condition is true1050 does not refresh1051 returns true1052 when the condition is false1053 refreshes1054 returns false1055 #all_elements1056 raises an error if count or minimum are not specified1057 does not raise an error if :minimum, :maximum, :count, or :between is specified1058 page helpers1059 exposes helpful page helpers1060QA::Scenario::Test::Integration::ServicePingDisabled1061 #perform1062 behaves like a QA scenario class1063 sets tags on runner1064 performs before hooks only once1065 responds to perform1066 with RSpec options1067 sets options on runner1068 with named command-line options1069 passes on options after --1070 converts options to attributes1071 raises an error if the option is invalid1072QA::Runtime::Release1073 when release version has extension strategy1074 delegated class methods1075 delegates all calls to strategy class1076 #version1077 return either CE or EE version1078 #strategy1079 return the strategy constant1080QA::Support::Run1081 retries twice and succeeds the third time1082 raises an exception on 3rd failure1083 runs successfully1084QA::Runtime::API::Client1085 #personal_access_token1086 when user is nil and QA::Runtime::Env.personal_access_token is present1087 returns specified token from env1088 when user is nil and QA::Runtime::Env.personal_access_token is nil1089 returns a created token1090 when user is present and QA::Runtime::Env.personal_access_token is nil1091 returns a created token1092 when user is present and QA::Runtime::Env.personal_access_token is present1093 returns a created token1094 initialization1095 defaults to :gitlab address1096 uses specified address1097QA::Runtime::ApplicationSettings1098 .get_application_settings1099 gets application settings1100 .set_application_settings1101[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- Setting application settings: {:allow_local_requests_from_web_hooks_and_services=>true}1102 sets application settings1103QA::Scenario::Test::Integration::LDAPNoTLS1104 #perform1105 behaves like a QA scenario class1106 sets tags on runner1107 performs before hooks only once1108 responds to perform1109 with RSpec options1110 sets options on runner1111 with named command-line options1112 converts options to attributes1113 raises an error if the option is invalid1114 passes on options after --1115QA::Runtime::Env1116 .signup_disabled?1117 behaves like boolean method1118 behaves like boolean method with parameter1119 when there is an env variable set1120 returns true when anything else specified1121 returns false when falsey values specified1122 when there is no env variable set1123 returns the default, false1124 .running_on_dev?1125 url: "http://localhost", result: false1126 is expected to eq false1127 url: "http://localhost:3000", result: true1128 is expected to eq true1129 url: "http://gdk.test:3000", result: true1130 is expected to eq true1131 url: "https://www.gitlab.com", result: false1132 is expected to eq false1133 .canary_cookie1134 without QA_COOKIES set1135 is expected to be empty1136 with QA_COOKIES set1137 cookie_value: "gitlab_canary=true", result: {:gitlab_canary=>"true"}1138 is expected to eq {:gitlab_canary=>"true"}1139 cookie_value: "gitlab_canary=false", result: {:gitlab_canary=>"false"}1140 is expected to eq {:gitlab_canary=>"false"}1141 cookie_value: "gitlab_canary=false\\;other_cookie=value", result: {:gitlab_canary=>"false"}1142 is expected to eq {:gitlab_canary=>"false"}1143 cookie_value: "other_cookie=value\\;gitlab_canary=true", result: {:gitlab_canary=>"true"}1144 is expected to eq {:gitlab_canary=>"true"}1145 .personal_access_token=1146 saves the token1147 .webdriver_headless?1148 behaves like boolean method1149 behaves like boolean method with parameter1150 when there is an env variable set1151 returns true when anything else specified1152 returns false when falsey values specified1153 when there is no env variable set1154 returns the default, true1155 .knapsack?1156 returns false if knapsack disabled1157 returns false if not running in ci1158 returns false if not running in a parallel job1159 returns true if running in parallel CI run1160 .require_github_access_token!1161 does not raise if QA_GITHUB_ACCESS_TOKEN is defined1162 raises ArgumentError if QA_GITHUB_ACCESS_TOKEN is not defined1163 .github_access_token1164 returns "" if QA_GITHUB_ACCESS_TOKEN is not defined1165 returns stripped string if QA_GITHUB_ACCESS_TOKEN is defined1166 remote grid credentials1167 returns a user:key@ combination when all args are satiated1168 throws ArgumentError if GRID_ACCESS_KEY is not specified with USERNAME1169 is blank if username is empty1170 .remote_grid1171 is falsey if QA_REMOTE_GRID is not set1172 accepts https protocol1173 with credentials1174 has a grid of http://user:key@grid/wd/hub1175 without credentials1176 has a grid of http://grid/wd/hub1177 .remote_grid_protocol1178 defaults protocol to http1179 .running_in_ci?1180 when there is no env variable set1181 returns true1182 when there is an env variable set1183 returns true if CI_SERVER1184 returns true if CI1185 .running_on_dot_com?1186 url: "http://gdk.test:3000", result: false1187 is expected to eq false1188 url: "http://localhost", result: false1189 is expected to eq false1190 url: "http://localhost:3000", result: false1191 is expected to eq false1192 url: "https://staging.gitlab.com", result: true1193 is expected to eq true1194 url: "https://www.gitlab.com", result: true1195 is expected to eq true1196 url: "http://www.gitlab.com", result: true1197 is expected to eq true1198 .forker?1199 returns false if only forker username is defined1200 returns false if only forker password is defined1201 returns true if forker username and password are defined1202 returns false if no forker credentials are defined1203 .require_admin_access_token!1204 does not raise exception if GITLAB_QA_ADMIN_ACCESS_TOKEN is specified1205 raises ArgumentError if GITLAB_QA_ADMIN_ACCESS_TOKEN is not specified1206 .personal_access_token1207 when GITLAB_QA_ACCESS_TOKEN is set1208 returns specified token from env1209 when @personal_access_token is set1210 returns the instance variable value1211 .can_test?1212 raises ArgumentError if feature is unknown1213 behaves like boolean method with parameter1214 when there is an env variable set1215 returns false when falsey values specified1216 returns true when anything else specified1217 when there is no env variable set1218 returns the default, true1219 behaves like boolean method with parameter1220 when there is an env variable set1221 returns true when anything else specified1222 returns false when falsey values specified1223 when there is no env variable set1224 returns the default, true1225 behaves like boolean method with parameter1226 when there is an env variable set1227 returns true when anything else specified1228 returns false when falsey values specified1229 when there is no env variable set1230 returns the default, true1231QA::Support::SystemLogs::Kibana1232 #discover_url1233 behaves like returns the expected URL1234 env: :production, expected_url: production_url1235 is expected to eq "https://log.gprd.gitlab.net/app/discover#/?_a=%28index:%277092c4e2-4eb5-46f2-8305-a7da2edad090%27%2C...9&_g=%28time%3A%28from%3A%272022-11-13T00:00:00.000Z%27%2Cto%3A%272022-11-14T00:00:00.000Z%27%29%29"1236 env: :foo, expected_url: nil1237 is expected to eq nil1238 env: :pre, expected_url: pre_url1239 is expected to eq "https://nonprod-log.gitlab.net/app/discover#/?_a=%28index:%27pubsub-rails-inf-pre%27%2Cquery%3A%28la...9&_g=%28time%3A%28from%3A%272022-11-13T00:00:00.000Z%27%2Cto%3A%272022-11-14T00:00:00.000Z%27%29%29"1240 env: :staging, expected_url: staging_url1241 is expected to eq "https://nonprod-log.gitlab.net/app/discover#/?_a=%28index:%27ed942d00-5186-11ea-ad8a-f3610a492295%27...9&_g=%28time%3A%28from%3A%272022-11-13T00:00:00.000Z%27%2Cto%3A%272022-11-14T00:00:00.000Z%27%29%29"1242 env: nil, expected_url: nil1243 is expected to eq nil1244 #dashboard_url1245 behaves like returns the expected URL1246 env: :staging, expected_url: staging_url1247 is expected to eq "https://nonprod-log.gitlab.net/app/dashboards#/view/b74dc030-6f56-11ed-9af2-6131f0ee4ce6?_g=%28time%...28filters%3A%21%28%28query%3A%28match_phrase%3A%28json.correlation_id%3A%27foo123%27%29%29%29%29%29"1248 env: :production, expected_url: production_url1249 is expected to eq "https://log.gprd.gitlab.net/app/dashboards#/view/5e6d3440-7597-11ed-9f43-e3784d7fe3ca?_g=%28time%3A%...28filters%3A%21%28%28query%3A%28match_phrase%3A%28json.correlation_id%3A%27foo123%27%29%29%29%29%29"1250 env: :foo, expected_url: nil1251 is expected to eq nil1252 env: nil, expected_url: nil1253 is expected to eq nil1254 env: :pre, expected_url: pre_url1255 is expected to eq "https://nonprod-log.gitlab.net/app/dashboards#/view/15596340-7570-11ed-9af2-6131f0ee4ce6?_g=%28time%...28filters%3A%21%28%28query%3A%28match_phrase%3A%28json.correlation_id%3A%27foo123%27%29%29%29%29%29"1256QA::Specs::Helpers::FeatureFlag1257 .skip_or_run_feature_flag_tests_or_contexts1258 when run on jh production mainland1259 behaves like skips with given feature flag metadata1260 is expected to eq :pending1261 behaves like skips with given feature flag metadata1262 is expected to eq :pending1263 when no scope is defined1264 behaves like skips with given feature flag metadata1265 is expected to eq :pending1266 for only one test in the example group1267 only skips specified test and runs all others1268 when run on pre1269 for only one test in the example group1270 only skips specified test and runs all others1271 behaves like skips with given feature flag metadata1272 is expected to eq :pending1273 behaves like skips with given feature flag metadata1274 is expected to eq :pending1275 when run on production1276 behaves like skips with given feature flag metadata1277 is expected to eq :pending1278 behaves like skips with given feature flag metadata1279 is expected to eq :pending1280 when no scope is defined1281 for only one test in the example group1282 only skips specified test and runs all others1283 behaves like skips with given feature flag metadata1284 is expected to eq :pending1285 when run on staging1286 when should only run in a specific job1287 skips if test is set to only run in a job different from current CI job1288 is run for that job1289 behaves like skips with given feature flag metadata1290 is expected to eq :pending1291 behaves like runs with given feature flag metadata1292 is expected to eq :passed1293 when no scope is defined1294 is skipped if quarantine tag is also applied1295 behaves like runs with given feature flag metadata1296 is expected to eq :passed1297 when should be skipped in a specific job1298 is skipped for that job1299 when run without a gitlab address specified1300 behaves like runs with given feature flag metadata1301 is expected to eq :passed1302 behaves like runs with given feature flag metadata1303 is expected to eq :passed1304 behaves like runs with given feature flag metadata1305 is expected to eq :passed1306 when run on jh production hk1307 behaves like skips with given feature flag metadata1308 is expected to eq :pending1309 when no scope is defined1310 for only one test in the example group1311 only skips specified test and runs all others1312 behaves like skips with given feature flag metadata1313 is expected to eq :pending1314 behaves like skips with given feature flag metadata1315 is expected to eq :pending1316QA::Scenario::Actable1317 .act1318 supports passing variables1319 returns value from the last method1320 provides means to run steps1321 .perform1322 makes it possible to pass binding1323QA::Service::DockerRun::K3s1324 #host_name1325 not in CI1326 returns localhost if not running in a CI environment1327 in CI1328 returns name.network1329QA::Resource::Base1330 #visit!1331[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- Visiting MyResource at http://stub1332 calls #visit with the underlying #web_url1333[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- Visiting MyResource at http://stub1334 calls #visit with the underlying #web_url with skip_resp_code_check specified as true1335 .fabricate_via_browser_ui!1336 with debug log level1337 logs the resource and build method1338 when fabricating1339[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a MyResource #[Double "resource"] via cache in 0.0 seconds1340 instantiates the resource and calls resource method1341[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a MyResource #[Double "resource"] via cache in 0.0 seconds1342 returns fabrication resource1343 behaves like fabrication method1344[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a MyResource #[Double "resource"] via cache in 0.0 seconds1345 yields resource before calling resource method1346 .fabricate_via_api_unless_fips!1347 when personal_access_tokens_disabled returns true1348 calls .fabricate_via_browser_ui!1349 when personal_access_tokens_disabled returns false1350 calls .fabricate_via_api!!1351 .attribute1352 when the attribute is populated via a block1353[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds1354 returns value from the block1355 when the attribute has no value1356[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds1357 raises an error because no values could be found1358 when the attribute is populated via the api1359[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds1360 returns value from api1361 when the attribute is token and has a block1362[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds1363 emits a masked debug log entry1364 when the attribute also has a block1365[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds1366 returns value from api and emits an debug log entry1367 when the attribute is populated via direct assignment1368[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds1369 returns value from the assignment1370 when the api also has such response1371[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds1372 returns value from the assignment1373 when multiple resources have the same attribute name1374[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a via browser_ui in 0.0 seconds1375[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a via browser_ui in 0.0 seconds1376 has unique attribute values1377 #web_url1378[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds1379 sets #web_url to #current_url after fabrication1380 .fabricate_via_api!1381 with debug log level1382[Apr 27 2023 05:51:02 UTC (QA Tests)] WARN -- Resource fabrication http method has not been set properly, assuming :get value!1383 logs the resource and build method1384 when fabricating1385[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Retrieved a MyResource #[Double "resource"] via cache in 0.0 seconds1386 instantiates the resource, calls resource method returns the resource1387 behaves like fabrication method1388[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- ==> Retrieved a MyResource #[Double "resource"] via cache in 0.0 seconds1389 yields resource before calling resource method1390 .fabricate!1391 when resource supports fabrication via the API1392 calls .fabricate_via_api!!1393 when personal_access_tokens_disabled returns true1394 calls .fabricate_via_browser_ui!1395 when resource does not support fabrication via the API1396 calls .fabricate_via_browser_ui!1397QA::Scenario::Test::Sanity::Framework1398 behaves like a QA scenario class1399 performs before hooks only once1400 sets tags on runner1401 responds to perform1402 with named command-line options1403 passes on options after --1404 converts options to attributes1405 raises an error if the option is invalid1406 with RSpec options1407 sets options on runner1408QA::Resource::SSHKey1409 #title1410 is possible to set the title1411 generates a default title1412 #key1413[Apr 27 2023 05:51:02 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t rsa -b 4096 -f /tmp/d20230427-31-wvqqes/id_rsa -N `1414 generates a default key1415QA::Service::DockerRun::Mixins::ThirdPartyDocker1416 without environment set1417 resolving the registry returns nil1418 throws if environment is missing1419 with environment set1420 resolves the registry from the environment1421 sends a command to authenticate against the registry1422QA::Git::Location1423 .new1424 when URI starts with ssh://1425 when URI does not have port1426 parses correctly1427 when URI has port1428 parses correctly1429 when URI does not start with ssh://1430 when host does not have colons1431 parses correctly1432 when host has a colon1433 parses correctly1434QA::Tools::ReliableReport1435 with report creation1436 creates report issue1437 without report creation1438 does not create report issue1439 with failure1440 notifies failure1441QA::Tools::Ci::QaChanges1442 when GITALY_SERVER_VERSION change1443 .qa_tests do not return specific specs1444 when yarn.lock change1445 .qa_tests do not return specific specs1446 with framework changes1447 .framework_changes? return true1448 .qa_tests do not return specific specs1449 .quarantine_changes? return false1450 with non qa changes1451 .quarantine_changes? return false1452 .framework_changes? return false1453 without mr labels1454 .qa_tests do not return any specific specs1455 with mr label1456 .qa_tests return specs for devops stage1457 when configured to run tests from other stages1458 with a multiple extra stages configured for the group name1459 .qa_tests return specs for both devops stage and multiple other stages1460 with a single extra stage configured for the group name1461 .qa_tests return specs for both devops stage and create stage1462 with shared example changes1463 .qa_tests do not return specific specs1464 with spec only changes1465 .quarantine_changes? return false1466 .framework_changes? return false1467 .qa_tests return changed specs1468 with quarantine changes1469 .quarantine_changes? return true1470 when Gemfile.lock change1471 .qa_tests do not return specific specs1472 when Dockerfile.assets change1473 .qa_tests do not return specific specs1474QA::Page::Validator1475 when checking validation errors1476 when there are validation errors1477 #validate!1478 raises validation error1479 #errors1480 returns errors1481 when there are no validation errors1482 #errors1483 does not return errors1484 #validate!1485 does not raise error1486 #descendants1487 recursively returns all descendants that are page objects1488 does not return modules that aggregate page objects1489 #constants1490 returns all constants that are module children1491QA::Support::PageErrorChecker1492 .logs1493 gets driver browser logs1494 ::log_request_errors1495 removes duplicates1496 logs graphql errors if any exist1497 chops the url query string1498 returns if cache is nil1499 logs from the error cache1500 .check_page_for_error_code1501 does not call report if no 404, 500 or backtrace found1502 calls report with 404 if 404 found1503 does not call report if 500 found in project name1504 calls report with 500 if 500 found1505 calls report with 500 if GDK backtrace found1506 .report!1507 reports errors1508 reports basic message on non-chrome browser1509 does not report failure metadata on non 500 error1510 reports error message on chrome browser1511 .status_code_report1512 returns a string message containing the status code1513 .error_report_for1514 returns error report array of log messages1515 .parse_five_c_page_request_id1516 parse correlation ID1517 returns code is present1518 returns nil if not present1519 .return_chrome_errors1520 returns error message1521 returns report on multiple severe errors found1522 returns status code report on no severe errors found1523 returns report on 1 severe error found1524QA::Runtime::API::Request1525 #url1526 returns the full API request url1527 when oauth_access_token is passed in the query string1528 does not adds a private_token query string1529 #request_path1530 adds the personal access token1531 prepends the api path1532 respects query parameters1533 uses a different api version1534 adds the oauth access token1535 #mask_url1536 returns the full API request url with the token masked1537QA::Support::Formatters::AllureMetadataFormatter1538 with flaky test data1539 with skipped spec1540 skips adding flaky test data1541 with non skipped spec1542 adds flaky test data1543 with links1544 adds quarantine, failure issue and ci job links1545QA::Tools::Ci::NonEmptySuites1546 returns runnable test suites1547QA::Page::Element1548 #selector_css1549 transforms element name into QA-specific clickable css selector1550 attributes1551 element with no args1552 defaults pattern to #selector1553 is not required by default1554 element with requirement and pattern1555 has an attribute[pattern] of the passed pattern1556 has a selector of the name1557 is required1558 element with a pattern1559 is not required by default1560 has an attribute[pattern] of the pattern1561 element with requirement; no pattern1562 is required1563 has an attribute[pattern] of the selector1564 #selector1565 transforms element name into QA-specific selector1566 when pattern is an expression1567 does not match if pattern is not present1568 matches when there is a match1569 data-qa selectors1570 properly translates to a data-qa-selector1571 additional selectors1572 matches on additional data-qa properties1573 doesnt conflict with element requirement1574 translates snake_case to kebab-case1575 when pattern is a string1576 matches when there is match1577 does not match if pattern is not present1578 when pattern is not provided1579 matches when QA specific selector is present1580 does not match if QA selector is not there1581 matches when element name is specified1582QA::Support::Waiter1583 .wait_until1584 sets raise_on_failure to true by default1585 sets max_duration to 60 by default1586 sets retry_on_exception to false by default1587 sets sleep_interval to 0.1 by default1588 allows logs to be silenced1589QA::Support::Formatters::TestMetricsFormatter1590 with influxdb variables configured1591 with fabrication resources1592 exports fabrication stats data to influxdb1593 with staging sanity no admin1594 exports data to influxdb with correct run type1595 with fabrication runtimes1596 exports data to influxdb with fabrication times1597 with quarantined spec1598 exports data to influxdb with correct quarantine tag1599 with additional custom metrics1600 exports data to influxdb with additional metrics1601 with skipped spec1602 skips export1603 with staging full run1604 exports data to influxdb with correct run type1605 with smoke spec1606 exports data to influxdb with correct smoke tag1607 with reliable spec1608 exports data to influxdb with correct reliable tag1609 with product group tag1610 exports data to influxdb with correct reliable tag1611 with persisting metrics1612 saves test metrics as json files1613 with context quarantined spec1614 exports data to influxdb with correct qurantine tag1615 without influxdb variables configured1616[Apr 27 2023 05:51:02 UTC (QA Tests)] WARN -- [influxdb exporter]: Missing run_type, skipping metrics export!1617 skips export without influxdb url1618[Apr 27 2023 05:51:02 UTC (QA Tests)] WARN -- [influxdb exporter]: Missing run_type, skipping metrics export!1619 skips export without influxdb token1620Pending: (Failures listed here are expected and do not affect your suite's status)1621 1) Interceptor with Interceptor with caching checks the cache1622 # Only can test for chrome1623 # ./spec/runtime/script_extensions/interceptor_spec.rb:311624 2) Interceptor with Interceptor with caching returns false if the cache cannot be accessed1625 # Only can test for chrome1626 # ./spec/runtime/script_extensions/interceptor_spec.rb:351627 3) Interceptor with Interceptor with caching gets and sets the cache data1628 # Only can test for chrome1629 # ./spec/runtime/script_extensions/interceptor_spec.rb:411630 4) Interceptor with Interceptor when intercepting intercepts fetch errors1631 # Only can test for chrome1632 # ./spec/runtime/script_extensions/interceptor_spec.rb:511633 5) Interceptor with Interceptor when intercepting intercepts xhr1634 # Only can test for chrome1635 # ./spec/runtime/script_extensions/interceptor_spec.rb:621636Finished in 2.98 seconds (files took 1.86 seconds to load)1637759 examples, 0 failures, 5 pending1638Randomized with seed 51071640Not uploading cache qa-ruby-gems-debian-bullseye-ruby-3.0-7db4f83282f173974276a92df87972cee14c38ae-16 due to policy1642Job succeeded