qa:internal-as-if-foss
Passed Started
by
@niskhakova

Nailia Iskhakova
1Running with gitlab-runner 15.9.0~beta.115.g598a7c91 (598a7c91)2 on green-2.shared-gitlab-org.runners-manager.gitlab.com/default 8zCxmpPt, system ID: s_130a96ce9e653 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:1ccd0038e4d4f003108d594df0832eb446109c015b18db14e7be4d80f4d59203 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:8d7fbb81e2e925c0cf9e2c063cdf1dca72ff64c36bac611af8c0caef8b309aa4 ...11Running on runner-8zcxmppt-project-278964-concurrent-0 via runner-8zcxmppt-shared-gitlab-org-1680010389-e6b2682c...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: 168536, done. 18remote: Counting objects: 100% (168536/168536), done. 19remote: Compressing objects: 100% (107987/107987), done. 20remote: Total 168536 (delta 80367), reused 116592 (delta 54049), pack-reused 0 21Receiving objects: 100% (168536/168536), 132.70 MiB | 31.43 MiB/s, done.22Resolving deltas: 100% (80367/80367), done.24 * [new ref] refs/pipelines/820503977 -> refs/pipelines/82050397725Checking out da011c02 as detached HEAD (ref is refs/merge-requests/116002/merge)...26Skipping Git submodules setup27$ git remote set-url origin "${CI_REPOSITORY_URL}"29Checking cache for qa-ruby-gems-debian-bullseye-ruby-3.0-cb64bd903f4eb012a7ececfc89cb0998ad044785-16...30Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/qa-ruby-gems-debian-bullseye-ruby-3.0-cb64bd903f4eb012a7ececfc89cb0998ad044785-16 31Successfully extracted cache33Using docker image sha256:1ccd0038e4d4f003108d594df0832eb446109c015b18db14e7be4d80f4d59203 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:8d7fbb81e2e925c0cf9e2c063cdf1dca72ff64c36bac611af8c0caef8b309aa4 ...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.43$ cd qa && bundle install44Bundle complete! 36 Gemfile dependencies, 124 gems now installed.45Gems in the groups 'production' and 'development' were not installed.46Bundled gems are installed into `./vendor`47$ bundle exec rspec -O .rspec_internal48Randomized with seed 4379449QA::Resource::Events::Base50 #events51 fetches all events when called without parameters52 fetches events with a specified action type53QA::Scenario::Actable54 .act55 supports passing variables56 provides means to run steps57 returns value from the last method58 .perform59 makes it possible to pass binding60QA::Vendor::Smocker::SmockerApi61 retries until the service is ready62QA::Runtime::AllureReport63 with report generation enabled64 configures attachments saving65 adds rspec and metadata formatter66 configures Allure options67 with report generation disabled68 does not perform configuration69QA::Specs::Helpers::FeatureFlag70 .skip_or_run_feature_flag_tests_or_contexts71 when run without a gitlab address specified72 behaves like runs with given feature flag metadata73 is expected to eq :passed74 behaves like runs with given feature flag metadata75 is expected to eq :passed76 behaves like runs with given feature flag metadata77 is expected to eq :passed78 when run on jh production hk79 when no scope is defined80 behaves like skips with given feature flag metadata81 is expected to eq :pending82 for only one test in the example group83 only skips specified test and runs all others84 behaves like skips with given feature flag metadata85 is expected to eq :pending86 behaves like skips with given feature flag metadata87 is expected to eq :pending88 when run on staging89 behaves like runs with given feature flag metadata90 is expected to eq :passed91 when should only run in a specific job92 is run for that job93 skips if test is set to only run in a job different from current CI job94 when no scope is defined95 is skipped if quarantine tag is also applied96 behaves like runs with given feature flag metadata97 is expected to eq :passed98 behaves like skips with given feature flag metadata99 is expected to eq :pending100 when should be skipped in a specific job101 is skipped for that job102 when run on pre103 for only one test in the example group104 only skips specified test and runs all others105 behaves like skips with given feature flag metadata106 is expected to eq :pending107 behaves like skips with given feature flag metadata108 is expected to eq :pending109 when run on jh production mainland110 when no scope is defined111 behaves like skips with given feature flag metadata112 is expected to eq :pending113 for only one test in the example group114 only skips specified test and runs all others115 behaves like skips with given feature flag metadata116 is expected to eq :pending117 behaves like skips with given feature flag metadata118 is expected to eq :pending119 when run on production120 when no scope is defined121 for only one test in the example group122 only skips specified test and runs all others123 behaves like skips with given feature flag metadata124 is expected to eq :pending125 behaves like skips with given feature flag metadata126 is expected to eq :pending127 behaves like skips with given feature flag metadata128 is expected to eq :pending129QA::Tools::LongRunningSpecReporter130 with specs exceeding runtime131 notifies on long running specs132 without specs exceeding runtime133 returns all good message134QA::Page::Validator135 #constants136 returns all constants that are module children137 #descendants138 recursively returns all descendants that are page objects139 does not return modules that aggregate page objects140 when checking validation errors141 when there are no validation errors142 #errors143 does not return errors144 #validate!145 does not raise error146 when there are validation errors147 #errors148 returns errors149 #validate!150 raises validation error151QA::Service::Shellout152 when masking secrets153[Mar 28 2023 14:58:03 UTC (QA Tests)] INFO -- Executing: `docker login -u **** -p ****`154[Mar 28 2023 14:58:03 UTC (QA Tests)] ERROR -- Command output:155logged in as **** with password ****156 masks command secrets on CommandError157[Mar 28 2023 14:58:03 UTC (QA Tests)] INFO -- Executing: `docker login -u **** -p ****`158 masks secrets when yielding output159 masks secrets when logging the command itself160[Mar 28 2023 14:58:03 UTC (QA Tests)] INFO -- Executing: `docker login -u **** -p ****`161 masks secrets in debug logs162[Mar 28 2023 14:58:03 UTC (QA Tests)] INFO -- Executing: `docker pull ruby:3`163[Mar 28 2023 14:58:03 UTC (QA Tests)] ERROR -- Command output:164logged in as user with password secret165 masking secrets is optional166[Mar 28 2023 14:58:03 UTC (QA Tests)] INFO -- Executing: `docker login -u **** -p ****`167 masks secrets in error logs168QA::Runtime::Env169 .running_in_ci?170 when there is an env variable set171 returns true if CI172 returns true if CI_SERVER173 when there is no env variable set174 returns true175 .canary_cookie176 without QA_COOKIES set177 is expected to be empty178 with QA_COOKIES set179 cookie_value: "gitlab_canary=false", result: {:gitlab_canary=>"false"}180 is expected to eq {:gitlab_canary=>"false"}181 cookie_value: "gitlab_canary=true", result: {:gitlab_canary=>"true"}182 is expected to eq {:gitlab_canary=>"true"}183 cookie_value: "gitlab_canary=false\\;other_cookie=value", result: {:gitlab_canary=>"false"}184 is expected to eq {:gitlab_canary=>"false"}185 cookie_value: "other_cookie=value\\;gitlab_canary=true", result: {:gitlab_canary=>"true"}186 is expected to eq {:gitlab_canary=>"true"}187 .personal_access_token188 when @personal_access_token is set189 returns the instance variable value190 when GITLAB_QA_ACCESS_TOKEN is set191 returns specified token from env192 .require_github_access_token!193 raises ArgumentError if QA_GITHUB_ACCESS_TOKEN is not defined194 does not raise if QA_GITHUB_ACCESS_TOKEN is defined195 .running_on_dev?196 url: "http://gdk.test:3000", result: true197 is expected to eq true198 url: "https://www.gitlab.com", result: false199 is expected to eq false200 url: "http://localhost:3000", result: true201 is expected to eq true202 url: "http://localhost", result: false203 is expected to eq false204 .personal_access_token=205 saves the token206 .require_admin_access_token!207 does not raise exception if GITLAB_QA_ADMIN_ACCESS_TOKEN is specified208 raises ArgumentError if GITLAB_QA_ADMIN_ACCESS_TOKEN is not specified209 .github_access_token210 returns "" if QA_GITHUB_ACCESS_TOKEN is not defined211 returns stripped string if QA_GITHUB_ACCESS_TOKEN is defined212 .forker?213 returns false if only forker username is defined214 returns true if forker username and password are defined215 returns false if only forker password is defined216 returns false if no forker credentials are defined217 .webdriver_headless?218 behaves like boolean method219 behaves like boolean method with parameter220 when there is no env variable set221 returns the default, true222 when there is an env variable set223 returns true when anything else specified224 returns false when falsey values specified225 .knapsack?226 returns true if running in parallel CI run227 returns false if knapsack disabled228 returns false if not running in a parallel job229 returns false if not running in ci230 .remote_grid_protocol231 defaults protocol to http232 .can_test?233 raises ArgumentError if feature is unknown234 behaves like boolean method with parameter235 when there is an env variable set236 returns false when falsey values specified237 returns true when anything else specified238 when there is no env variable set239 returns the default, true240 behaves like boolean method with parameter241 when there is no env variable set242 returns the default, true243 when there is an env variable set244 returns true when anything else specified245 returns false when falsey values specified246 behaves like boolean method with parameter247 when there is no env variable set248 returns the default, true249 when there is an env variable set250 returns true when anything else specified251 returns false when falsey values specified252 remote grid credentials253 is blank if username is empty254 returns a user:key@ combination when all args are satiated255 throws ArgumentError if GRID_ACCESS_KEY is not specified with USERNAME256 .signup_disabled?257 behaves like boolean method258 behaves like boolean method with parameter259 when there is an env variable set260 returns true when anything else specified261 returns false when falsey values specified262 when there is no env variable set263 returns the default, false264 .remote_grid265 accepts https protocol266 is falsey if QA_REMOTE_GRID is not set267 without credentials268 has a grid of http://grid/wd/hub269 with credentials270 has a grid of http://user:key@grid/wd/hub271 .running_on_dot_com?272 url: "https://www.gitlab.com", result: true273 is expected to eq true274 url: "http://www.gitlab.com", result: true275 is expected to eq true276 url: "http://gdk.test:3000", result: false277 is expected to eq false278 url: "https://staging.gitlab.com", result: true279 is expected to eq true280 url: "http://localhost:3000", result: false281 is expected to eq false282 url: "http://localhost", result: false283 is expected to eq false284QA::Runtime::Key::RSA285 #public_key286[Mar 28 2023 14:58:03 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t rsa -b 4096 -f /tmp/d20230328-30-hu8lk0/id_rsa -N `287 generates a public RSA key288QA::Tools::ReliableReport289 without report creation290 does not create report issue291 with report creation292 creates report issue293 with failure294 notifies failure295QA::Specs::ParallelRunner296 passes tags and test paths with separators to parallel_tests297 passes supported environment variables298 passes a given test path to parallel_tests and adds a separator299 passes tags and test paths to parallel_tests and adds a separator300 passes args to parallel_tests301QA::Resource::Base302 .fabricate_via_browser_ui!303 when fabricating304[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a MyResource #[Double "resource"] via cache in 0.0 seconds305 instantiates the resource and calls resource method306[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a MyResource #[Double "resource"] via cache in 0.0 seconds307 returns fabrication resource308 behaves like fabrication method309[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a MyResource #[Double "resource"] via cache in 0.0 seconds310 yields resource before calling resource method311 with debug log level312 logs the resource and build method313 .attribute314 when multiple resources have the same attribute name315[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a via browser_ui in 0.0 seconds316[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a via browser_ui in 0.0 seconds317 has unique attribute values318 when the attribute is populated via the api319[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds320 returns value from api321 when the attribute is token and has a block322[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds323 emits a masked debug log entry324 when the attribute also has a block325[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds326 returns value from api and emits an debug log entry327 when the attribute has no value328[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds329 raises an error because no values could be found330 when the attribute is populated via direct assignment331[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds332 returns value from the assignment333 when the api also has such response334[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds335 returns value from the assignment336 when the attribute is populated via a block337[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds338 returns value from the block339 .fabricate!340 when personal_access_tokens_disabled returns true341 calls .fabricate_via_browser_ui!342 when resource supports fabrication via the API343 calls .fabricate_via_api!!344 when resource does not support fabrication via the API345 calls .fabricate_via_browser_ui!346 .fabricate_via_api!347 with debug log level348[Mar 28 2023 14:58:04 UTC (QA Tests)] WARN -- Resource fabrication http method has not been set properly, assuming :get value!349 logs the resource and build method350 when fabricating351[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Retrieved a MyResource #[Double "resource"] via cache in 0.0 seconds352 instantiates the resource, calls resource method returns the resource353 behaves like fabrication method354[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Retrieved a MyResource #[Double "resource"] via cache in 0.0 seconds355 yields resource before calling resource method356 .fabricate_via_api_unless_fips!357 when personal_access_tokens_disabled returns true358 calls .fabricate_via_browser_ui!359 when personal_access_tokens_disabled returns false360 calls .fabricate_via_api!!361 #visit!362[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- Visiting MyResource at http://stub363 calls #visit with the underlying #web_url364[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- Visiting MyResource at http://stub365 calls #visit with the underlying #web_url with skip_resp_code_check specified as true366 #web_url367[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- ==> Built a MyResource with username 'qa' via browser_ui in 0.0 seconds368 sets #web_url to #current_url after fabrication369QA::Scenario::Bootable370 makes it possible to define the scenario attribute371 does not require attributes to be defined372QA::Service::DockerRun::Base373 when authenticating374 caches the the registry375 forces authentication if the registry is cached376QA::Scenario::Test::Instance::Smoke377 behaves like a QA scenario class378 responds to perform379 sets tags on runner380 performs before hooks only once381 with RSpec options382 sets options on runner383 with named command-line options384 raises an error if the option is invalid385 passes on options after --386 converts options to attributes387QA::Runtime::Logger388 returns logger instance389QA::Service::DockerRun::K3s390 #host_name391 not in CI392 returns localhost if not running in a CI environment393 in CI394 returns name.network395QA::Support::Formatters::TestMetricsFormatter396 without influxdb variables configured397[Mar 28 2023 14:58:04 UTC (QA Tests)] WARN -- [influxdb exporter]: Missing run_type, skipping metrics export!398 skips export without influxdb url399[Mar 28 2023 14:58:04 UTC (QA Tests)] WARN -- [influxdb exporter]: Missing run_type, skipping metrics export!400 skips export without influxdb token401 with influxdb variables configured402 with fabrication runtimes403 exports data to influxdb with fabrication times404 with smoke spec405 exports data to influxdb with correct smoke tag406 with product group tag407 exports data to influxdb with correct reliable tag408 with quarantined spec409 exports data to influxdb with correct quarantine tag410 with reliable spec411 exports data to influxdb with correct reliable tag412 with additional custom metrics413 exports data to influxdb with additional metrics414 with skipped spec415 skips export416 with staging full run417 exports data to influxdb with correct run type418 with staging sanity no admin419 exports data to influxdb with correct run type420 with context quarantined spec421 exports data to influxdb with correct qurantine tag422 with fabrication resources423 exports fabrication stats data to influxdb424 with persisting metrics425 saves test metrics as json files426QA::Support::WaitForRequests427 .wait_for_requests428 when skip_finished_loading_check is defaulted to false429 calls finished_loading?430 when skip_resp_code_check is true431 does not parse for an error code432QA::Scenario::Test::Integration::ServicePingDisabled433 #perform434 behaves like a QA scenario class435 performs before hooks only once436 sets tags on runner437 responds to perform438 with RSpec options439 sets options on runner440 with named command-line options441 raises an error if the option is invalid442 converts options to attributes443 passes on options after --444QA::Resource::User445 #fabricate_via_api!446 tries to create a user if it does not exist447 fetches an existing user448QA::Support::Page::Logging449 logs find_element with text450 logs click_element with a page451 logs has_text?452 logs has_element?453 logs scroll_to454 logs find_element with class455 logs click_element456 logs fill_element457 logs has_no_element? with text458 logs find_element with wait459 logs finished_loading?460 logs within_element461 logs find_element462 logs has_no_text?463 logs refresh464 logs asset_exists?465 logs has_no_element?466 logs has_element? with text467 with all_elements468 logs 0 if no elements are found469 logs the number of elements found470QA::Resource::Events::Project471 #wait_for_push472 raises an error if a push with the specified commit message is not found473 waits for a push with a specified commit message474 #wait_for_push_new_branch475 waits for a push to the default branch if no branch is given476 waits for a push to the given branch477 raises an error if a push with the specified branch is not found478QA::Resource::SSHKey479 #title480 generates a default title481 is possible to set the title482 #key483[Mar 28 2023 14:58:04 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t rsa -b 4096 -f /tmp/d20230328-30-dkwieo/id_rsa -N `484 generates a default key485QA::Support::Loglinking486 .failure_metadata487 when correlation_id exists488 and only Kibana exists for the logging environment489 returns only Kibana Discover and Dashboard URLs490 and both Sentry and Kibana exist for the logging environment491 returns both Sentry and Kibana URLs492 and only Sentry exists for the logging environment493 returns only Sentry URL494 and neither Sentry nor Kibana exists for the logging environment495 returns only the correlation ID496 when correlation_id does not exist497 returns nil when correlation_id is empty498 returns nil when correlation_id is nil499 .logging_environment500 returns logging environment if environment found501QA::Support::Repeater502 .repeat_until503 with logging504 allows logging to be silenced505 skips logging single attempt with max_duration506 starts logging on subsequent attempts for max_duration507 skips logging single attempt with max_attempts508 starts logging subsequent attempts for max_attempts509 when raise_on_failure is not provided (default: true)510 when retry_on_exception is not provided (default: false)511 when both max_attempts and max_duration are provided512 when max_duration is reached first513 raises an exception514 when max_attempts is reached first515 raises an exception516 when max_duration is provided517 when max duration is reached518 raises an exception with custom message519 ignores attempts520 raises an exception with default message521 when max duration is not reached522 returns value from block523 when max_attempts is provided524 when max_attempts is not reached525 returns value from block526 when max_attempts is reached527 raises an exception with default message528 ignores duration529 raises an exception with custom message530 when retry_on_exception is true531 when max duration is reached532 does not raise an exception until max_duration is reached533 raises an exception534 when max duration is not reached535 returns value from block536 when raise_on_failure is false537 when retry_on_exception is true538 when max duration is reached539 does not raise an exception540 returns the value from the block541 when retry_on_exception is not provided (default: false)542 when both max_attempts and max_duration are provided543 when max_attempts is reached first544 behaves like repeat until545 returns when max_attempts is reached546 when max_duration is reached first547 behaves like repeat until548 returns when max_duration is reached549 when max duration is not reached550 raises an exception551 returns the value from the block552 when max duration is reached553 returns the value from the block554 does not raise an exception555QA::Tools::Ci::QaChanges556 with non qa changes557 .framework_changes? return false558 .quarantine_changes? return false559 without mr labels560 .qa_tests do not return any specific specs561 with mr label562 .qa_tests return specs for devops stage563 when configured to run tests from other stages564 with a multiple extra stages configured for the group name565 .qa_tests return specs for both devops stage and multiple other stages566 with a single extra stage configured for the group name567 .qa_tests return specs for both devops stage and create stage568 with shared example changes569 .qa_tests do not return specific specs570 when Dockerfile.assets change571 .qa_tests do not return specific specs572 when GITALY_SERVER_VERSION change573 .qa_tests do not return specific specs574 with spec only changes575 .framework_changes? return false576 .qa_tests return changed specs577 .quarantine_changes? return false578 with quarantine changes579 .quarantine_changes? return true580 when Gemfile.lock change581 .qa_tests do not return specific specs582 with framework changes583 .qa_tests do not return specific specs584 .framework_changes? return true585 .quarantine_changes? return false586 when yarn.lock change587 .qa_tests do not return specific specs588QA::Scenario::Test::Instance::Airgapped589 #perform590 behaves like a QA scenario class591 responds to perform592 sets tags on runner593 performs before hooks only once594 with named command-line options595 passes on options after --596 converts options to attributes597 raises an error if the option is invalid598 with RSpec options599 sets options on runner600QA::Runtime::Feature601 feature_flag: :a_flag602 .enable603[Mar 28 2023 14:58:05 UTC (QA Tests)] INFO -- Enabling feature: a_flag604[Mar 28 2023 14:58:05 UTC (QA Tests)] INFO -- Successfully enabled and verified feature flag: a_flag605 enables a feature flag606 when a project scope is provided607 behaves like enables a feature flag608 enables a feature flag for a scope609 when a feature group scope is provided610 behaves like enables a feature flag611 enables a feature flag for a scope612 when a user scope is provided613 behaves like enables a feature flag614 enables a feature flag for a scope615 when a group scope is provided616 behaves like enables a feature flag617 enables a feature flag for a scope618 .enabled?619 returns a feature flag state620 raises an error when the scope is unknown621 when a group scope is provided622 behaves like checks a feature flag623 when the flag is enabled for a scope624 returns the feature flag state625 when a user scope is provided626 behaves like checks a feature flag627 when the flag is enabled for a scope628 returns the feature flag state629 with definition files630 when the feature is found via the API631 returns the value from the API not the definition file632 when no features are found via the API633 with a default enabled defintion634 returns a default enabled flag635 with a default disabled defintion636 returns a default disabled flag637 when a feature flag is not found via the API and there is no definition file638 raises an error639 when a project scope is provided640 behaves like checks a feature flag641 when the flag is enabled for a scope642 returns the feature flag state643 when a feature group scope is provided644 behaves like checks a feature flag645 when the flag is enabled for a scope646 returns the feature flag state647 .disable648[Mar 28 2023 14:58:05 UTC (QA Tests)] INFO -- Disabling feature: a_flag649[Mar 28 2023 14:58:05 UTC (QA Tests)] INFO -- Successfully disabled and verified feature flag: a_flag650 disables a feature flag651 when a group scope is provided652 behaves like disables a feature flag653 disables a feature flag for a scope654 when a project scope is provided655 behaves like disables a feature flag656 disables a feature flag for a scope657 when a feature group scope is provided658 behaves like disables a feature flag659 disables a feature flag for a scope660 when a user scope is provided661 behaves like disables a feature flag662 disables a feature flag for a scope663 feature_flag: "a_flag"664 .disable665[Mar 28 2023 14:58:05 UTC (QA Tests)] INFO -- Disabling feature: a_flag666[Mar 28 2023 14:58:05 UTC (QA Tests)] INFO -- Successfully disabled and verified feature flag: a_flag667 disables a feature flag668 when a project scope is provided669 behaves like disables a feature flag670 disables a feature flag for a scope671 when a group scope is provided672 behaves like disables a feature flag673 disables a feature flag for a scope674 when a feature group scope is provided675 behaves like disables a feature flag676 disables a feature flag for a scope677 when a user scope is provided678 behaves like disables a feature flag679 disables a feature flag for a scope680 .enable681[Mar 28 2023 14:58:05 UTC (QA Tests)] INFO -- Enabling feature: a_flag682[Mar 28 2023 14:58:05 UTC (QA Tests)] INFO -- Successfully enabled and verified feature flag: a_flag683 enables a feature flag684 when a project scope is provided685 behaves like enables a feature flag686 enables a feature flag for a scope687 when a group scope is provided688 behaves like enables a feature flag689 enables a feature flag for a scope690 when a feature group scope is provided691 behaves like enables a feature flag692 enables a feature flag for a scope693 when a user scope is provided694 behaves like enables a feature flag695 enables a feature flag for a scope696 .enabled?697 returns a feature flag state698 raises an error when the scope is unknown699 with definition files700 when no features are found via the API701 with a default enabled defintion702 returns a default enabled flag703 with a default disabled defintion704 returns a default disabled flag705 when the feature is found via the API706 returns the value from the API not the definition file707 when a group scope is provided708 behaves like checks a feature flag709 when the flag is enabled for a scope710 returns the feature flag state711 when a user scope is provided712 behaves like checks a feature flag713 when the flag is enabled for a scope714 returns the feature flag state715 when a project scope is provided716 behaves like checks a feature flag717 when the flag is enabled for a scope718 returns the feature flag state719 when a feature group scope is provided720 behaves like checks a feature flag721 when the flag is enabled for a scope722 returns the feature flag state723 when a feature flag is not found via the API and there is no definition file724 raises an error725 .set726 disables feature flags727 enables and disables feature flags728 enables feature flags729 raises an error when the flag state is unknown730QA::Service::DockerRun::GitlabRunner731 defaults to run untagged732 #register!733 executors734 defaults to the shell executor735 docker736 passes privileged mode737 has a default image738 mounts the docker socket to the host runner739 runs in privileged mode740 specifies the docker executor741 does not verify TLS742 passes the host network743 defaults744 has no tags745 runs daemonized746 cleans itself up747 runs untagged748 masks the registration token749 sets pertinent information750 runs non-interactively751 running untagged752 passes --run-untagged=true753 does not pass tag list754 running tagged755 when specifying contradicting variables756 raises an error757 with only tags set758 does not pass --run-untagged759 passes the tags with comma-separation760 with specifying only run_untagged761 raises an error if tags are not specified762 #tags=763 sets the tags764 sets run_untagged765QA::Specs::Helpers::Quarantine766 .skip_or_run_quarantined_tests_or_contexts767 with :quarantine and non-quarantine tags focused768 ignores non-quarantined non-focused tests769 executes quarantined focused tests770 skips quarantined non-focused tests771 skips non-quarantined focused tests772 with explicitly disabled quarantine773 runs quarantined test774 with :quarantine focused775 executes quarantined tests776 ignores non-quarantined tests777 with a non-quarantine tag focused778 executes non-quarantined focused tests779 ignores non-quarantined non-focused tests780 skips quarantined focused tests781 ignores quarantined tests782 with no tag focused783 skips quarantined tests784 executes non-quarantined tests785 with environment set786 no pipeline specified787 is skipped only in staging788 is skipped when set on contexts or descriptions789 multiple pipelines specified790 behaves like skipped in project791 is skipped in STAGING792 behaves like skipped in project793 is skipped in PRODUCTION794 behaves like skipped in project795 is skipped in CANARY796 quarantine message797 behaves like test with quarantine message798 outputs the quarantine message799 behaves like test with quarantine message800 outputs the quarantine message801 .skip_or_run_quarantined_contexts802 with no tag focused803 skips before hooks of quarantined contexts804 executes before hooks of non-quarantined contexts805 with :quarantine focused806 skips before hooks of non-quarantined contexts807 executes before hooks of quarantined contexts808QA::Service::DockerRun::Mixins::ThirdPartyDocker809 with environment set810 sends a command to authenticate against the registry811 resolves the registry from the environment812 without environment set813 throws if environment is missing814 resolving the registry returns nil815QA::Tools::TestResourceDataProcessor816 .collect817 collects and stores resource818 .write_to_file819 ci: true, suite_failed: false, file_path: "root/tmp/test-resources-random.json"820 writes applicable resources to file821 ci: true, suite_failed: true, file_path: "root/tmp/failed-test-resources-random.json"822 writes applicable resources to file823 ci: false, suite_failed: false, file_path: "root/tmp/test-resources.json"824 writes applicable resources to file825 ci: false, suite_failed: true, file_path: "root/tmp/failed-test-resources.json"826 writes applicable resources to file827QA::Scenario::Test::Integration::InstanceSAML828 #perform829 behaves like a QA scenario class830 performs before hooks only once831 sets tags on runner832 responds to perform833 with RSpec options834 sets options on runner835 with named command-line options836 raises an error if the option is invalid837 passes on options after --838 converts options to attributes839QA::Scenario::Test::Sanity::Selectors840 when there are no errors detected841 triggers validation842 processes pages module843 when there are errors detected844 outputs information about errors845QA::Resource::ProjectWebHook846 adds an #event method to the smocker object that returns webhook events847 configures the project hook events848QA::Specs::Runner849 #perform850 when tags are set851 focuses on the given tags852 behaves like excludes default skipped, and geo853 excludes the default skipped and geo tags, and includes default args854 when test_metadata_only is set as an option855Saved to file: /root/tmp/test-metadata.json856 configures json formatted output to file857Saved to file: /builds/gitlab-org/gitlab/qa/tmp/test-metadata.json858 sets the `--dry-run` flag859 testable features860 when no features are supported861 behaves like one supported feature862 includes default args and excludes all unsupported tags863 when features are not specified864 behaves like excludes default skipped, and geo865 excludes the default skipped and geo tags, and includes default args866 when only admin features are supported867 behaves like one supported feature868 includes default args and excludes all unsupported tags869 when all features are supported870 behaves like excludes default skipped, and geo871 excludes the default skipped and geo tags, and includes default args872 when only git protocol 2 is supported873 behaves like one supported feature874 includes default args and excludes all unsupported tags875 when "--tag smoke" and "qa/specs/features/foo" are set as options876 focuses on the given tag and includes the path without excluding the orchestrated or transient tags877 when "qa/specs/features/foo" is set as options878 passes the given tests path and excludes the default skipped, and geo tags879 when SIGNUP_DISABLED is true880 includes default args and excludes the skip_signup_disabled tag881 when "--tag smoke" is set as options882 focuses on the given tag without excluded tags883 when count_examples_only is set as an option884 raises error when Rspec output does not match regex88522886 writes to file when examples are more than zero8870888 does not write to file when zero examples88922890 sets the `--dry-run` flag891 when --tag is specified as an option89222893 includes the option value in the file name894 when running against a Geo environment895 includes the geo tag896 when running against live environment897 includes default args and excludes the skip_live_env tag898 when tty is set899 sets the `--tty` flag900QA::Page::View901 #pathname902 returns an absolute and clean path to the view903 .evaluate904 evaluates a block and returns a DSL object905 #errors906 when view partial has not been found907 returns an error when it is not able to find the partial908 when view partial is present909 when pattern is found910 walks through the view and asserts on elements existence911 when pattern has not been found912 returns an array of errors related to missing elements913QA::Support::Run914 runs successfully915 raises an exception on 3rd failure916 retries twice and succeeds the third time917QA::Tools::Ci::TestMetrics918 without metrics files present919 exits without error920 with metrics files present921 exports saved metrics to influxdb922QA::Support::Retrier923 .retry_until924 sets sleep_interval to 0 by default925 sets custom error message926 sets raise_on_failure to true by default927 sets retry_on_exception to false by default928 allows logs to be silenced929 when max_duration and max_attempts are nil930 sets max attempts to 3 by default931 .retry_on_exception932 allows logs to be silenced933 does not repeat if no exception is raised934 sets retry_on_exception to true935 sets max_attempts to 3 by default936 sets sleep_interval to 0.5 by default937QA::Tools::Ci::NonEmptySuites938 returns runnable test suites939QA::Tools::Ci::FfChanges940 without merge request pipeline941 with empty mr diff942 doesn't return any ff options943 with merge request pipeline944 with changed feature flag945 returns inverse ff state option946 with deleted feature flag947 returns deleted ff state option948QA::Support::PageErrorChecker949 .report!950 reports errors951 reports error message on chrome browser952 reports basic message on non-chrome browser953 does not report failure metadata on non 500 error954 .parse_five_c_page_request_id955 parse correlation ID956 returns code is present957 returns nil if not present958 ::log_request_errors959 logs graphql errors if any exist960 chops the url query string961 removes duplicates962 returns if cache is nil963 logs from the error cache964 .error_report_for965 returns error report array of log messages966 .logs967 gets driver browser logs968 .check_page_for_error_code969 calls report with 500 if 500 found970 calls report with 404 if 404 found971 calls report with 500 if GDK backtrace found972 does not call report if 500 found in project name973 does not call report if no 404, 500 or backtrace found974 .status_code_report975 returns a string message containing the status code976 .return_chrome_errors977 returns error message978 returns report on multiple severe errors found979 returns report on 1 severe error found980 returns status code report on no severe errors found981QA::Runtime::ApplicationSettings982 .set_application_settings983[Mar 28 2023 14:58:05 UTC (QA Tests)] INFO -- Setting application settings: {:allow_local_requests_from_web_hooks_and_services=>true}984 sets application settings985 .get_application_settings986 gets application settings987QA::Git::Repository988 with default credentials989 #fetch_supported_git_protocol990 reports the detected version991 reports unknown if version is unknown992 reports unknown if content does not identify a version993 behaves like command with retries994 when command is not successful the first time995 and retried command is not successful after 3 attempts996 raises a CommandError exception997 and retried command is successful998 retries the command twice and returns the successful #run command Result output999 when command is successful1000 returns the #run command Result output1001 #use_default_credentials1002 adds credentials to .netrc1003 #shallow_clone1004 behaves like command with retries1005 when command is successful1006 returns the #run command Result output1007 when command is not successful the first time1008 and retried command is not successful after 3 attempts1009 raises a CommandError exception1010 and retried command is successful1011 retries the command twice and returns the successful #run command Result output1012 #clone1013 when opts is given1014 behaves like command with retries1015 when command is successful1016 returns the #run command Result output1017 when command is not successful the first time1018 and retried command is successful1019 retries the command twice and returns the successful #run command Result output1020 and retried command is not successful after 3 attempts1021 raises a CommandError exception1022 when no opts is given1023 behaves like command with retries1024 when command is successful1025 returns the #run command Result output1026 when command is not successful the first time1027 and retried command is not successful after 3 attempts1028 raises a CommandError exception1029 and retried command is successful1030 retries the command twice and returns the successful #run command Result output1031 #git_protocol=1032 configures git to use protocol version 21033 configures git to use protocol version 11034 configures git to use protocol version 01035 raises an error if the version is unsupported1036 #push_changes1037 when branch is given1038 behaves like command with retries1039 when command is successful1040 returns the #run command Result output1041 when command is not successful the first time1042 and retried command is not successful after 3 attempts1043 raises a CommandError exception1044 and retried command is successful1045 retries the command twice and returns the successful #run command Result output1046 when no branch is given1047 behaves like command with retries1048 when command is not successful the first time1049 and retried command is successful1050 retries the command twice and returns the successful #run command Result output1051 and retried command is not successful after 3 attempts1052 raises a CommandError exception1053 when command is successful1054 returns the #run command Result output1055 with push options1056 when a label is given1057 behaves like command with retries1058 when command is successful1059 returns the #run command Result output1060 when command is not successful the first time1061 and retried command is successful1062 retries the command twice and returns the successful #run command Result output1063 and retried command is not successful after 3 attempts1064 raises a CommandError exception1065 when target branch is given1066 behaves like command with retries1067 when command is not successful the first time1068 and retried command is successful1069 retries the command twice and returns the successful #run command Result output1070 and retried command is not successful after 3 attempts1071 raises a CommandError exception1072 when command is successful1073 returns the #run command Result output1074 when two labels are given1075 behaves like command with retries1076 when command is successful1077 returns the #run command Result output1078 when command is not successful the first time1079 and retried command is successful1080 retries the command twice and returns the successful #run command Result output1081 and retried command is not successful after 3 attempts1082 raises a CommandError exception1083 when set to remove source branch1084 behaves like command with retries1085 when command is not successful the first time1086 and retried command is successful1087 retries the command twice and returns the successful #run command Result output1088 and retried command is not successful after 3 attempts1089 raises a CommandError exception1090 when command is successful1091 returns the #run command Result output1092 when set to create a merge request1093 behaves like command with retries1094 when command is successful1095 returns the #run command Result output1096 when command is not successful the first time1097 and retried command is not successful after 3 attempts1098 raises a CommandError exception1099 and retried command is successful1100 retries the command twice and returns the successful #run command Result output1101 when description is given1102 behaves like command with retries1103 when command is not successful the first time1104 and retried command is successful1105 retries the command twice and returns the successful #run command Result output1106 and retried command is not successful after 3 attempts1107 raises a CommandError exception1108 when command is successful1109 returns the #run command Result output1110 when set to merge when pipeline succeeds1111 behaves like command with retries1112 when command is not successful the first time1113 and retried command is successful1114 retries the command twice and returns the successful #run command Result output1115 and retried command is not successful after 3 attempts1116 raises a CommandError exception1117 when command is successful1118 returns the #run command Result output1119 when title is given1120 behaves like command with retries1121 when command is not successful the first time1122 and retried command is not successful after 3 attempts1123 raises a CommandError exception1124 and retried command is successful1125 retries the command twice and returns the successful #run command Result output1126 when command is successful1127 returns the #run command Result output1128 #delete_tag1129 behaves like command with retries1130 when command is successful1131 returns the #run command Result output1132 when command is not successful the first time1133 and retried command is not successful after 3 attempts1134 raises a CommandError exception1135 and retried command is successful1136 retries the command twice and returns the successful #run command Result output1137 with specific credentials1138 #password=1139 raises an error if no username was given1140 adds credentials to .netrc1141 adds credentials with special characters1142 before setting credentials1143 does not add credentials to .netrc1144QA::Page::Element1145 #selector1146 transforms element name into QA-specific selector1147 when pattern is an expression1148 matches when there is a match1149 does not match if pattern is not present1150 when pattern is not provided1151 matches when QA specific selector is present1152 does not match if QA selector is not there1153 matches when element name is specified1154 when pattern is a string1155 does not match if pattern is not present1156 matches when there is match1157 #selector_css1158 transforms element name into QA-specific clickable css selector1159 attributes1160 element with no args1161 defaults pattern to #selector1162 is not required by default1163 element with a pattern1164 has an attribute[pattern] of the pattern1165 is not required by default1166 element with requirement and pattern1167 has a selector of the name1168 is required1169 has an attribute[pattern] of the passed pattern1170 element with requirement; no pattern1171 is required1172 has an attribute[pattern] of the selector1173 data-qa selectors1174 properly translates to a data-qa-selector1175 additional selectors1176 doesnt conflict with element requirement1177 translates snake_case to kebab-case1178 matches on additional data-qa properties1179QA::Resource::ApiFabricator1180 #fabricate_via_api!1181 when resource supports fabrication via the API1182 when creating a resource1183 returns the resource URL1184 populates api_resource with the resource1185 when the POST fails1186 raises a ResourceFabricationFailedError exception1187 logs Sentry and Kibana URLs from staging1188 logs a correlation id1189 #transform_api_resource1190 transforms the resource1191 when resource does not support fabrication via the API1192 raises a NotImplementedError exception1193 #api_support?1194 when resource supports fabrication via the API1195 returns false1196 when resource does not support fabrication via the API1197 returns false1198QA::Support::SystemLogs::Kibana1199 #discover_url1200 behaves like returns the expected URL1201 env: :staging, expected_url: staging_url1202 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"1203 env: nil, expected_url: nil1204 is expected to eq nil1205 env: :foo, expected_url: nil1206 is expected to eq nil1207 env: :production, expected_url: production_url1208 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"1209 env: :pre, expected_url: pre_url1210 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"1211 #dashboard_url1212 behaves like returns the expected URL1213 env: nil, expected_url: nil1214 is expected to eq nil1215 env: :pre, expected_url: pre_url1216 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"1217 env: :production, expected_url: production_url1218 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"1219 env: :foo, expected_url: nil1220 is expected to eq nil1221 env: :staging, expected_url: staging_url1222 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"1223QA::Support::SSH1224 #setup1225 behaves like providing correct ports1226 when no port specified in https uri1227 does not provide port in ssh command1228 when no port specified in uri1229 does not provide port in ssh command1230 when port 80 specified in uri1231 does not provide port in ssh command1232 when other port is specified in uri1233 provides other port in ssh command1234 #reset_2fa_codes1235 behaves like providing correct ports1236 when no port specified in uri1237 does not provide port in ssh command1238 when other port is specified in uri1239 provides other port in ssh command1240 when port 80 specified in uri1241 does not provide port in ssh command1242 when no port specified in https uri1243 does not provide port in ssh command1244 #git_user1245 when running against environment on a port other than 80 or 4431246 returns the local user1247 when running on CI1248 returns git user1249 when running on a review app in CI1250 returns git user1251 when running against environment on port 80 and not on CI (docker)1252 returns git user1253QA::Runtime::API::Client1254 #personal_access_token1255 when user is nil and QA::Runtime::Env.personal_access_token is nil1256 returns a created token1257 when user is present and QA::Runtime::Env.personal_access_token is present1258 returns a created token1259 when user is nil and QA::Runtime::Env.personal_access_token is present1260 returns specified token from env1261 when user is present and QA::Runtime::Env.personal_access_token is nil1262 returns a created token1263 initialization1264 uses specified address1265 defaults to :gitlab address1266QA::Runtime::Key::ECDSA1267 #public_key1268[Mar 28 2023 14:58:06 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t ecdsa -b 521 -f /tmp/d20230328-30-nqm4fd/id_ecdsa -N `1269 generates a public 521-bits ECDSA key1270[Mar 28 2023 14:58:06 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t ecdsa -b 256 -f /tmp/d20230328-30-zg9t5t/id_ecdsa -N `1271 generates a public 256-bits ECDSA key1272[Mar 28 2023 14:58:06 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t ecdsa -b 384 -f /tmp/d20230328-30-vh7dcy/id_ecdsa -N `1273 generates a public 384-bits ECDSA key1274 #new1275[Mar 28 2023 14:58:06 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t ecdsa -b 123 -f /tmp/d20230328-30-a5x8bl/id_ecdsa -N `1276[Mar 28 2023 14:58:06 UTC (QA Tests)] ERROR -- Command output:1277Invalid ECDSA key length: valid lengths are 256, 384 or 521 bits1278 does not support arbitrary bits1279QA::Scenario::Test::Integration::LDAPNoServer1280 #perform1281 behaves like a QA scenario class1282 performs before hooks only once1283 responds to perform1284 sets tags on runner1285 with named command-line options1286 passes on options after --1287 raises an error if the option is invalid1288 converts options to attributes1289 with RSpec options1290 sets options on runner1291QA::Scenario::Test::Integration::LDAPTLS1292 #perform1293 behaves like a QA scenario class1294 performs before hooks only once1295 responds to perform1296 sets tags on runner1297 with named command-line options1298 converts options to attributes1299 raises an error if the option is invalid1300 passes on options after --1301 with RSpec options1302 sets options on runner1303QA::Support::Formatters::AllureMetadataFormatter1304 with links1305 adds quarantine, failure issue and ci job links1306 with flaky test data1307 with skipped spec1308 skips adding flaky test data1309 with non skipped spec1310 adds flaky test data1311QA::Runtime::Release1312 when release version has extension strategy1313 #version1314 return either CE or EE version1315 delegated class methods1316 delegates all calls to strategy class1317 #strategy1318 return the strategy constant1319QA::Scenario::Test::Sanity::Framework1320 behaves like a QA scenario class1321 performs before hooks only once1322 sets tags on runner1323 responds to perform1324 with RSpec options1325 sets options on runner1326 with named command-line options1327 passes on options after --1328 converts options to attributes1329 raises an error if the option is invalid1330QA::Scenario::Test::Integration::LDAPNoTLS1331 #perform1332 behaves like a QA scenario class1333 sets tags on runner1334 responds to perform1335 performs before hooks only once1336 with RSpec options1337 sets options on runner1338 with named command-line options1339 passes on options after --1340 converts options to attributes1341 raises an error if the option is invalid1342QA::Resource::User1343 #username1344 is possible to set the username1345 generates a default username1346 #public_email1347 defaults to QA::Runtime::User.default_email1348 defaults to QA::Runtime::User.default_email if the public_email from the api_resource is blank1349 retrieves the public_email from the api_resource if present1350 #name1351 retrieves the name from the api_resource if present1352 is possible to set the name1353 defaults to a name based on the username1354 #email1355 is possible to set the email1356 defaults to the <username>@example.com1357 #credentials_given?1358 returns true if both the username and password have been overridden1359 returns false if only the password has been overridden1360 returns false if only the username has been overridden1361 returns false even after username and email have been called1362 returns false when username and email have not been overridden1363 #password1364 is possible to set the password1365 generates a default password1366 #fabricate_or_use1367 when signup_disabled is false, personal_access_tokens_disabled is true, calls fabricate!, does not call fabricate_via_api!1368 when signup_disabled is true, personal_access_tokens_disabled is false, calls fabricate_via_api!, does not call fabricate!1369 when signup_disabled is false, personal_access_tokens_disabled is false, calls fabricate!, does not call fabricate_via_api!1370 when signup_disabled is true, personal_access_tokens_disabled is true, calls fabricate!, does not call fabricate_via_api!1371 #has_user?1372 returns true when has_username returns true1373 returns false when has_username returns false1374QA::Runtime::Scenario1375 replaces an existing attribute1376 raises error when attribute is empty1377 raises error when attribute is not known1378 makes it possible to define global scenario attributes1379QA::Runtime::API::Request1380 #request_path1381 adds the oauth access token1382 prepends the api path1383 adds the personal access token1384 uses a different api version1385 respects query parameters1386 #mask_url1387 returns the full API request url with the token masked1388 #url1389 returns the full API request url1390 when oauth_access_token is passed in the query string1391 does not adds a private_token query string1392QA::Scenario::Test::Instance::Reliable1393 behaves like a QA scenario class1394 sets tags on runner1395 responds to perform1396 performs before hooks only once1397 with RSpec options1398 sets options on runner1399 with named command-line options1400 raises an error if the option is invalid1401 converts options to attributes1402 passes on options after --1403QA::Scenario::Template1404 ensures a disabled feature is not enabled afterwards if it was disabled earlier1405 defines klass attribute1406 does not disable a feature if already disabled1407 ensures a disabled feature is enabled afterwards1408 defines gitlab address from positional argument1409 ensures an enabled feature is disabled afterwards1410 allows a feature to be enabled1411 defaults to gitlab address from env1412 allows a feature to be disabled1413QA::Specs::Helpers::ContextSelector1414 outputs a message for invalid environments1415 runs only in staging1416 with pipeline constraints1417 when a pipeline triggered from the default branch runs in gitlab-qa1418 runs on default branch pipelines1419 when excluding contexts1420 skips default branch pipelines1421 with CI_PROJECT_NAME set1422 runs on designated pipeline1423 when excluding contexts1424 skips designated pipeline1425 without CI_PROJECT_NAME set1426 runs on any pipeline1427 when excluding contexts1428 runs in any pipeline1429 production1430 runs on production1431 when excluding contexts1432 skips production1433 custom env1434 runs on a custom environment1435 when excluding contexts1436 skips a custom environment1437 jh hk production1438 runs on production1439 when excluding contexts1440 skips production1441 staging-ref1442 runs on staging-ref1443 .context_matches?1444 returns false for mismatching1445 returns true when url has .com1446 returns false when url does not have .com1447 with arguments1448 matches :production on jh side1449 matches domain1450 matches multiple subdomains1451 matches tld1452 doesnt match with mismatching switches1453 matches multiple subdomains on jh side1454 matches :production1455 matches domain on jh side1456 returns true when :subdomain is set1457 with job constraints1458 without CI_JOB_NAME set1459 when including only specific contexts1460 runs in any job1461 when excluding contexts1462 runs in any job1463 with CI_JOB_NAME set1464 when including only specific contexts1465 runs only in the specified jobs1466 does not run in jobs that do not match1467 when excluding contexts1468 runs in jobs that do not match1469 does not run in the specified job1470 when excluding contexts1471 skips staging1472 jh mainland production1473 runs on production1474 when excluding contexts1475 skips production1476 description and context blocks1477 with environment set1478 can apply to contexts or descriptions1479 when excluding contexts1480 can apply to contexts or descriptions1481 with different environment set on jh side1482 does not run against production1483 when excluding contexts1484 runs against production1485 with different environment set1486 does not run against production1487 when excluding contexts1488 runs against production1489QA::Resource::Repository::Push1490 .files=1491 does not raise if files is an array of hashes with :name and :content keys1492 raises an error if files is not an array1493 raises an error if files is an empty array1494 raises an error if files is not an array of hashes with :name and :content keys1495QA::Page::Base1496 page helpers1497 exposes helpful page helpers1498 .view DSL for defining view partials1499 makes it possible to define page views1500 populates views objects with data about elements1501 elements1502 #required_elements1503 returns only required elements1504 #visible? Page is currently visible1505 with elements1506 with element not on the page1507 is not visible1508 with element on the page1509 does not raise error if page has elements1510 is visible1511 with no elements1512 raises error if page has no required elements1513 #elements1514 returns all elements1515 #all_elements1516 raises an error if count or minimum are not specified1517 does not raise an error if :minimum, :maximum, :count, or :between is specified1518 #wait_until1519 when the condition is true1520 does not refresh1521 returns true1522 when the condition is false1523 refreshes1524 returns false1525 .errors1526 when page has no views and elements defined1527 appends an error about missing views / elements block1528 when page has views and elements defined1529 iterates views composite and returns errors1530QA::Scenario::Test::Integration::Mattermost1531 #perform1532 behaves like a QA scenario class1533 responds to perform1534 performs before hooks only once1535 sets tags on runner1536 with RSpec options1537 sets options on runner1538 with named command-line options1539 passes on options after --1540 converts options to attributes1541 raises an error if the option is invalid1542QA::Runtime::Key::ED255191543 #public_key1544[Mar 28 2023 14:58:06 UTC (QA Tests)] INFO -- Executing: `ssh-keygen -t ed25519 -b 256 -f /tmp/d20230328-30-p39sa4/id_ed25519 -N `1545 generates a public ED25519 key1546QA::Runtime::Namespace1547 .path1548 is always cached1549 .name1550 when CACHE_NAMESPACE_NAME is defined1551 caches name by default1552 does not cache name when reset_cache is true1553 caches name when reset_cache is false1554 when CACHE_NAMESPACE_NAME is not defined1555 caches name by default1556 does not cache name when reset_cache is true1557QA::Scenario::Test::Instance::All1558 behaves like a QA scenario class1559 sets tags on runner1560 performs before hooks only once1561 responds to perform1562 with RSpec options1563 sets options on runner1564 with named command-line options1565 passes on options after --1566 converts options to attributes1567 raises an error if the option is invalid1568QA::Support::SystemLogs::Sentry1569 #url1570 env: nil, expected_url: nil1571 returns the expected URL1572 env: :foo, expected_url: nil1573 returns the expected URL1574 env: :pre, expected_url: pre_url1575 returns the expected URL1576 env: :staging, expected_url: staging_url1577 returns the expected URL1578 env: :production, expected_url: production_url1579 returns the expected URL1580 env: :staging_ref, expected_url: staging_ref_url1581 returns the expected URL1582QA::Git::Location1583 .new1584 when URI starts with ssh://1585 when URI does not have port1586 parses correctly1587 when URI has port1588 parses correctly1589 when URI does not start with ssh://1590 when host has a colon1591 parses correctly1592 when host does not have colons1593 parses correctly1594QA::Support::Waiter1595 .wait_until1596 sets max_duration to 60 by default1597 allows logs to be silenced1598 sets raise_on_failure to true by default1599 sets sleep_interval to 0.1 by default1600 sets retry_on_exception to false by default1601Interceptor1602 with Interceptor1603 with caching1604 checks the cache (PENDING: Only can test for chrome)1605 returns false if the cache cannot be accessed (PENDING: Only can test for chrome)1606 gets and sets the cache data (PENDING: Only can test for chrome)1607 when intercepting1608 intercepts fetch errors (PENDING: Only can test for chrome)1609 intercepts xhr (PENDING: Only can test for chrome)1610Pending: (Failures listed here are expected and do not affect your suite's status)1611 1) Interceptor with Interceptor with caching checks the cache1612 # Only can test for chrome1613 # ./spec/runtime/script_extensions/interceptor_spec.rb:311614 2) Interceptor with Interceptor with caching returns false if the cache cannot be accessed1615 # Only can test for chrome1616 # ./spec/runtime/script_extensions/interceptor_spec.rb:351617 3) Interceptor with Interceptor with caching gets and sets the cache data1618 # Only can test for chrome1619 # ./spec/runtime/script_extensions/interceptor_spec.rb:411620 4) Interceptor with Interceptor when intercepting intercepts fetch errors1621 # Only can test for chrome1622 # ./spec/runtime/script_extensions/interceptor_spec.rb:511623 5) Interceptor with Interceptor when intercepting intercepts xhr1624 # Only can test for chrome1625 # ./spec/runtime/script_extensions/interceptor_spec.rb:621626Finished in 3.36 seconds (files took 1.96 seconds to load)1627758 examples, 0 failures, 5 pending1628Randomized with seed 437941630Not uploading cache qa-ruby-gems-debian-bullseye-ruby-3.0-cb64bd903f4eb012a7ececfc89cb0998ad044785-16 due to policy1632Job succeeded