[0KRunning with gitlab-runner 16.8.0~beta.67.gb5664e8e (b5664e8e)[0;m [0K on blue-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 1zzGUpzq, system ID: s_fc31da7ae46e[0;m [0K feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_IMPROVED_URL_MASKING:true[0;m section_start:1708470991:resolve_secrets [0K[0K[36;1mResolving secrets[0;m[0;m section_end:1708470991:resolve_secrets [0Ksection_start:1708470991:prepare_executor [0K[0K[36;1mPreparing the "docker+machine" executor[0;m[0;m [0KUsing Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-120-yarn-1.22-graphicsmagick-1.3.36 ...[0;m [0KStarting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...[0;m [0KAuthenticating with credentials from job payload (GitLab Registry)[0;m [0KPulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...[0;m [0KUsing docker image sha256:82f132c22567f8ce17cc132c14b2f9aa3eaf9bb5424d91c2d966912433f0257d for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:c55e1364ee4327b244a9cfa1750f19feea14fc774eaf792b725967d146eb45f5 ...[0;m [0;33mWARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.[0;m [0;33mWARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.[0;m [0KStarting service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...[0;m [0KAuthenticating with credentials from job payload (GitLab Registry)[0;m [0KPulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...[0;m [0KUsing docker image sha256:5c5ba5b83d6c60cb0b225bd670b7a43be8c238cc72347d24af57e5027c3648f3 for registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:46aceab84c42d0e819c8e7940f2f98ce9e184785cd7b22d95872024a35f52407 ...[0;m [0KStarting service redis:6.2-alpine ...[0;m [0KPulling docker image redis:6.2-alpine ...[0;m [0KUsing docker image sha256:b6c412dc298714b5c26feca1330d8f743b48caf0b1feeadfd554d7d446f985a5 for redis:6.2-alpine with digest redis@sha256:51d6c56749a4243096327e3fb964a48ed92254357108449cb6e23999c37773c5 ...[0;m [0KWaiting for services to be up and running (timeout 30 seconds)...[0;m [0KAuthenticating with credentials from job payload (GitLab Registry)[0;m [0KPulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-120-yarn-1.22-graphicsmagick-1.3.36 ...[0;m [0KUsing docker image sha256:0704d2ebff510f3d6f608cd8e9064640a9dd041c4e3ac1e1ff2afb5fe22850bc for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-120-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14@sha256:bbf2c8a67a31469f488a4541826628901b6eb5c0a4d68147919aca0b98107df6 ...[0;m section_end:1708470998:prepare_executor [0Ksection_start:1708470998:prepare_script [0K[0K[36;1mPreparing environment[0;m[0;m Running on runner-1zzgupzq-project-278964-concurrent-0 via runner-1zzgupzq-private-1708461764-8822d0fe... section_end:1708470998:prepare_script [0Ksection_start:1708470998:get_sources [0K[0K[36;1mGetting source from Git repository[0;m[0;m [32;1mSkipping Git repository setup[0;m [32;1mSkipping Git checkout[0;m [32;1mSkipping Git submodules setup[0;m section_end:1708470999:get_sources [0Ksection_start:1708470999:restore_cache [0K[0K[36;1mRestoring cache[0;m[0;m [32;1mChecking cache for ruby-gems-debian-bookworm-ruby-3.1-16...[0;m cache.zip is up to date [0;m [32;1mSuccessfully extracted cache[0;m section_end:1708471013:restore_cache [0Ksection_start:1708471013:download_artifacts [0K[0K[36;1mDownloading artifacts[0;m[0;m [32;1mDownloading artifacts for clone-gitlab-repo (6218670526)...[0;m Downloading artifacts from coordinator... ok [0;m host[0;m=storage.googleapis.com id[0;m=6218670526 responseStatus[0;m=200 OK token[0;m=glcbt-65 [0;33mWARNING: Part of .git directory is on the list of files to extract[0;m [0;33mWARNING: This may introduce unexpected problems [0;m [32;1mDownloading artifacts for compile-test-assets (6218670555)...[0;m Downloading artifacts from coordinator... ok [0;m host[0;m=storage.googleapis.com id[0;m=6218670555 responseStatus[0;m=200 OK token[0;m=glcbt-65 [32;1mDownloading artifacts for retrieve-tests-metadata (6218670576)...[0;m Downloading artifacts from coordinator... ok [0;m host[0;m=storage.googleapis.com id[0;m=6218670576 responseStatus[0;m=200 OK token[0;m=glcbt-65 [32;1mDownloading artifacts for setup-test-env (6218670568)...[0;m Downloading artifacts from coordinator... ok [0;m host[0;m=storage.googleapis.com id[0;m=6218670568 responseStatus[0;m=200 OK token[0;m=glcbt-65 section_end:1708471047:download_artifacts [0Ksection_start:1708471047:step_script [0K[0K[36;1mExecuting "step_script" stage of the job script[0;m[0;m [0KUsing docker image sha256:0704d2ebff510f3d6f608cd8e9064640a9dd041c4e3ac1e1ff2afb5fe22850bc for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-120-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bookworm-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14@sha256:bbf2c8a67a31469f488a4541826628901b6eb5c0a4d68147919aca0b98107df6 ...[0;m [32;1m$ echo $FOSS_ONLY[0;m [32;1m$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb[0;m [32;1m$ export GOPATH=$CI_PROJECT_DIR/.go[0;m [32;1m$ mkdir -p $GOPATH[0;m [32;1m$ source scripts/utils.sh[0;m [32;1m$ source scripts/prepare_build.sh[0;m section_start:1708471047:bundle-install[collapsed=true] [0KInstalling gems 3.4.4 Bundler version 2.4.4 Successfully installed bundler-2.4.11 1 gem installed production:development Settings are listed in order of priority. The top value will be used. clean Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): true frozen Set via BUNDLE_FROZEN: true install_flags Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3" path Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): "/builds/gitlab-org/gitlab/vendor" without Set via BUNDLE_WITHOUT: [:production, :development] [0;32m$ bundle install --jobs=$(nproc) --retry=3 [0mDon't run Bundler as root. Installing your bundle as root will break this application for all non-root users on this machine. Patching bundler with bundler-checksum... Using rake 13.0.6 Using rexml 3.2.6 Using CFPropertyList 3.0.5 Using RedCloth 4.3.3 Using faraday-em_http 1.0.0 Using faraday-em_synchrony 1.0.0 Using faraday-excon 1.1.0 Using faraday-httpclient 1.0.1 Using multipart-post 2.2.3 Using faraday-multipart 1.0.4 Using faraday-net_http 1.0.1 Using faraday-net_http_persistent 1.2.0 Using faraday-patron 1.0.0 Using faraday-rack 1.0.0 Using faraday-retry 1.0.3 Using ruby2_keywords 0.0.5 Using faraday 1.10.0 Using acme-client 2.0.11 Using concurrent-ruby 1.2.2 Using i18n 1.14.1 Using minitest 5.11.3 Using tzinfo 2.0.6 Using activesupport 7.0.8 Using builder 3.2.4 Using erubi 1.12.0 Using racc 1.6.2 Using nokogiri 1.16.0 (x86_64-linux) Using rails-dom-testing 2.0.3 Using crass 1.0.6 Using loofah 2.22.0 Using rails-html-sanitizer 1.6.0 Using actionview 7.0.8 Using rack 2.2.8 Using rack-test 2.1.0 Using actionpack 7.0.8 Using nio4r 2.7.0 Using websocket-extensions 0.1.5 Using websocket-driver 0.7.6 Using actioncable 7.0.8 Using globalid 1.1.0 Using activejob 7.0.8 Using activemodel 7.0.8 Using activerecord 7.0.8 Using marcel 1.0.2 Using mini_mime 1.1.2 Using activestorage 7.0.8 Using date 3.3.3 Using timeout 0.3.2 Using net-protocol 0.1.3 Using net-imap 0.3.4 Using net-pop 0.1.2 Using net-smtp 0.3.3 Using mail 2.8.1 Using actionmailbox 7.0.8 Using actionmailer 7.0.8 Using actiontext 7.0.8 Using pg 1.5.4 Using activerecord-explain-analyze 0.1.0 Using activerecord-gitlab 0.2.0 from source at `gems/activerecord-gitlab` Using acts-as-taggable-on 10.0.0 Using public_suffix 5.0.0 Using addressable 2.8.1 Using aes_key_wrap 1.1.0 Using akismet 3.0.0 Using http-accept 1.7.0 Using unf_ext 0.0.8.2 Using unf 0.1.4 Using domain_name 0.5.20190701 Using http-cookie 1.0.5 Using mime-types-data 3.2023.1003 Using mime-types 3.5.1 Using netrc 0.11.0 Using rest-client 2.1.0 Using aliyun-sdk 0.8.0 Using sexp_processor 4.17.1 Using ruby_parser 3.21.0 Using protocol 2.0.0 Using mize 0.4.1 Using sync 0.5.0 Using tins 1.31.1 Using amatch 0.4.1 Using android_key_attestation 0.3.0 Using graphql 2.2.5 Using apollo_upload_server 2.1.5 Using jwt 2.5.0 Using app_store_connect 0.29.0 Using arr-pm 0.0.12 Using asciidoctor 2.0.18 Using asciidoctor-include-ext 0.4.0 Using asciidoctor-kroki 0.8.0 Using asciidoctor-plantuml 0.0.16 Using ast 2.4.2 Using atlassian-jwt 0.2.1 Using encryptor 3.0.0 Using attr_encrypted 3.2.4 from source at `vendor/gems/attr_encrypted` Using attr_required 1.0.1 Using execjs 2.8.1 Using autoprefixer-rails 10.2.5.1 Using awesome_print 1.9.2 Using awrence 1.2.1 Using aws-eventstream 1.3.0 Using aws-partitions 1.877.0 Using aws-sigv4 1.8.0 Using base64 0.2.0 Using jmespath 1.6.2 Using aws-sdk-core 3.191.2 Using aws-sdk-cloudformation 1.41.0 Using aws-sdk-kms 1.76.0 Using aws-sdk-s3 1.143.0 Using dumb_delegator 1.0.0 Using thread_safe 0.3.6 Using descendants_tracker 0.0.4 Using ice_nine 0.11.2 Using axiom-types 0.1.1 Using coercible 1.0.0 Using virtus 2.0.0 Using axe-core-api 4.8.0 Using axe-core-rspec 4.8.0 Using faraday_middleware 1.2.0 Using connection_pool 2.4.1 Using net-http-persistent 4.0.1 Using azure-storage-common 2.0.4 Using azure-storage-blob 2.0.3 Using babosa 2.0.0 Using base32 0.3.2 Using batch-loader 2.0.1 Using bcrypt 3.1.18 Using benchmark-ips 2.11.0 Using benchmark-malloc 0.2.0 Using memory_profiler 1.0.1 Using benchmark-memory 0.2.0 Using benchmark-perf 0.6.0 Using benchmark-trend 0.4.0 Using bindata 2.4.11 Using debug_inspector 1.1.0 Using binding_of_caller 1.0.0 Using msgpack 1.5.4 Using bootsnap 1.18.3 Using browser 5.3.1 Using uniform_notifier 1.16.0 Using bullet 7.1.2 Using bundler 2.4.11 Using thor 1.3.0 Using bundler-audit 0.9.1 Using bundler-checksum 0.1.0 from source at `vendor/gems/bundler-checksum` and installing its executables Using byebug 11.1.3 Using matrix 0.4.2 Using regexp_parser 2.6.0 Using xpath 3.2.0 Using capybara 3.40.0 Using launchy 2.5.0 Using capybara-screenshot 1.0.26 Using ssrf_filter 1.0.8 Using carrierwave 1.3.4 Using cbor 0.5.9.6 Using character_set 1.8.0 Using charlock_holmes 0.7.7 Using chef-utils 18.3.0 Using fuzzyurl 0.9.0 Using tomlrb 1.3.0 Using mixlib-config 3.0.27 Using mixlib-shellout 3.2.7 Using chef-config 18.3.0 Using chunky_png 1.4.0 Using circuitbox 2.0.0 Using citrus 3.0.2 Using claide 1.1.0 Using colored2 3.1.2 Using cork 0.3.0 Using nap 1.1.0 Using open4 1.3.4 Using claide-plugins 0.9.2 Using json 2.6.3 Using click_house-client 0.1.0 from source at `gems/click_house-client` Using google-protobuf 3.25.3 (x86_64-linux) Using googleapis-common-protos-types 1.5.0 Using grpc 1.60.0 (x86_64-linux) Using googleapis-common-protos 1.4.0 Using multi_json 1.14.1 Using os 1.1.4 Using signet 0.18.0 Using googleauth 1.8.1 Using gapic-common 0.20.0 Using google-cloud-errors 1.3.0 Using google-cloud-profiler-v2 0.4.0 Using stackprof 0.2.25 Using cloud_profiler_agent 0.0.1.pre from source at `vendor/gems/cloud_profiler_agent` Using coderay 1.1.3 Using commonmarker 0.23.10 Using openssl 3.1.0 Using openssl-signature_algorithm 1.3.0 Using cose 1.3.0 Using i18n_data 0.13.1 Using sixarm_ruby_unaccent 1.2.0 Using countries 4.0.1 Using safe_yaml 1.0.4 Using crack 0.4.3 Using creole 0.5.0 Using rchardet 1.8.0 Using git 1.18.0 Using crystalball 0.7.0 Using css_parser 1.14.0 Using method_source 1.0.0 Using zeitwerk 2.6.7 Using railties 7.0.8 Using cssbundling-rails 1.3.3 Using csv_builder 0.1.0 from source at `gems/csv_builder` Using cvss-suite 3.0.1 Using faraday-http-cache 2.5.0 Using kramdown 2.3.2 Using kramdown-parser-gfm 1.1.0 Using no_proxy_fix 0.1.2 Using sawyer 0.9.2 Using octokit 8.0.0 Using unicode-display_width 2.4.2 Using terminal-table 3.0.2 Using danger 9.4.2 Using multi_xml 0.6.0 Using httparty 0.21.0 Using gitlab 4.19.0 Using danger-gitlab 8.0.0 Using dartsass 1.49.8 Using database_cleaner-core 2.0.1 Using database_cleaner-active_record 2.1.0 Using dead_end 3.1.1 Using deb_version 1.0.2 Using html-pipeline 2.14.3 Using deckar01-task_list 2.3.3 Using declarative 0.0.20 Using declarative_policy 1.1.0 Using deprecation_toolkit 1.5.1 Using ffi 1.15.5 Using get_process_mem 0.2.7 Using heapy 0.2.0 Using mini_histogram 0.3.1 Using ruby-statistics 3.0.0 Using derailed_benchmarks 2.1.2 Using devfile 0.0.25.pre.alpha1 (x86_64-linux) Using device_detector 1.0.0 Using orm_adapter 0.5.0 Using responders 3.0.1 Using warden 1.2.9 Using devise 4.9.3 Using rotp 6.3.0 Using devise-two-factor 4.1.1 Using devise-pbkdf2-encryptable 0.0.0 from source at `vendor/gems/devise-pbkdf2-encryptable` Using diff-lcs 1.5.0 Using diff_match_patch 0.1.0 from source at `vendor/gems/diff_match_patch` Using diffy 3.4.2 Using digest-crc 0.6.5 Using discordrb-webhooks 3.4.2 Using docile 1.4.0 Using doorkeeper 5.6.6 Using doorkeeper-openid_connect 1.8.7 Using dotenv 2.7.6 Using dry-cli 1.0.0 Using dry-core 1.0.1 Using dry-inflector 1.0.0 Using dry-logic 1.5.0 Using dry-types 1.7.1 Using duo_api 1.3.0 Using ecma-re-validator 0.3.0 Using ed25519 1.3.0 Using elasticsearch-api 7.13.3 Using elasticsearch-transport 7.13.3 Using elasticsearch 7.13.3 Using hashie 5.0.0 Using elasticsearch-model 7.2.0 Using elasticsearch-rails 7.2.1 Using email_reply_trimmer 0.1.6 Using htmlentities 4.3.4 Using email_spec 2.2.0 Using ethon 0.16.0 Using typhoeus 1.4.0 Using error_tracking_open_api 1.0.0 from source at `gems/error_tracking_open_api` Using escape_utils 1.3.0 Using et-orbi 1.2.7 Using excon 0.99.0 Using parslet 1.8.2 Using expgen 0.1.1 Using expression_parser 0.9.0 Using extended-markdown-filter 0.7.0 Using factory_bot 6.4.5 Using factory_bot_rails 6.4.3 Using faraday_middleware-aws-sigv4 0.3.0 Using fast_blank 1.0.1 Using fast_gettext 2.3.0 Using ffaker 2.10.0 Using ffi-compiler 1.0.1 Using libyajl2 2.1.0 Using ffi-yajl 2.6.0 Using find_a_port 1.0.1 Using flipper 0.26.2 Using flipper-active_record 0.26.2 Using flipper-active_support_cache_store 0.26.2 Using formatador 0.2.5 Using fog-core 2.1.0 Using fog-json 1.2.0 Using ipaddress 0.8.3 Using xml-simple 1.1.9 Using fog-aliyun 0.4.0 Using fog-xml 0.1.3 Using fog-aws 3.18.0 Using httpclient 2.8.3 Using trailblazer-option 0.1.2 Using uber 0.1.0 Using representable 3.2.0 Using retriable 3.1.2 Using webrick 1.8.1 Using google-apis-core 0.11.2 Using google-apis-compute_v1 0.57.0 Using google-apis-dns_v1 0.28.0 Using google-apis-iamcredentials_v1 0.15.0 Using google-apis-monitoring_v3 0.37.0 Using google-apis-pubsub_v1 0.30.0 Using google-apis-sqladmin_v1beta4 0.41.0 Using google-apis-storage_v1 0.29.0 Using google-cloud-env 1.6.0 Using fog-google 1.19.0 Using fog-local 0.8.0 Using forwardable 1.3.3 Using raabro 1.4.0 Using fugit 1.8.1 Using rspec-support 3.12.0 Using rspec-core 3.12.2 Using ruby-progressbar 1.11.0 Using fuubar 2.2.0 Using gemoji 3.0.1 Using locale 2.1.3 Using singleton 0.1.1 Using prime 0.1.2 Using text 1.3.1 Using gettext 3.4.9 Using gettext_i18n_rails 1.11.0 Using gitaly 16.9.0.pre.rc3 Using gitlab-backup-cli 0.0.1 from source at `gems/gitlab-backup-cli` Using numerizer 0.2.0 Using gitlab-chronic 0.10.5 Using gitlab-dangerfiles 4.6.0 Using request_store 1.5.1 Using gitlab-experiment 0.9.1 Using gitlab-fog-azure-rm 1.8.0 Using rb_sys 0.9.86 Using gitlab-glfm-markdown 0.0.13 (x86_64-linux) Using language_server-protocol 3.17.0.3 Using parallel 1.22.1 Using parser 3.3.0.2 Using rainbow 3.1.1 Using rubocop-ast 1.29.0 Using rubocop 1.57.2 Using gitlab-housekeeper 0.1.0 from source at `gems/gitlab-housekeeper` and installing its executables Using gitlab-http 0.1.0 from source at `gems/gitlab-http` Using opentracing 0.5.0 Using thrift 0.16.0 Using jaeger-client 1.1.0 Using pg_query 5.1.0 Using redis 4.8.0 Using gitlab-labkit 0.35.1 Using gitlab-license 2.4.0 Using version_gem 1.1.0 Using snaky_hash 2.0.0 Using oauth2 2.0.9 Using redis-namespace 1.10.0 Using gitlab-mail_room 0.0.24 Using gitlab-markup 1.9.0 Using gitlab-net-dns 0.9.2 Using rspec-expectations 3.12.3 Using rspec-mocks 3.12.6 Using rspec 3.12.0 Using gitlab-rspec 0.1.0 from source at `gems/gitlab-rspec` Using gitlab-rspec_flaky 0.1.0 from source at `gems/gitlab-rspec_flaky` Using gitlab-safe_request_store 0.1.0 from source at `gems/gitlab-safe_request_store` Using gitlab-schema-validation 0.1.0 from source at `gems/gitlab-schema-validation` Using snowplow-tracker 0.8.0 Using gitlab-sdk 0.3.0 Using re2 2.7.0 (x86_64-linux) Using toml-rb 2.2.0 Using gitlab-secret_detection 0.1.0 from source at `gems/gitlab-secret_detection` Using redis-client 0.20.0 Using sidekiq 7.1.6 from source at `vendor/gems/sidekiq-7.1.6` and installing its executables Using gitlab-sidekiq-fetcher 0.11.0 from source at `vendor/gems/sidekiq-reliable-fetch` Using rubocop-graphql 0.19.0 Using rubocop-performance 1.19.1 Using rubocop-rails 2.22.1 Using rubocop-capybara 2.19.0 Using rubocop-factory_bot 2.24.0 Using rubocop-rspec 2.25.0 Using gitlab-styles 11.0.0 Using gitlab-utils 0.1.0 from source at `gems/gitlab-utils` Using gitlab_chronic_duration 0.12.0 Using net-ldap 0.17.1 Using rack-protection 2.2.2 Using omniauth 2.1.0 Using pyu-ruby-sasl 0.0.3.3 Using rubyntlm 0.6.3 Using gitlab_omniauth-ldap 2.2.0 Using http-form_data 2.3.0 Using llhttp-ffi 0.4.0 Using http 5.1.1 Using unparser 0.6.7 Using proc_to_ast 0.1.0 Using rspec-parameterized-core 1.0.0 Using rspec-parameterized-table_syntax 1.0.0 Using rspec-parameterized 1.0.0 Using table_print 1.5.7 Using gitlab_quality-test_tooling 1.15.0 Using gon 6.4.0 Using google-apis-androidpublisher_v3 0.34.0 Using google-apis-cloudbilling_v1 0.21.0 Using google-apis-cloudresourcemanager_v1 0.31.0 Using google-apis-container_v1 0.43.0 Using google-apis-container_v1beta1 0.43.0 Using google-apis-iam_v1 0.36.0 Using google-apis-serviceusage_v1 0.28.0 Using google-cloud-location 0.6.0 Using grpc-google-iam-v1 1.5.0 Using google-cloud-artifact_registry-v1 0.11.0 Using google-cloud-common 1.1.0 Using google-cloud-compute-v1 2.6.0 Using google-cloud-core 1.6.0 Using google-cloud-storage 1.45.0 Using mini_portile2 2.8.5 Using gpgme 2.0.23 Using mustermann 3.0.0 Using mustermann-grape 1.0.2 Using rack-accept 0.4.5 Using grape 2.0.0 Using grape-entity 0.10.0 Using grape-path-helpers 2.0.1 Using grape-swagger 2.0.1 Using grape-swagger-entity 0.5.1 Using grape_logging 1.8.4 Using sprockets 3.7.2 Using sprockets-rails 3.4.2 Using graphiql-rails 1.8.0 Using graphql-client 0.19.0 Using graphlient 0.6.0 Using graphlyte 1.0.0 Using graphql-docs 4.0.0 Using gssapi 1.3.1 Using rb-fsevent 0.11.2 Using rb-inotify 0.10.1 Using listen 3.7.1 Using lumberjack 1.2.7 Using nenv 0.3.0 Using shellany 0.0.1 Using notiffany 0.1.3 Using pry 0.14.2 Using guard 2.16.2 Using guard-compat 1.2.1 Using guard-rspec 4.7.3 Using temple 0.8.2 Using tilt 2.0.11 Using haml 5.2.2 Using sysexits 1.2.0 Using haml_lint 0.53.0 Using hamlit 2.15.0 Using hana 1.3.7 Using hashdiff 1.0.1 Using health_check 3.1.0 Using html2text 0.2.0 Using ice_cube 0.16.4 Using icalendar 2.8.0 Using imagen 0.1.8 Using influxdb-client 2.9.0 Using rails 7.0.8 Using invisible_captcha 2.1.0 Using ipaddr 1.2.5 Using oj 3.13.23 Using ipynbdiff 0.4.7 from source at `gems/ipynbdiff` Using oauth 0.5.6 Using jira-ruby 2.3.0 Using regexp_property_values 1.0.0 Using js_regex 3.8.0 Using json-jwt 1.15.3 Using uri_template 0.7.0 Using json_schemer 0.2.18 Using jsonb_accessor 1.3.10 Using jsonpath 1.1.2 Using kaminari-core 1.2.2 Using kaminari-actionview 1.2.2 Using kaminari-activerecord 1.2.2 Using kaminari 1.2.2 Using kas-grpc 0.4.0 Using knapsack 1.21.1 Using recursive-open-struct 1.1.3 Using kubeclient 4.11.0 Using rubyzip 2.3.2 Using with_env 1.1.0 Using license_finder 7.0.1 Using reverse_markdown 1.4.0 Using rugged 1.6.3 Using licensee 9.16.1 Using lockbox 1.3.0 Using lograge 0.11.2 Using lru_redux 1.1.0 Using mail-smtp_pool 0.1.0 from source at `vendor/gems/mail-smtp_pool` Using marginalia 1.11.1 Using microsoft_graph_mailer 0.1.0 from source at `vendor/gems/microsoft_graph_mailer` Using mini_magick 4.10.1 Using mixlib-cli 2.1.8 Using mixlib-log 3.0.9 Using murmurhash3 0.1.7 Using neighbor 0.2.3 Using uri 0.13.0 Using net-http 0.1.1 Using net-ntp 2.1.3 Using net-ssh 7.2.0 Using net-scp 4.0.0 Using plist 3.7.0 Using train-core 3.10.8 Using wmi-lite 1.0.7 Using ohai 18.1.3 Using oj-introspect 0.7.2 Using omniauth-oauth2 1.8.0 Using omniauth-alicloud 3.0.0 Using omniauth-atlassian-oauth2 0.2.0 Using omniauth-auth0 3.1.0 Using omniauth-azure-activedirectory-v2 2.0.0 Using omniauth-azure-oauth2 0.0.10 from source at `vendor/gems/omniauth-azure-oauth2` Using omniauth-dingtalk-oauth2 1.0.1 Using omniauth-facebook 4.0.0 Using omniauth-github 2.0.1 Using omniauth-gitlab 4.0.0 from source at `vendor/gems/omniauth-gitlab` Using omniauth-google-oauth2 1.1.1 Using omniauth-oauth 1.2.0 Using omniauth-oauth2-generic 0.2.8 Using omniauth-salesforce 1.0.5 from source at `vendor/gems/omniauth-salesforce` Using ruby-saml 1.15.0 Using omniauth-saml 2.1.0 Using omniauth-shibboleth-redux 2.0.0 Using omniauth-twitter 1.4.0 Using omniauth_crowd 2.4.0 from source at `vendor/gems/omniauth_crowd` Using rack-oauth2 1.21.3 Using swd 1.3.0 Using validate_email 0.1.6 Using validate_url 1.0.15 Using webfinger 1.2.0 Using openid_connect 1.3.0 Using omniauth_openid_connect 0.6.1 Using optimist 3.0.1 Using rubypants 0.2.0 Using org-ruby 0.9.12 Using pact-support 1.20.0 Using pact-mock_service 3.11.2 Using term-ansicolor 1.7.1 Using pact 1.64.0 Using tty-color 0.6.0 Using pastel 0.8.0 Using peek 1.1.0 Using png_quantizator 0.2.1 Using premailer 1.16.0 Using premailer-rails 1.10.3 Using prometheus-client-mmap 1.1.1 (x86_64-linux) Using pry-byebug 3.10.1 Using pry-rails 0.3.9 Using rouge 4.2.0 Using strings-ansi 0.2.0 Using unicode_utils 1.4.0 Using strings 0.2.1 Using tty-screen 0.8.1 Using tty-markdown 0.7.2 Using tty-cursor 0.7.1 Using wisper 2.0.1 Using tty-reader 0.9.0 Using tty-prompt 0.23.1 Using pry-shell 0.6.4 Using puma 6.4.0 Using rack-attack 6.7.0 Using rack-cors 2.0.1 Using rack-proxy 0.7.7 Using rack-session 1.0.2 Using rack-timeout 0.6.3 Using rails-controller-testing 1.0.5 Using rails-i18n 7.0.3 Using rbtrace 0.4.14 Using recaptcha 5.12.3 Using redis-store 1.10.0 Using redis-rack 3.0.0 Using redis-actionpack 5.4.0 Using rinku 2.0.0 Using rqrcode_core 1.2.0 Using rqrcode 2.2.0 Using rspec-benchmark 0.6.0 Using rspec-rails 6.1.0 Using rspec-retry 0.6.2 Using rspec_junit_formatter 0.6.0 Using sqlite3 1.6.0 (x86_64-linux) Using rspec_profiling 0.0.6 Using ruby-fogbugz 0.3.0 Using ruby-magic 0.6.0 Using ruby-openai 3.7.0 Using safety_net_attestation 0.4.0 Using sanitize 6.0.2 Using sassc 2.4.0 Using sassc-rails 2.1.2 Using sd_notify 0.1.1 Using seed-fu 2.3.7 Using websocket 1.2.10 Using selenium-webdriver 4.17.0 Using tty-command 0.10.1 Using semver_dialects 1.6.1 Using sentry-ruby 5.10.0 Using sentry-rails 5.10.0 Using sentry-raven 3.1.2 Using sentry-sidekiq 5.10.0 Using shoulda-matchers 5.1.0 Using sidekiq-cron 1.12.0 Using sigdump 0.2.4 Using simple_po_parser 1.1.6 Using simplecov-html 0.12.3 Using simplecov_json_formatter 0.1.4 Using simplecov 0.22.0 Using simplecov-cobertura 2.1.0 Using simplecov-lcov 0.8.0 Using slack-messenger 2.3.4 Using spamcheck 1.3.0 Using spring 4.1.0 Using spring-commands-rspec 1.0.4 Using ssh_data 1.3.0 Using state_machines 0.5.0 Using state_machines-activemodel 0.8.0 Using state_machines-activerecord 0.8.0 Using sys-filesystem 1.4.3 Using tanuki_emoji 0.9.0 Using telesign 2.2.4 Using telesignenterprise 2.2.2 Using terser 1.0.2 Using test-prof 1.3.1 Using test_file_finder 0.2.1 Using timfel-krb5-auth 0.8.3 Using tpm-key_attestation 0.12.0 Using truncato 0.7.12 Using undercover 0.4.6 Using unleash 3.2.2 Using valid_email 0.1.3 Using validates_hostname 1.0.13 Using version_sorter 2.3.0 Using view_component 3.8.0 Using vite_ruby 3.5.0 Using vite_rails 3.0.17 Using vmstat 2.3.0 Using warning 1.3.0 Using webauthn 3.0.0 Using webmock 3.20.0 Using wikicloth 0.8.1 Using yajl-ruby 1.4.3 Bundle complete! 332 Gemfile dependencies, 647 gems now installed. Gems in the groups 'production' and 'development' were not installed. Bundled gems are installed into `./vendor` 2 installed gems you directly depend on are looking for funding. Run `bundle fund` for details [0;32m==> 'bundle install --jobs=$(nproc) --retry=3 ' succeeded in 2 seconds. [0m[0;32m$ bundle pristine pg [0mPatching bundler with bundler-checksum... Installing pg 1.5.4 with native extensions [0;32m==> 'bundle pristine pg' succeeded in 11 seconds. [0msection_end:1708471061:bundle-install [0K Using decomposed database config (config/database.yml.decomposed-postgresql) [0;33mGeo DB won't be set up. [0m[0;33mEmbedding DB won't be set up. [0msection_start:1708471061:setup-db[collapsed=true] [0KSetting up DBs CREATE ROLE GRANT [0;32m$ bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes [0mDropped database 'gitlabhq_test' Dropped database 'gitlabhq_test_ci' Created database 'gitlabhq_test' Created database 'gitlabhq_test_ci' INFO: analyzing "public.p_ci_runner_machine_builds" inheritance tree INFO: analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_100" INFO: "ci_runner_machine_builds_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_101" INFO: "ci_runner_machine_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "public.p_ci_job_annotations" inheritance tree INFO: analyzing "gitlab_partitions_dynamic.ci_job_annotations_100" INFO: "ci_job_annotations_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "gitlab_partitions_dynamic.ci_job_annotations_101" INFO: "ci_job_annotations_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "public.p_ci_builds_metadata" inheritance tree INFO: analyzing "public.ci_builds_metadata" INFO: "ci_builds_metadata": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "gitlab_partitions_dynamic.ci_builds_metadata_101" INFO: "ci_builds_metadata_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "public.p_ci_builds" inheritance tree INFO: analyzing "public.ci_builds" INFO: "ci_builds": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "gitlab_partitions_dynamic.ci_builds_101" INFO: "ci_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "public.p_ci_runner_machine_builds" inheritance tree INFO: analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_100" INFO: "ci_runner_machine_builds_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_101" INFO: "ci_runner_machine_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "public.p_ci_job_annotations" inheritance tree INFO: analyzing "gitlab_partitions_dynamic.ci_job_annotations_100" INFO: "ci_job_annotations_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "gitlab_partitions_dynamic.ci_job_annotations_101" INFO: "ci_job_annotations_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "public.p_ci_builds_metadata" inheritance tree INFO: analyzing "public.ci_builds_metadata" INFO: "ci_builds_metadata": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "gitlab_partitions_dynamic.ci_builds_metadata_101" INFO: "ci_builds_metadata_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "public.p_ci_builds" inheritance tree INFO: analyzing "public.ci_builds" INFO: "ci_builds": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows INFO: analyzing "gitlab_partitions_dynamic.ci_builds_101" INFO: "ci_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows [0;32m==> 'bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes' succeeded in 50 seconds. [0mSELECT pg_catalog.set_config('search_path', '', false); CREATE DATABASE praefect_test ENCODING 'UTF8'; section_end:1708471111:setup-db [0K [32;1m$ source ./scripts/rspec_helpers.sh[0;m [32;1m$ run_timed_command "gem install knapsack --no-document"[0;m [0;32m$ gem install knapsack --no-document [0mSuccessfully installed knapsack-4.0.0 1 gem installed [0;32m==> 'gem install knapsack --no-document' succeeded in 1 seconds. [0m[32;1m$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"[0;m section_start:1708471112:gitaly-test-spawn[collapsed=true] [0KSpawning Gitaly Trying to connect to gitaly: .... OK Trying to connect to gitaly2: ...... OK Starting Praefect with in-memory election strategyTrying to connect to praefect: ..... OK section_end:1708471115:gitaly-test-spawn [0K [32;1m$ export RSPEC_SKIPPED_TESTS_REPORT_PATH="rspec/skipped_tests-${CI_JOB_ID}.txt"[0;m [32;1m$ export RSPEC_RETRIED_TESTS_REPORT_PATH="rspec/retried_tests-${CI_JOB_ID}.txt"[0;m [32;1m$ tooling/bin/create_job_metrics_file || true[0;m [job-metrics] Creating the job metrics file for the CI/CD job. [32;1m$ rspec_parallelized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house --tag ~real_ai_request"[0;m [23:18:37] Starting rspec_parallelized_job [0;33mRETRY_FAILED_TESTS_IN_NEW_PROCESS: true [0m[0;33mKNAPSACK_GENERATE_REPORT: true [0m[0;33mFLAKY_RSPEC_GENERATE_REPORT: true [0m[0;33mKNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,components,config,contracts,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,keeps,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling,dot_gitlab_ci}{,/**/}*_spec.rb [0m[0;33mKNAPSACK_LOG_LEVEL: debug [0m[0;33mKNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg14_4_32_278964_report.json [0m[0;33mFLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json [0m[0;33mFLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg14_4_32_278964_report.json [0m[0;33mNEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg14_4_32_278964_report.json [0m[0;33mRSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-6218670763.txt [0m[0;33mCRYSTALBALL: [0m[0;33mRSPEC_TESTS_MAPPING_ENABLED: [0m[0;33mRSPEC_TESTS_FILTER_FILE: [0m[0;33mShell set options (set -o) enabled: [0m[0;33mbraceexpand on hashall on interactive-comments on pipefail on [0mParsing expected rspec suite duration... spec/tasks/gitlab/db/decomposition/migrate_rake_spec.rb not found in master report RSpec suite is expected to take 43 minutes 45.02 seconds. Expected duration for tests: { "spec/lib/gitlab/middleware/path_traversal_check_spec.rb": 871.0792757919313, "spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb": 84.4378953002386, "spec/lib/gitlab/background_migration/fix_vulnerability_reads_has_issues_spec.rb": 76.59130638010527, "spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb": 71.1950087804981, "spec/services/projects/fork_service_spec.rb": 60.86119308491864, "spec/finders/packages/group_packages_finder_spec.rb": 53.461824532863965, "spec/models/hooks/web_hook_spec.rb": 48.171700857538845, "spec/services/work_items/update_service_spec.rb": 43.63417607857556, "spec/lib/gitlab/pagination/offset_pagination_spec.rb": 39.63123981318325, "spec/lib/gitlab/closing_issue_extractor_spec.rb": 36.931537265876635, "spec/models/design_management/version_spec.rb": 34.66278668043246, "spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb": 32.38294031807527, "spec/policies/project_snippet_policy_spec.rb": 30.635498555486713, "spec/helpers/emails_helper_spec.rb": 29.172214337678618, "spec/graphql/mutations/merge_requests/set_locked_spec.rb": 27.57172943566649, "spec/helpers/diff_helper_spec.rb": 26.6591649987035, "spec/models/application_record_spec.rb": 25.431779186148983, "spec/lib/banzai/reference_parser/user_parser_spec.rb": 24.05546817339586, "spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb": 23.16153996297151, "spec/lib/gitlab/ci/templates/npm_spec.rb": 22.422762581821083, "spec/models/concerns/chronic_duration_attribute_spec.rb": 21.5633115365843, "spec/models/concerns/pg_full_text_searchable_spec.rb": 20.91531644596415, "spec/services/auto_merge_service_spec.rb": 20.090364937162093, "spec/services/projects/update_remote_mirror_service_spec.rb": 19.444126134754267, "spec/lib/gitlab/ci/config/entry/need_spec.rb": 18.66904535050512, "spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb": 18.00835400848495, "spec/models/container_expiration_policy_spec.rb": 17.35137229793724, "spec/graphql/mutations/discussions/toggle_resolve_spec.rb": 16.73415499316888, "spec/lib/gitlab/sql/pattern_spec.rb": 16.248550372983125, "spec/helpers/auth_helper_spec.rb": 15.843614325057786, "spec/serializers/diff_file_entity_spec.rb": 15.476356972036992, "spec/lib/gitlab/slash_commands/command_spec.rb": 14.966594038503148, "spec/rubocop/cop/rspec/misspelled_aggregate_failures_spec.rb": 14.542208559242063, "spec/lib/banzai/filter/references/feature_flag_reference_filter_spec.rb": 14.070809650195535, "spec/services/projects/operations/update_service_spec.rb": 13.756993208839805, "spec/models/ci/build_trace_chunks/fog_spec.rb": 13.406270429775205, "spec/lib/gitlab/tracking_spec.rb": 13.009458779466309, "spec/lib/banzai/pipeline/gfm_pipeline_spec.rb": 12.573875194343714, "spec/tasks/gitlab/artifacts/migrate_rake_spec.rb": 12.214835535307643, "spec/lib/gitlab/observability_spec.rb": 11.983599427908363, "spec/models/ci_platform_metric_spec.rb": 11.628724691841759, "spec/models/protected_branch/merge_access_level_spec.rb": 11.42968180567392, "spec/lib/gitlab/ci/status/build/retryable_spec.rb": 11.154084337282372, "spec/lib/gitlab/ci/build/context/global_spec.rb": 10.860980849599652, "spec/lib/gitlab_settings/options_spec.rb": 10.61473698765979, "spec/services/security/ci_configuration/secret_detection_create_service_spec.rb": 10.412584541016974, "spec/lib/gitlab/sidekiq_middleware/client_metrics_spec.rb": 10.115668392701302, "spec/lib/banzai/reference_redactor_spec.rb": 9.949125280484868, "spec/models/integrations/redmine_spec.rb": 9.717584071081784, "spec/finders/packages/maven/package_finder_spec.rb": 9.498242475379996, "spec/services/git/base_hooks_service_spec.rb": 9.231009417383188, "spec/helpers/badges_helper_spec.rb": 9.07567558307512, "spec/models/group_group_link_spec.rb": 8.89023273320187, "spec/services/projects/container_repository/cleanup_tags_service_spec.rb": 8.716691080317922, "spec/models/prometheus_alert_spec.rb": 8.49598809214038, "spec/db/docs_spec.rb": 8.27556825603032, "spec/lib/gitlab/internal_events_spec.rb": 8.18215317914214, "spec/components/pajamas/badge_component_spec.rb": 7.995585072197411, "spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb": 7.901354039925606, "spec/lib/sidebars/groups/menus/settings_menu_spec.rb": 7.778277368720552, "spec/models/board_group_recent_visit_spec.rb": 7.5640665019439135, "spec/services/projects/group_links/update_service_spec.rb": 7.482614487057503, "spec/services/markup/rendering_service_spec.rb": 7.2645146356706345, "spec/lib/banzai/filter/asset_proxy_filter_spec.rb": 7.208961065953688, "spec/lib/gitlab/database/partitioning/monthly_strategy_spec.rb": 7.0422391255330234, "spec/lib/gitlab/gl_repository/identifier_spec.rb": 6.918046220895774, "spec/db/production/settings_spec.rb": 6.790661816234536, "spec/services/milestones/find_or_create_service_spec.rb": 6.705329209582877, "spec/lib/api/entities/project_import_status_spec.rb": 6.595085164993904, "spec/finders/releases/evidence_pipeline_finder_spec.rb": 6.422681796577871, "spec/lib/gitlab/ci/config/entry/port_spec.rb": 6.3477778043543, "spec/tooling/lib/tooling/mappings/partial_to_views_mappings_spec.rb": 6.276771247999775, "spec/rubocop/cop/rspec/factory_bot/inline_association_spec.rb": 6.118066848874099, "spec/sidekiq_cluster/sidekiq_cluster_spec.rb": 5.985135284298976, "spec/models/packages/npm/metadatum_spec.rb": 5.97494172831864, "spec/graphql/mutations/alert_management/update_alert_status_spec.rb": 5.821601702431439, "spec/workers/projects/inactive_projects_deletion_cron_worker_spec.rb": 5.806551906262453, "spec/services/work_items/callbacks/description_spec.rb": 5.669251703021816, "spec/lib/gitlab/ci/pipeline/expression/lexeme/not_matches_spec.rb": 5.592610442853056, "spec/models/concerns/bulk_insertable_associations_spec.rb": 5.540507309529593, "spec/models/ci/artifact_blob_spec.rb": 5.443474295051715, "spec/views/projects/diffs/_viewer.html.haml_spec.rb": 5.2967613880555, "spec/lib/gitlab/database/load_balancing/rack_middleware_spec.rb": 5.273544724628165, "spec/tasks/gitlab/feature_categories_rake_spec.rb": 5.139694644583631, "spec/policies/clusters/agents/activity_event_policy_spec.rb": 5.125180616228098, "spec/lib/bitbucket_server/connection_spec.rb": 4.995120034764729, "spec/lib/gitlab/harbor/client_spec.rb": 4.962132641800909, "spec/graphql/mutations/security/ci_configuration/configure_sast_iac_spec.rb": 4.879876308085332, "spec/graphql/mutations/users/set_namespace_commit_email_spec.rb": 4.750761753713368, "spec/models/users_statistics_spec.rb": 4.717534354192566, "spec/services/security/ci_configuration/sast_parser_service_spec.rb": 4.629308420794442, "spec/lib/gitlab/database/reindexing/reindex_concurrently_spec.rb": 4.597201219587021, "spec/graphql/resolvers/clusters/agent_tokens_resolver_spec.rb": 4.5022206778085625, "spec/models/merge_request_reviewer_spec.rb": 4.456915539029682, "spec/lib/banzai/pipeline/incident_management/timeline_event_pipeline_spec.rb": 4.340917629822661, "spec/workers/integrations/group_mention_worker_spec.rb": 4.317235317051098, "spec/lib/json_web_token/rsa_token_spec.rb": 4.254275080481662, "spec/lib/gitlab/github_import/importer/attachments/issues_importer_spec.rb": 4.2161958907148795, "spec/rubocop/cop/graphql/id_type_spec.rb": 4.154307491307474, "spec/models/packages/rpm/repository_file_spec.rb": 4.100977485846613, "spec/graphql/mutations/todos/restore_spec.rb": 4.035018802432601, "spec/services/packages/debian/create_package_file_service_spec.rb": 3.981934389848732, "spec/lib/gitlab/external_authorization/client_spec.rb": 3.943094984982248, "spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb": 3.884056774411794, "spec/lib/gitlab/ci/config/entry/include/rules_spec.rb": 3.8380098715771847, "spec/lib/gitlab/ci/config/yaml/tags/reference_spec.rb": 3.7828876026536613, "spec/graphql/resolvers/container_repository_tags_resolver_spec.rb": 3.748953807483342, "spec/graphql/resolvers/ci/group_runners_resolver_spec.rb": 3.6946429654604502, "spec/lib/gitlab/jira_import/issues_importer_spec.rb": 3.6597321313269946, "spec/models/snippet_input_action_collection_spec.rb": 3.609941752130468, "spec/lib/gitlab/database/background_migration/batched_job_transition_log_spec.rb": 3.560736524575489, "spec/models/abuse/user_trust_score_spec.rb": 3.5004178577338454, "spec/lib/sbom/package_url/normalizer_spec.rb": 3.4587995706339916, "spec/workers/update_highest_role_worker_spec.rb": 3.3995077886030414, "spec/graphql/resolvers/projects/services_resolver_spec.rb": 3.3769727314391798, "spec/lib/gitlab/analytics/usage_trends/workers_argument_builder_spec.rb": 3.3518879794347267, "spec/workers/authorized_project_update/user_refresh_from_replica_worker_spec.rb": 3.272294511061344, "spec/services/work_items/callbacks/notifications_spec.rb": 3.247781897840798, "spec/lib/gitlab/hook_data/project_member_builder_spec.rb": 3.1945378358832968, "spec/services/personal_access_tokens/rotate_service_spec.rb": 3.1561511385784, "spec/graphql/resolvers/group_milestones_resolver_spec.rb": 3.1092953958645406, "spec/views/admin/sessions/new.html.haml_spec.rb": 3.0808213119353667, "spec/lib/gitlab/database/query_analyzers/prevent_set_operator_mismatch_spec.rb": 3.0326107777199836, "spec/workers/projects/delete_branch_worker_spec.rb": 3.0066015431118434, "spec/lib/gitlab/string_placeholder_replacer_spec.rb": 2.9639382825968346, "spec/lib/gitlab/database/partitioning/int_range_strategy_spec.rb": 2.9242867580480194, "spec/services/packages/composer/composer_json_service_spec.rb": 2.9020703505515155, "spec/graphql/types/container_repository_referrer_type_spec.rb": 2.8591426648655585, "spec/views/projects/settings/integrations/edit.html.haml_spec.rb": 2.8114899797903736, "spec/models/organizations/organization_detail_spec.rb": 2.790051482250864, "spec/validators/ip_address_validator_spec.rb": 2.7215199023551495, "spec/lib/gitlab/branch_push_merge_commit_analyzer_spec.rb": 2.70421536150602, "spec/support_specs/helpers/keyset_pagination_helpers_spec.rb": 2.65766481410328, "spec/services/branch_rules/update_service_spec.rb": 2.6355295461348938, "spec/lib/gitlab/ci/status/scheduled_spec.rb": 2.5731092344577258, "spec/services/saved_replies/create_service_spec.rb": 2.5694587024533373, "spec/tooling/lib/tooling/helpers/file_handler_spec.rb": 2.5189973099255054, "spec/graphql/resolvers/ml/model_detail_resolver_spec.rb": 2.502442416737598, "spec/presenters/packages/composer/packages_presenter_spec.rb": 2.4518850475387626, "spec/rubocop/cop/graphql/enum_values_spec.rb": 2.4325904618006597, "spec/services/award_emojis/copy_service_spec.rb": 2.393602220263399, "spec/lib/gitlab/code_navigation_path_spec.rb": 2.3500673837729473, "spec/services/projects/batch_open_issues_count_service_spec.rb": 2.3291718022011394, "spec/lib/gitlab/global_id/deprecations_spec.rb": 2.280404882395102, "spec/lib/bulk_imports/common/pipelines/entity_finisher_spec.rb": 2.264971855809086, "spec/services/terraform/states/trigger_destroy_service_spec.rb": 2.220264285719588, "spec/models/concerns/safely_change_column_default_spec.rb": 2.206503837706546, "spec/lib/bulk_imports/projects/pipelines/external_pull_requests_pipeline_spec.rb": 2.1526762846254384, "spec/rubocop/cop/rspec/factory_bot/local_static_assignment_spec.rb": 2.1505817129589264, "spec/rubocop/cop/gitlab/keys_first_and_values_first_spec.rb": 2.0996621428404794, "spec/workers/database/monitor_locked_tables_worker_spec.rb": 2.0865887098098854, "spec/services/ci/job_token_scope/add_group_or_project_service_spec.rb": 2.0310079627450084, "spec/components/pajamas/checkbox_tag_component_spec.rb": 2.011306967175322, "spec/config/smime_signature_settings_spec.rb": 1.9695387453783935, "spec/services/jira_connect_installations/destroy_service_spec.rb": 1.9420279182504168, "spec/bin/diagnostic_reports_uploader_spec.rb": 1.9166817442270425, "spec/lib/gitlab/usage/metrics/instrumentations/batched_background_migration_failed_jobs_metric_spec.rb": 1.8937261475074412, "spec/views/projects/merge_requests/creations/new.html.haml_spec.rb": 1.849378485717681, "spec/services/projects/readme_renderer_service_spec.rb": 1.836835596898275, "spec/components/pajamas/breadcrumb_component_spec.rb": 1.7998813155514326, "spec/lib/gitlab/ci/config/entry/id_token_spec.rb": 1.77304128393896, "spec/services/projects/forks_count_service_spec.rb": 1.745946725638416, "spec/lib/gitlab/usage/metrics/instrumentations/dormant_user_period_setting_metric_spec.rb": 1.724023411656082, "spec/finders/vs_code/settings/settings_finder_spec.rb": 1.6896288958882395, "spec/services/achievements/update_user_achievement_priorities_service_spec.rb": 1.656897048691101, "spec/workers/google_cloud/create_cloudsql_instance_worker_spec.rb": 1.6405695553857187, "spec/rubocop/cop/gitlab/event_store_subscriber_spec.rb": 1.6120696075197307, "spec/lib/gitlab/git/lfs_changes_spec.rb": 1.5843106675333518, "spec/serializers/ci/dag_stage_entity_spec.rb": 1.550267751608771, "spec/lib/gitlab/view/presenter/factory_spec.rb": 1.5491272893247292, "spec/presenters/packages/nuget/v2/service_index_presenter_spec.rb": 1.4970542561739257, "spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb": 1.489133461925383, "spec/models/concerns/presentable_spec.rb": 1.4448943377731465, "spec/rubocop/cop/rspec/shared_groups_metadata_spec.rb": 1.4276908432328337, "spec/models/work_items/widgets/notifications_spec.rb": 1.3843580122607209, "spec/initializers/cookies_serializer_spec.rb": 1.3644960542433144, "spec/lib/gitlab/ci/mask_secret_spec.rb": 1.3300993989551637, "spec/lib/gitlab/usage_data_counters/source_code_counter_spec.rb": 1.3023804582179297, "spec/lib/generators/batched_background_migration/batched_background_migration_generator_spec.rb": 1.2784507812125154, "spec/graphql/resolvers/concerns/resolves_groups_spec.rb": 1.236575219687286, "spec/services/webauthn/authenticate_service_spec.rb": 1.2080930896980546, "spec/lib/gitlab/auth/blocked_user_tracker_spec.rb": 1.178132760088384, "spec/services/pages_domains/delete_service_spec.rb": 1.158132403676606, "spec/lib/gitlab/pagination/keyset/in_operator_optimization/strategies/order_values_loader_strategy_spec.rb": 1.1219813686174236, "spec/lib/gitlab/batch_worker_context_spec.rb": 1.0957579539291635, "spec/views/devise/confirmations/almost_there.html.haml_spec.rb": 1.0838979216541453, "spec/workers/update_external_pull_requests_worker_spec.rb": 1.060116153903709, "spec/lib/api/entities/ml/mlflow/search_runs_spec.rb": 1.0274469244420548, "spec/graphql/types/ci/config/group_type_spec.rb": 1.0180724839908217, "spec/graphql/resolvers/metrics/dashboards/annotation_resolver_spec.rb": 0.9825704688551529, "spec/initializers/rails_yaml_safe_load_spec.rb": 0.9802842841771557, "spec/lib/generators/gitlab/usage_metric_definition/redis_hll_generator_spec.rb": 0.9347746284771873, "spec/models/discussion_note_spec.rb": 0.9117339703893025, "spec/routing/notifications_routing_spec.rb": 0.8891772853381908, "spec/serializers/admin/reported_content_entity_spec.rb": 0.8627343362205842, "spec/lib/gitlab/memory/diagnostic_reports_logger_spec.rb": 0.8443972033606688, "spec/workers/gitlab/github_import/attachments/import_merge_request_worker_spec.rb": 0.8201367489112961, "spec/lib/sidebars/organizations/menus/scope_menu_spec.rb": 0.8040454214883137, "spec/graphql/types/issue_status_count_type_spec.rb": 0.7633770667985051, "spec/rubocop/cop/migration/with_lock_retries_with_change_spec.rb": 0.7568367972273446, "spec/graphql/types/projects/service_type_spec.rb": 0.7012091519876852, "spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb": 0.681139826509245, "spec/graphql/types/tree/tree_entry_type_spec.rb": 0.6731955425167232, "spec/graphql/types/work_items/widgets/current_user_todos_input_type_spec.rb": 0.6615963136554258, "spec/graphql/types/issue_type_enum_spec.rb": 0.637227510758094, "spec/graphql/types/jira_import_type_spec.rb": 0.633106417449638, "spec/scripts/generate_failed_package_and_test_mr_message_spec.rb": 0.6086536155105644, "spec/graphql/types/ci_configuration/sast/ui_component_size_enum_spec.rb": 0.5989581406668154, "spec/lib/bulk_imports/groups/extractors/subgroups_extractor_spec.rb": 0.5832326699615745, "spec/views/layouts/_published_experiments.html.haml_spec.rb": 0.5682383586197637, "spec/lib/sidebars/uncategorized_menu_spec.rb": 0.5004000546524573, "spec/graphql/types/packages/maven/metadatum_type_spec.rb": 0.49381236267133305, "spec/lib/gitlab/nav/top_nav_menu_item_spec.rb": 0.45672587584213425, "spec/graphql/types/ci/pipeline_trigger_type_spec.rb": 0.44228111152207983, "spec/initializers/sidekiq_spec.rb": 0.4330126546981814, "spec/helpers/routing/packages_helper_spec.rb": 0.41511469223008896, "spec/lib/banzai/filter/html_entity_filter_spec.rb": 0.40917515863905296, "spec/rubocop/cop/gitlab/change_timezone_spec.rb": 0.39623479155327285, "spec/lib/gitlab/action_cable/request_store_callbacks_spec.rb": 0.3871932187872636 } Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format Support::Formatters::JsonFormatter --out rspec/rspec-6218670763.json --format RspecJunitFormatter --out rspec/rspec-6218670763.xml --fail-fast=20 --tag ~quarantine --tag ~level:background_migration --tag ~click_house --tag ~real_ai_request -- spec/lib/gitlab/middleware/path_traversal_check_spec.rb spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb spec/lib/gitlab/background_migration/fix_vulnerability_reads_has_issues_spec.rb spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb spec/services/projects/fork_service_spec.rb spec/finders/packages/group_packages_finder_spec.rb spec/models/hooks/web_hook_spec.rb spec/services/work_items/update_service_spec.rb spec/lib/gitlab/pagination/offset_pagination_spec.rb spec/lib/gitlab/closing_issue_extractor_spec.rb spec/models/design_management/version_spec.rb spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb spec/policies/project_snippet_policy_spec.rb spec/helpers/emails_helper_spec.rb spec/graphql/mutations/merge_requests/set_locked_spec.rb spec/helpers/diff_helper_spec.rb spec/models/application_record_spec.rb spec/lib/banzai/reference_parser/user_parser_spec.rb spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb spec/lib/gitlab/ci/templates/npm_spec.rb spec/models/concerns/chronic_duration_attribute_spec.rb spec/models/concerns/pg_full_text_searchable_spec.rb spec/services/auto_merge_service_spec.rb spec/services/projects/update_remote_mirror_service_spec.rb spec/lib/gitlab/ci/config/entry/need_spec.rb spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb spec/models/container_expiration_policy_spec.rb spec/graphql/mutations/discussions/toggle_resolve_spec.rb spec/lib/gitlab/sql/pattern_spec.rb spec/helpers/auth_helper_spec.rb spec/serializers/diff_file_entity_spec.rb spec/lib/gitlab/slash_commands/command_spec.rb spec/rubocop/cop/rspec/misspelled_aggregate_failures_spec.rb spec/lib/banzai/filter/references/feature_flag_reference_filter_spec.rb spec/services/projects/operations/update_service_spec.rb spec/models/ci/build_trace_chunks/fog_spec.rb spec/lib/gitlab/tracking_spec.rb spec/lib/banzai/pipeline/gfm_pipeline_spec.rb spec/tasks/gitlab/artifacts/migrate_rake_spec.rb spec/lib/gitlab/observability_spec.rb spec/models/ci_platform_metric_spec.rb spec/models/protected_branch/merge_access_level_spec.rb spec/lib/gitlab/ci/status/build/retryable_spec.rb spec/lib/gitlab/ci/build/context/global_spec.rb spec/lib/gitlab_settings/options_spec.rb spec/services/security/ci_configuration/secret_detection_create_service_spec.rb spec/lib/gitlab/sidekiq_middleware/client_metrics_spec.rb spec/lib/banzai/reference_redactor_spec.rb spec/models/integrations/redmine_spec.rb spec/finders/packages/maven/package_finder_spec.rb spec/services/git/base_hooks_service_spec.rb spec/helpers/badges_helper_spec.rb spec/models/group_group_link_spec.rb spec/services/projects/container_repository/cleanup_tags_service_spec.rb spec/models/prometheus_alert_spec.rb spec/db/docs_spec.rb spec/lib/gitlab/internal_events_spec.rb spec/components/pajamas/badge_component_spec.rb spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb spec/lib/sidebars/groups/menus/settings_menu_spec.rb spec/models/board_group_recent_visit_spec.rb spec/services/projects/group_links/update_service_spec.rb spec/services/markup/rendering_service_spec.rb spec/lib/banzai/filter/asset_proxy_filter_spec.rb spec/lib/gitlab/database/partitioning/monthly_strategy_spec.rb spec/lib/gitlab/gl_repository/identifier_spec.rb spec/db/production/settings_spec.rb spec/services/milestones/find_or_create_service_spec.rb spec/lib/api/entities/project_import_status_spec.rb spec/finders/releases/evidence_pipeline_finder_spec.rb spec/lib/gitlab/ci/config/entry/port_spec.rb spec/tooling/lib/tooling/mappings/partial_to_views_mappings_spec.rb spec/rubocop/cop/rspec/factory_bot/inline_association_spec.rb spec/sidekiq_cluster/sidekiq_cluster_spec.rb spec/models/packages/npm/metadatum_spec.rb spec/graphql/mutations/alert_management/update_alert_status_spec.rb spec/workers/projects/inactive_projects_deletion_cron_worker_spec.rb spec/services/work_items/callbacks/description_spec.rb spec/lib/gitlab/ci/pipeline/expression/lexeme/not_matches_spec.rb spec/models/concerns/bulk_insertable_associations_spec.rb spec/models/ci/artifact_blob_spec.rb spec/views/projects/diffs/_viewer.html.haml_spec.rb spec/lib/gitlab/database/load_balancing/rack_middleware_spec.rb spec/tasks/gitlab/feature_categories_rake_spec.rb spec/policies/clusters/agents/activity_event_policy_spec.rb spec/lib/bitbucket_server/connection_spec.rb spec/lib/gitlab/harbor/client_spec.rb spec/graphql/mutations/security/ci_configuration/configure_sast_iac_spec.rb spec/graphql/mutations/users/set_namespace_commit_email_spec.rb spec/models/users_statistics_spec.rb spec/services/security/ci_configuration/sast_parser_service_spec.rb spec/lib/gitlab/database/reindexing/reindex_concurrently_spec.rb spec/graphql/resolvers/clusters/agent_tokens_resolver_spec.rb spec/models/merge_request_reviewer_spec.rb spec/lib/banzai/pipeline/incident_management/timeline_event_pipeline_spec.rb spec/workers/integrations/group_mention_worker_spec.rb spec/lib/json_web_token/rsa_token_spec.rb spec/lib/gitlab/github_import/importer/attachments/issues_importer_spec.rb spec/rubocop/cop/graphql/id_type_spec.rb spec/models/packages/rpm/repository_file_spec.rb spec/graphql/mutations/todos/restore_spec.rb spec/services/packages/debian/create_package_file_service_spec.rb spec/lib/gitlab/external_authorization/client_spec.rb spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb spec/lib/gitlab/ci/config/entry/include/rules_spec.rb spec/lib/gitlab/ci/config/yaml/tags/reference_spec.rb spec/graphql/resolvers/container_repository_tags_resolver_spec.rb spec/graphql/resolvers/ci/group_runners_resolver_spec.rb spec/lib/gitlab/jira_import/issues_importer_spec.rb spec/models/snippet_input_action_collection_spec.rb spec/lib/gitlab/database/background_migration/batched_job_transition_log_spec.rb spec/models/abuse/user_trust_score_spec.rb spec/lib/sbom/package_url/normalizer_spec.rb spec/workers/update_highest_role_worker_spec.rb spec/graphql/resolvers/projects/services_resolver_spec.rb spec/lib/gitlab/analytics/usage_trends/workers_argument_builder_spec.rb spec/workers/authorized_project_update/user_refresh_from_replica_worker_spec.rb spec/services/work_items/callbacks/notifications_spec.rb spec/lib/gitlab/hook_data/project_member_builder_spec.rb spec/services/personal_access_tokens/rotate_service_spec.rb spec/graphql/resolvers/group_milestones_resolver_spec.rb spec/views/admin/sessions/new.html.haml_spec.rb spec/lib/gitlab/database/query_analyzers/prevent_set_operator_mismatch_spec.rb spec/workers/projects/delete_branch_worker_spec.rb spec/lib/gitlab/string_placeholder_replacer_spec.rb spec/lib/gitlab/database/partitioning/int_range_strategy_spec.rb spec/services/packages/composer/composer_json_service_spec.rb spec/graphql/types/container_repository_referrer_type_spec.rb spec/views/projects/settings/integrations/edit.html.haml_spec.rb spec/models/organizations/organization_detail_spec.rb spec/validators/ip_address_validator_spec.rb spec/lib/gitlab/branch_push_merge_commit_analyzer_spec.rb spec/support_specs/helpers/keyset_pagination_helpers_spec.rb spec/services/branch_rules/update_service_spec.rb spec/lib/gitlab/ci/status/scheduled_spec.rb spec/services/saved_replies/create_service_spec.rb spec/tooling/lib/tooling/helpers/file_handler_spec.rb spec/graphql/resolvers/ml/model_detail_resolver_spec.rb spec/presenters/packages/composer/packages_presenter_spec.rb spec/rubocop/cop/graphql/enum_values_spec.rb spec/services/award_emojis/copy_service_spec.rb spec/lib/gitlab/code_navigation_path_spec.rb spec/services/projects/batch_open_issues_count_service_spec.rb spec/lib/gitlab/global_id/deprecations_spec.rb spec/lib/bulk_imports/common/pipelines/entity_finisher_spec.rb spec/services/terraform/states/trigger_destroy_service_spec.rb spec/models/concerns/safely_change_column_default_spec.rb spec/lib/bulk_imports/projects/pipelines/external_pull_requests_pipeline_spec.rb spec/rubocop/cop/rspec/factory_bot/local_static_assignment_spec.rb spec/rubocop/cop/gitlab/keys_first_and_values_first_spec.rb spec/workers/database/monitor_locked_tables_worker_spec.rb spec/services/ci/job_token_scope/add_group_or_project_service_spec.rb spec/components/pajamas/checkbox_tag_component_spec.rb spec/config/smime_signature_settings_spec.rb spec/services/jira_connect_installations/destroy_service_spec.rb spec/bin/diagnostic_reports_uploader_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/batched_background_migration_failed_jobs_metric_spec.rb spec/views/projects/merge_requests/creations/new.html.haml_spec.rb spec/services/projects/readme_renderer_service_spec.rb spec/components/pajamas/breadcrumb_component_spec.rb spec/lib/gitlab/ci/config/entry/id_token_spec.rb spec/services/projects/forks_count_service_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/dormant_user_period_setting_metric_spec.rb spec/finders/vs_code/settings/settings_finder_spec.rb spec/services/achievements/update_user_achievement_priorities_service_spec.rb spec/workers/google_cloud/create_cloudsql_instance_worker_spec.rb spec/rubocop/cop/gitlab/event_store_subscriber_spec.rb spec/lib/gitlab/git/lfs_changes_spec.rb spec/serializers/ci/dag_stage_entity_spec.rb spec/lib/gitlab/view/presenter/factory_spec.rb spec/presenters/packages/nuget/v2/service_index_presenter_spec.rb spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb spec/models/concerns/presentable_spec.rb spec/rubocop/cop/rspec/shared_groups_metadata_spec.rb spec/models/work_items/widgets/notifications_spec.rb spec/initializers/cookies_serializer_spec.rb spec/lib/gitlab/ci/mask_secret_spec.rb spec/lib/gitlab/usage_data_counters/source_code_counter_spec.rb spec/lib/generators/batched_background_migration/batched_background_migration_generator_spec.rb spec/graphql/resolvers/concerns/resolves_groups_spec.rb spec/services/webauthn/authenticate_service_spec.rb spec/lib/gitlab/auth/blocked_user_tracker_spec.rb spec/services/pages_domains/delete_service_spec.rb spec/lib/gitlab/pagination/keyset/in_operator_optimization/strategies/order_values_loader_strategy_spec.rb spec/lib/gitlab/batch_worker_context_spec.rb spec/views/devise/confirmations/almost_there.html.haml_spec.rb spec/workers/update_external_pull_requests_worker_spec.rb spec/lib/api/entities/ml/mlflow/search_runs_spec.rb spec/graphql/types/ci/config/group_type_spec.rb spec/graphql/resolvers/metrics/dashboards/annotation_resolver_spec.rb spec/initializers/rails_yaml_safe_load_spec.rb spec/lib/generators/gitlab/usage_metric_definition/redis_hll_generator_spec.rb spec/models/discussion_note_spec.rb spec/routing/notifications_routing_spec.rb spec/serializers/admin/reported_content_entity_spec.rb spec/lib/gitlab/memory/diagnostic_reports_logger_spec.rb spec/workers/gitlab/github_import/attachments/import_merge_request_worker_spec.rb spec/lib/sidebars/organizations/menus/scope_menu_spec.rb spec/graphql/types/issue_status_count_type_spec.rb spec/rubocop/cop/migration/with_lock_retries_with_change_spec.rb spec/graphql/types/projects/service_type_spec.rb spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb spec/graphql/types/tree/tree_entry_type_spec.rb spec/graphql/types/work_items/widgets/current_user_todos_input_type_spec.rb spec/graphql/types/issue_type_enum_spec.rb spec/graphql/types/jira_import_type_spec.rb spec/scripts/generate_failed_package_and_test_mr_message_spec.rb spec/graphql/types/ci_configuration/sast/ui_component_size_enum_spec.rb spec/lib/bulk_imports/groups/extractors/subgroups_extractor_spec.rb spec/views/layouts/_published_experiments.html.haml_spec.rb spec/lib/sidebars/uncategorized_menu_spec.rb spec/graphql/types/packages/maven/metadatum_type_spec.rb spec/lib/gitlab/nav/top_nav_menu_item_spec.rb spec/graphql/types/ci/pipeline_trigger_type_spec.rb spec/initializers/sidekiq_spec.rb spec/helpers/routing/packages_helper_spec.rb spec/lib/banzai/filter/html_entity_filter_spec.rb spec/rubocop/cop/gitlab/change_timezone_spec.rb spec/lib/gitlab/action_cable/request_store_callbacks_spec.rb spec/tasks/gitlab/db/decomposition/migrate_rake_spec.rbKnapsack report generator started! Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true, :real_ai_request=>true} # [RSpecRunTime] Starting RSpec timer... [TEST PROF INFO] EventProf enabled (sql.active_record) unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String. unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String. Test environment set up in 1.235241261 seconds # [RSpecRunTime] Starting example group spec/lib/gitlab/middleware/path_traversal_check_spec.rb. Expected to take 14 minutes 31.08 seconds. Gitlab::Middleware::PathTraversalCheck #call when using get path: "/foo/bar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/../bar", query_params: {}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo%2Fbar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo%2F..%2Fbar", query_params: {}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo%252F..%252Fbar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo/../bar"}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo/bar", query_params: {:x=>"foo%2Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%2F..%2Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%252F..%252Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo%2F..%2Fbar", query_params: {:x=>"foo%252F..%252Fbar"}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for global search excluded paths for excluded path /search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /search/count with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/projects/4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/projects/4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/projects/4/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/projects/4/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/projects/my%2Fproject/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/projects/my%2Fproject/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/projects/my%2Fproject/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/groups/4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/groups/4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/groups/4/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/groups/4/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/groups/my%2Fgroup/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time with a issues search path behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing when using post path: "/foo/bar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/../bar", query_params: {}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo%2Fbar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo%2F..%2Fbar", query_params: {}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo%252F..%252Fbar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo/../bar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%2Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%2F..%2Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%252F..%252Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo%2F..%2Fbar", query_params: {:x=>"foo%252F..%252Fbar"}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for global search excluded paths for excluded path /search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing when using put path: "/foo/bar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/../bar", query_params: {}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo%2Fbar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo%2F..%2Fbar", query_params: {}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo%252F..%252Fbar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo/../bar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%2Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%2F..%2Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%252F..%252Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo%2F..%2Fbar", query_params: {:x=>"foo%252F..%252Fbar"}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for global search excluded paths for excluded path /search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing when using post path: "/foo/bar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/../bar", query_params: {}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo%2Fbar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo%2F..%2Fbar", query_params: {}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo%252F..%252Fbar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo/../bar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%2Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%2F..%2Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%252F..%252Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo%2F..%2Fbar", query_params: {:x=>"foo%252F..%252Fbar"}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for global search excluded paths for excluded path /search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing when using delete path: "/foo/bar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/../bar", query_params: {}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo%2Fbar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo%2F..%2Fbar", query_params: {}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo%252F..%252Fbar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo/../bar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%2Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%2F..%2Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%252F..%252Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo%2F..%2Fbar", query_params: {:x=>"foo%252F..%252Fbar"}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for global search excluded paths for excluded path /search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing when using patch path: "/foo/bar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/../bar", query_params: {}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo%2Fbar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo%2F..%2Fbar", query_params: {}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time path: "/foo%252F..%252Fbar", query_params: {}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo/../bar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%2Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%2F..%2Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo/bar", query_params: {:x=>"foo%252F..%252Fbar"}, shared_example_name: "no issue" behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing path: "/foo%2F..%2Fbar", query_params: {:x=>"foo%252F..%252Fbar"}, shared_example_name: "path traversal" behaves like path traversal logs the problem and measures the execution time with log_execution_time_path_traversal_middleware disabled logs the problem without the execution time for global search excluded paths for excluded path /search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /search/count with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /searchtest/count with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/4/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/4/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/projects/my%2Fproject/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/projects/my%2Fproject/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/4/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/4/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%2F..%2Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%2F..%2Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo%252F..%252Fbar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo%252F..%252Fbar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for excluded path /api/v4/groups/my%2Fgroup/-/search.json with query params {:x=>"foo/../bar"} behaves like excluded path measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing for non excluded path /api/v4/groups/my%2Fgroup/-/searchtest.json with query params {:x=>"foo/../bar"} behaves like no issue measures and logs the execution time with log_execution_time_path_traversal_middleware disabled does nothing with check_path_traversal_middleware disabled path: "/foo/bar", query_params: {} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "/foo/../bar", query_params: {} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "/foo%2Fbar", query_params: {} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "/foo%2F..%2Fbar", query_params: {} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "/foo%252F..%252Fbar", query_params: {} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "/foo/bar", query_params: {:x=>"foo"} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "/foo/bar", query_params: {:x=>"foo/../bar"} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "/foo/bar", query_params: {:x=>"foo%2Fbar"} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "/foo/bar", query_params: {:x=>"foo%2F..%2Fbar"} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "/foo/bar", query_params: {:x=>"foo%252F..%252Fbar"} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "/search", query_params: {:x=>"foo/../bar"} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "/search", query_params: {:x=>"foo%2F..%2Fbar"} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "/search", query_params: {:x=>"foo%252F..%252Fbar"} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "%2Fsearch", query_params: {:x=>"foo/../bar"} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "%2Fsearch", query_params: {:x=>"foo%2F..%2Fbar"} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals path: "%2Fsearch", query_params: {:x=>"foo%252F..%252Fbar"} when using get does not check for path traversals when using post does not check for path traversals when using put does not check for path traversals when using post does not check for path traversals when using delete does not check for path traversals when using patch does not check for path traversals # [RSpecRunTime] Finishing example group spec/lib/gitlab/middleware/path_traversal_check_spec.rb. It took 3 minutes 39.81 seconds. Expected to take 14 minutes 31.08 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb. Expected to take 1 minute 24.44 seconds. Gitlab::Diff::PositionTracer::LineStrategy #trace diff scenarios when the file was created in the old diff when the file is created in the new diff when the position pointed at an added line in the old diff when the file's content was unchanged between the old and the new diff returns the new position when the position is multiline returns the new position along with line_range # [RSpecRunTime] RSpec elapsed time: 3 minutes 46.95 seconds. Current RSS: ~1538M. load average: 1.10 1.17 1.37 1/288 533 when the file's content was changed between the old and the new diff when that line was unchanged between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 3 minutes 48.05 seconds. Current RSS: ~1544M. load average: 1.10 1.17 1.37 1/288 620 when that line was moved between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 3 minutes 49.29 seconds. Current RSS: ~1543M. load average: 1.17 1.19 1.37 1/287 743 when that line was changed between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 3 minutes 50.31 seconds. Current RSS: ~1546M. load average: 1.17 1.19 1.37 1/288 821 when that line was deleted between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 3 minutes 51.79 seconds. Current RSS: ~1557M. load average: 1.17 1.19 1.37 1/288 988 when the file is changed in the new diff when the position pointed at an added line in the old diff when the file's content was unchanged between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 3 minutes 52.95 seconds. Current RSS: ~1554M. load average: 1.17 1.19 1.37 1/288 1084 when the file's content was changed between the old and the new diff when that line was unchanged between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 3 minutes 54.32 seconds. Current RSS: ~1551M. load average: 1.08 1.17 1.37 1/289 1216 when that line was moved between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 3 minutes 56.99 seconds. Current RSS: ~1549M. load average: 1.08 1.17 1.37 1/289 1348 when that line was changed between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 3 minutes 58.1 seconds. Current RSS: ~1550M. load average: 1.08 1.17 1.37 1/289 1425 when that line was deleted between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 3 minutes 59.53 seconds. Current RSS: ~1555M. load average: 1.31 1.22 1.38 1/290 1592 when the file is renamed in the new diff when the position pointed at an added line in the old diff when the file's content was unchanged between the old and the new diff returns the position of the change when the position is multiline returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 3.05 seconds. Current RSS: ~1552M. load average: 1.31 1.22 1.38 1/291 2081 when the file's content was changed between the old and the new diff when that line was unchanged between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 4.88 seconds. Current RSS: ~1550M. load average: 1.37 1.23 1.38 1/291 2338 when that line was moved between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 7.05 seconds. Current RSS: ~1569M. load average: 1.37 1.23 1.38 1/291 2613 when that line was changed between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 8.94 seconds. Current RSS: ~1571M. load average: 1.34 1.23 1.38 1/291 2851 when the file is deleted in the new diff when the position pointed at an added line in the old diff when the file's content was unchanged between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 10.65 seconds. Current RSS: ~1577M. load average: 1.34 1.23 1.38 1/291 3053 when the file's content was changed between the old and the new diff when that line was unchanged between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 12.23 seconds. Current RSS: ~1575M. load average: 1.34 1.23 1.38 1/291 3255 when that line was moved between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 13.81 seconds. Current RSS: ~1575M. load average: 1.23 1.20 1.37 1/291 3457 when that line was changed between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 15.5 seconds. Current RSS: ~1576M. load average: 1.23 1.20 1.37 2/292 3660 when that line was deleted between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 17.32 seconds. Current RSS: ~1577M. load average: 1.23 1.20 1.37 1/292 3862 when the file is unchanged in the new diff when the position pointed at an added line in the old diff when the file's content was unchanged between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 18.41 seconds. Current RSS: ~1579M. load average: 1.23 1.20 1.37 1/292 3937 when the file's content was changed between the old and the new diff when that line was unchanged between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 19.59 seconds. Current RSS: ~1580M. load average: 1.21 1.20 1.37 1/292 4048 when that line was moved between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 21.14 seconds. Current RSS: ~1587M. load average: 1.21 1.20 1.37 1/292 4213 when that line was changed between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 22.37 seconds. Current RSS: ~1588M. load average: 1.21 1.20 1.37 1/292 4308 when that line was deleted between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 23.93 seconds. Current RSS: ~1589M. load average: 1.27 1.22 1.38 1/292 4493 when the file was changed in the old diff when the file is created in the new diff when the position pointed at an added line in the old diff when the file's content was unchanged between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 25.03 seconds. Current RSS: ~1591M. load average: 1.27 1.22 1.38 1/292 4580 when the file's content was changed between the old and the new diff when that line was unchanged between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 26.28 seconds. Current RSS: ~1590M. load average: 1.27 1.22 1.38 1/292 4703 when that line was moved between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 27.5 seconds. Current RSS: ~1591M. load average: 1.27 1.22 1.38 1/292 4826 when that line was changed or deleted between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 28.8 seconds. Current RSS: ~1590M. load average: 1.25 1.21 1.37 1/292 4939 when the position pointed at a deleted line in the old diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 29.93 seconds. Current RSS: ~1589M. load average: 1.25 1.21 1.37 1/292 5016 when the position pointed at an unchanged line in the old diff when the file's content was unchanged between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 30.99 seconds. Current RSS: ~1589M. load average: 1.25 1.21 1.37 1/292 5109 when the file's content was changed between the old and the new diff when that line was unchanged between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 32.26 seconds. Current RSS: ~1588M. load average: 1.25 1.21 1.37 2/292 5238 when that line was moved between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 33.84 seconds. Current RSS: ~1588M. load average: 1.23 1.21 1.37 1/292 5421 when that line was changed or deleted between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 35.37 seconds. Current RSS: ~1589M. load average: 1.23 1.21 1.37 1/292 5604 when the file is changed in the new diff when the position pointed at an added line in the old diff when the file's content was unchanged between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 36.61 seconds. Current RSS: ~1589M. load average: 1.23 1.21 1.37 1/292 5709 when the file's content was changed between the old and the new diff when that line was unchanged between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 38.15 seconds. Current RSS: ~1590M. load average: 1.23 1.21 1.37 1/292 5895 when that line was moved between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 39.42 seconds. Current RSS: ~1591M. load average: 1.29 1.22 1.37 1/292 6027 when that line was changed or deleted between the old and the new diff returns the position of the change # [RSpecRunTime] RSpec elapsed time: 4 minutes 40.61 seconds. Current RSS: ~1592M. load average: 1.29 1.22 1.37 1/292 6140 when the position pointed at a deleted line in the old diff when the file's content was unchanged between the old and the new diff returns the new position # [RSpecRunTime] RSpec elapsed time: 4 minutes 41.88 seconds. Current RSS: ~1592M. load average: 1.29 1.22 1.37 1/292 6245 typical use scenarios simple push of new commit returns the new positions # [RSpecRunTime] RSpec elapsed time: 4 minutes 43.19 seconds. Current RSS: ~1592M. load average: 1.29 1.22 1.37 1/292 6383 force push to overwrite last commit returns the new positions # [RSpecRunTime] RSpec elapsed time: 4 minutes 44.45 seconds. Current RSS: ~1595M. load average: 1.27 1.22 1.37 1/292 6503 force push to delete last commit returns the new positions # [RSpecRunTime] RSpec elapsed time: 4 minutes 45.8 seconds. Current RSS: ~1598M. load average: 1.27 1.22 1.37 1/292 6641 rebase on top of target branch returns the new positions # [RSpecRunTime] RSpec elapsed time: 4 minutes 47.32 seconds. Current RSS: ~1599M. load average: 1.27 1.22 1.37 1/292 6821 merge of target branch returns the new positions # [RSpecRunTime] RSpec elapsed time: 4 minutes 49.34 seconds. Current RSS: ~1599M. load average: 1.25 1.21 1.37 1/293 7005 changing target branch returns the new positions # [RSpecRunTime] RSpec elapsed time: 4 minutes 50.7 seconds. Current RSS: ~1592M. load average: 1.25 1.21 1.37 1/293 7149 # [RSpecRunTime] Finishing example group spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb. It took 1 minute 7.01 seconds. Expected to take 1 minute 24.44 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb. Expected to take 1 minute 11.2 seconds. Gitlab::SidekiqMiddleware::ServerMetrics behaves like metrics middleware with worker attribution when workers are not attributed behaves like a metrics middleware with mocked prometheus .initialize_process_metrics sets concurrency metrics initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process when emit_sidekiq_histogram FF is disabled does not initialize sidekiq_jobs_completion_seconds # [RSpecRunTime] RSpec elapsed time: 4 minutes 52.58 seconds. Current RSS: ~1547M. load average: 1.25 1.21 1.37 1/292 7150 initializing execution and queueing SLIs initializes the execution and queueing SLIs with labels when the sidekiq_job_completion_metric_initialize feature flag is disabled sets the concurrency metric does not initialize sidekiq_jobs_completion_seconds sidekiq execution SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs sidekiq queueing SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs #call yields block calls BackgroundTransaction sets queue specific metrics sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics sets the thread name if it was nil when job_duration is not available does not set the queue_duration_seconds histogram when error is raised sets sidekiq_jobs_failed_total and reraises records sidekiq SLI error but does not record sidekiq SLI apdex when job is retried sets sidekiq_jobs_retried_total metric when job is interrupted sets sidekiq_jobs_interrupted_total metric with prometheus integrated #call yields block when error is raised sets sidekiq_jobs_failed_total and reraises when a worker is wrapped into ActiveJob behaves like a metrics middleware with mocked prometheus .initialize_process_metrics sets concurrency metrics initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process when emit_sidekiq_histogram FF is disabled does not initialize sidekiq_jobs_completion_seconds initializing execution and queueing SLIs initializes the execution and queueing SLIs with labels when the sidekiq_job_completion_metric_initialize feature flag is disabled sets the concurrency metric does not initialize sidekiq_jobs_completion_seconds sidekiq execution SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs sidekiq queueing SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs #call yields block calls BackgroundTransaction sets queue specific metrics sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics sets the thread name if it was nil when job_duration is not available does not set the queue_duration_seconds histogram when error is raised sets sidekiq_jobs_failed_total and reraises records sidekiq SLI error but does not record sidekiq SLI apdex when job is retried sets sidekiq_jobs_retried_total metric when job is interrupted sets sidekiq_jobs_interrupted_total metric with prometheus integrated #call yields block when error is raised sets sidekiq_jobs_failed_total and reraises when workers are attributed high urgency behaves like a metrics middleware with mocked prometheus .initialize_process_metrics sets concurrency metrics initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process when emit_sidekiq_histogram FF is disabled does not initialize sidekiq_jobs_completion_seconds initializing execution and queueing SLIs initializes the execution and queueing SLIs with labels when the sidekiq_job_completion_metric_initialize feature flag is disabled sets the concurrency metric does not initialize sidekiq_jobs_completion_seconds sidekiq execution SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs sidekiq queueing SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs #call yields block calls BackgroundTransaction sets queue specific metrics sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics sets the thread name if it was nil when job_duration is not available does not set the queue_duration_seconds histogram when error is raised sets sidekiq_jobs_failed_total and reraises records sidekiq SLI error but does not record sidekiq SLI apdex when job is retried sets sidekiq_jobs_retried_total metric when job is interrupted sets sidekiq_jobs_interrupted_total metric with prometheus integrated #call yields block when error is raised sets sidekiq_jobs_failed_total and reraises no urgency behaves like a metrics middleware with mocked prometheus .initialize_process_metrics sets concurrency metrics initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process when emit_sidekiq_histogram FF is disabled does not initialize sidekiq_jobs_completion_seconds initializing execution and queueing SLIs initializes the execution and queueing SLIs with labels when the sidekiq_job_completion_metric_initialize feature flag is disabled sets the concurrency metric does not initialize sidekiq_jobs_completion_seconds sidekiq execution SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs sidekiq queueing SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs #call yields block calls BackgroundTransaction sets queue specific metrics sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics sets the thread name if it was nil when job_duration is not available does not set the queue_duration_seconds histogram when error is raised sets sidekiq_jobs_failed_total and reraises records sidekiq SLI error but does not record sidekiq SLI apdex when job is retried sets sidekiq_jobs_retried_total metric when job is interrupted sets sidekiq_jobs_interrupted_total metric with prometheus integrated #call yields block when error is raised sets sidekiq_jobs_failed_total and reraises external dependencies behaves like a metrics middleware with mocked prometheus .initialize_process_metrics sets concurrency metrics initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process when emit_sidekiq_histogram FF is disabled does not initialize sidekiq_jobs_completion_seconds initializing execution and queueing SLIs initializes the execution and queueing SLIs with labels when the sidekiq_job_completion_metric_initialize feature flag is disabled sets the concurrency metric does not initialize sidekiq_jobs_completion_seconds sidekiq execution SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs sidekiq queueing SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs #call yields block calls BackgroundTransaction sets queue specific metrics sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics sets the thread name if it was nil when job_duration is not available does not set the queue_duration_seconds histogram when error is raised sets sidekiq_jobs_failed_total and reraises records sidekiq SLI error but does not record sidekiq SLI apdex when job is retried sets sidekiq_jobs_retried_total metric when job is interrupted sets sidekiq_jobs_interrupted_total metric with prometheus integrated #call yields block when error is raised sets sidekiq_jobs_failed_total and reraises cpu boundary behaves like a metrics middleware with mocked prometheus .initialize_process_metrics sets concurrency metrics initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process when emit_sidekiq_histogram FF is disabled does not initialize sidekiq_jobs_completion_seconds initializing execution and queueing SLIs initializes the execution and queueing SLIs with labels when the sidekiq_job_completion_metric_initialize feature flag is disabled sets the concurrency metric does not initialize sidekiq_jobs_completion_seconds sidekiq execution SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs sidekiq queueing SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs #call yields block calls BackgroundTransaction sets queue specific metrics sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics sets the thread name if it was nil when job_duration is not available does not set the queue_duration_seconds histogram when error is raised sets sidekiq_jobs_failed_total and reraises records sidekiq SLI error but does not record sidekiq SLI apdex when job is retried sets sidekiq_jobs_retried_total metric when job is interrupted sets sidekiq_jobs_interrupted_total metric with prometheus integrated #call yields block when error is raised sets sidekiq_jobs_failed_total and reraises memory boundary behaves like a metrics middleware with mocked prometheus .initialize_process_metrics sets concurrency metrics initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process when emit_sidekiq_histogram FF is disabled does not initialize sidekiq_jobs_completion_seconds initializing execution and queueing SLIs initializes the execution and queueing SLIs with labels when the sidekiq_job_completion_metric_initialize feature flag is disabled sets the concurrency metric does not initialize sidekiq_jobs_completion_seconds sidekiq execution SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs sidekiq queueing SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs #call yields block calls BackgroundTransaction sets queue specific metrics sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics sets the thread name if it was nil when job_duration is not available does not set the queue_duration_seconds histogram when error is raised sets sidekiq_jobs_failed_total and reraises records sidekiq SLI error but does not record sidekiq SLI apdex when job is retried sets sidekiq_jobs_retried_total metric when job is interrupted sets sidekiq_jobs_interrupted_total metric with prometheus integrated #call yields block when error is raised sets sidekiq_jobs_failed_total and reraises feature category behaves like a metrics middleware with mocked prometheus .initialize_process_metrics sets concurrency metrics initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process when emit_sidekiq_histogram FF is disabled does not initialize sidekiq_jobs_completion_seconds initializing execution and queueing SLIs initializes the execution and queueing SLIs with labels when the sidekiq_job_completion_metric_initialize feature flag is disabled sets the concurrency metric does not initialize sidekiq_jobs_completion_seconds sidekiq execution SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs sidekiq queueing SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs #call yields block calls BackgroundTransaction sets queue specific metrics sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics sets the thread name if it was nil when job_duration is not available does not set the queue_duration_seconds histogram when error is raised sets sidekiq_jobs_failed_total and reraises records sidekiq SLI error but does not record sidekiq SLI apdex when job is retried sets sidekiq_jobs_retried_total metric when job is interrupted sets sidekiq_jobs_interrupted_total metric with prometheus integrated #call yields block when error is raised sets sidekiq_jobs_failed_total and reraises combined behaves like a metrics middleware with mocked prometheus .initialize_process_metrics sets concurrency metrics initializes sidekiq_jobs_completion_seconds for the workers in the current Sidekiq process when emit_sidekiq_histogram FF is disabled does not initialize sidekiq_jobs_completion_seconds initializing execution and queueing SLIs initializes the execution and queueing SLIs with labels when the sidekiq_job_completion_metric_initialize feature flag is disabled sets the concurrency metric does not initialize sidekiq_jobs_completion_seconds sidekiq execution SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs sidekiq queueing SLIs behaves like not initializing sidekiq SLIs does not initialize sidekiq SLIs #call yields block calls BackgroundTransaction sets queue specific metrics sets sidekiq_jobs_completion_seconds values that are compatible with those from .initialize_process_metrics sets the thread name if it was nil when job_duration is not available does not set the queue_duration_seconds histogram when error is raised sets sidekiq_jobs_failed_total and reraises records sidekiq SLI error but does not record sidekiq SLI apdex when job is retried sets sidekiq_jobs_retried_total metric when job is interrupted sets sidekiq_jobs_interrupted_total metric with prometheus integrated #call yields block when error is raised sets sidekiq_jobs_failed_total and reraises DB load balancing #call when worker declares data consistency increments load balancing counter with defined data consistency when worker does not declare data consistency increments load balancing counter with default data consistency feature attribution when a worker has a feature category uses that category for metrics when a worker does not have a feature category uses the category from the context for metrics when emit_sidekiq_histogram_metrics FF is disabled does not emit histogram metrics emits sidekiq_jobs_completion_seconds sum and count metric emits resource usage sum metrics # [RSpecRunTime] Finishing example group spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb. It took 18.59 seconds. Expected to take 1 minute 11.2 seconds. # [RSpecRunTime] Starting example group spec/services/projects/fork_service_spec.rb. Expected to take 1 minute 0.86 second. Projects::ForkService #execute when forker is a guest does not create a fork does not create a fork network # [RSpecRunTime] RSpec elapsed time: 5 minutes 10.8 seconds. Current RSS: ~1529M. load average: 1.18 1.20 1.36 1/288 7158 when forker is a developer creates a fork of the project after forking the original project still has its avatar creates a fork network with the new project and the root project set imports the repository of the forked project behaves like forks count cache refresh flushes the forks count cache of the source project # [RSpecRunTime] RSpec elapsed time: 5 minutes 18.97 seconds. Current RSS: ~1529M. load average: 1.31 1.22 1.37 1/291 7218 when creating fork of the fork creates a new project when the forked project has higher visibility than the root project successfully creates a fork of the fork with correct visibility # [RSpecRunTime] RSpec elapsed time: 5 minutes 22.39 seconds. Current RSS: ~1528M. load average: 1.31 1.22 1.37 1/291 7227 behaves like forks count cache refresh flushes the forks count cache of the source project # [RSpecRunTime] RSpec elapsed time: 5 minutes 25.22 seconds. Current RSS: ~1521M. load average: 1.28 1.22 1.36 1/291 7232 when project already exists fails due to validation, not transaction failure when repository in legacy storage already exists does not allow creation when repository disk validation is explicitly skipped allows fork project creation # [RSpecRunTime] RSpec elapsed time: 5 minutes 27.18 seconds. Current RSS: ~1516M. load average: 1.28 1.22 1.36 1/291 7238 CI/CD settings when origin has git depth specified inherits default_git_depth from the origin project when origin does not define git depth the fork has git depth set to 0 when project has restricted visibility level and only one visibility level is restricted creates fork with lowest level and all visibility levels are restricted doesn't create a fork when forking is disabled does not create a fork when forking to the group namespace when user owns a target group creates a fork in the group when project already exists in group fails due to validation, not transaction failure # [RSpecRunTime] RSpec elapsed time: 5 minutes 32.39 seconds. Current RSS: ~1529M. load average: 1.26 1.22 1.36 1/289 7253 when the namespace has a lower visibility level than the project creates the project with the lower visibility level # [RSpecRunTime] RSpec elapsed time: 5 minutes 33.69 seconds. Current RSS: ~1529M. load average: 1.26 1.22 1.36 1/289 7256 when user is not a group owner does not create a fork with optional attributes sets optional attributes to specified values when an unknown visibility is requested sets visibility level to private # [RSpecRunTime] RSpec elapsed time: 5 minutes 36.06 seconds. Current RSS: ~1530M. load average: 1.24 1.21 1.36 1/289 7261 when requested visibility level is greater than allowed sets visibility level to project visibility # [RSpecRunTime] RSpec elapsed time: 5 minutes 37.2 seconds. Current RSS: ~1531M. load average: 1.24 1.21 1.36 1/289 7264 when target namespace has lower visibility than a project sets visibility level to target namespace visibility level # [RSpecRunTime] RSpec elapsed time: 5 minutes 38.52 seconds. Current RSS: ~1530M. load average: 1.24 1.21 1.36 1/289 7267 when project has custom visibility settings copies project features visibility settings to the fork # [RSpecRunTime] RSpec elapsed time: 5 minutes 39.63 seconds. Current RSS: ~1529M. load average: 1.38 1.24 1.37 1/289 7270 when a project is already forked creates a new pool repository after the project is moved to a new shard # [RSpecRunTime] RSpec elapsed time: 5 minutes 41.93 seconds. Current RSS: ~1530M. load average: 1.38 1.24 1.37 1/289 7278 when forking with object pools when no pool exists creates a new object pool when project is private does not create an object pool # [RSpecRunTime] RSpec elapsed time: 5 minutes 44.43 seconds. Current RSS: ~1542M. load average: 1.43 1.26 1.37 1/289 7295 when a pool already exists joins the object pool when linking fork to an existing project if project is already forked does not create fork relation if project is not forked creates fork relation flushes the forks count cache of the source project when user cannot fork returns an error # [RSpecRunTime] RSpec elapsed time: 5 minutes 47.13 seconds. Current RSS: ~1542M. load average: 1.43 1.26 1.37 1/289 7298 if the fork is not allowed does not delete the LFS objects #valid_fork_targets returns whatever finder returns #valid_fork_branch? when branch exists is expected to be truthy when branch does not exist is expected to be falsey #valid_fork_target? when target is not passed when current user is an admin is expected to be truthy when current_user is not an admin when target namespace is in valid fork targets is expected to be truthy when target namespace is not in valid fork targets is expected to be falsey when target is passed when current user is an admin is expected to be truthy when current user is not an admin when target namespace is in valid fork targets is expected to be truthy when target namespace is not in valid fork targets is expected to be falsey # [RSpecRunTime] Finishing example group spec/services/projects/fork_service_spec.rb. It took 40.27 seconds. Expected to take 1 minute 0.86 second. # [RSpecRunTime] Starting example group spec/finders/packages/group_packages_finder_spec.rb. Expected to take 53.46 seconds. Packages::GroupPackagesFinder #execute group has packages is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> and #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> subgroup has packages is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> excluding subgroups is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> and #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> # [RSpecRunTime] RSpec elapsed time: 5 minutes 52.76 seconds. Current RSS: ~1547M. load average: 1.48 1.27 1.38 1/289 7304 permissions role: :anonymous, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :guest, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :reporter, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :developer, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :maintainer, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :anonymous, project_visibility: :public, repository_visibility: :private, packages_returned: :none is expected to contain exactly role: :guest, project_visibility: :public, repository_visibility: :private, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :reporter, project_visibility: :public, repository_visibility: :private, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :developer, project_visibility: :public, repository_visibility: :private, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :maintainer, project_visibility: :public, repository_visibility: :private, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :anonymous, project_visibility: :private, repository_visibility: :enabled, packages_returned: :none is expected to contain exactly role: :guest, project_visibility: :private, repository_visibility: :enabled, packages_returned: :none is expected to contain exactly role: :reporter, project_visibility: :private, repository_visibility: :enabled, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :developer, project_visibility: :private, repository_visibility: :enabled, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :maintainer, project_visibility: :private, repository_visibility: :enabled, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :anonymous, project_visibility: :private, repository_visibility: :private, packages_returned: :none is expected to contain exactly role: :guest, project_visibility: :private, repository_visibility: :private, packages_returned: :none is expected to contain exactly role: :reporter, project_visibility: :private, repository_visibility: :private, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :developer, project_visibility: :private, repository_visibility: :private, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> role: :maintainer, project_visibility: :private, repository_visibility: :private, packages_returned: :all is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> deploy tokens group deploy token is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> behaves like disabling package registry for project is expected to contain exactly #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> project deploy token is expected to contain exactly #<Packages::Package id: 7, project_id: 94, created_at: "2024-02-20 23:25:25.230365568 +0000", updated...ackage_type: "npm", creator_id: 72, status: "default", last_downloaded_at: nil, status_message: nil> behaves like disabling package registry for project is expected to contain exactly avoid N+1 query avoids N+1 database queries # [RSpecRunTime] RSpec elapsed time: 6 minutes 11.4 seconds. Current RSS: ~1514M. load average: 1.34 1.25 1.37 1/290 7326 when there are processing packages is expected to contain exactly #<Packages::Package id: 2, project_id: 89, created_at: "2024-02-20 23:25:23.601004717 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> and #<Packages::Package id: 4, project_id: 89, created_at: "2024-02-20 23:25:23.945407241 +0000", updated...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> preload_pipelines preloads pipelines by default set to false does not preload pipelines with package_name as complete name is expected to eq [#<Packages::Package id: 26, project_id: 89, created_at: "2024-02-20 23:25:45.814137800 +0000", updat...age_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>] for fuzzy filter aven is expected to eq [#<Packages::Package id: 26, project_id: 89, created_at: "2024-02-20 23:25:45.814137800 +0000", updat...age_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>] for fuzzy filter mav is expected to eq [#<Packages::Package id: 26, project_id: 89, created_at: "2024-02-20 23:25:45.814137800 +0000", updat...age_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>] for fuzzy filter ave is expected to eq [#<Packages::Package id: 26, project_id: 89, created_at: "2024-02-20 23:25:45.814137800 +0000", updat...age_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil>] with exact package_name as complete name is expected to contain exactly #<Packages::Package id: 28, project_id: 89, created_at: "2024-02-20 23:25:47.502220226 +0000", update...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like concerning versionless param is expected not to include #<Packages::Package id: 32, project_id: 89, created_at: "2024-02-20 23:25:48.466816046 +0000", update...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> with valid include_versionless param is expected to include #<Packages::Package id: 32, project_id: 89, created_at: "2024-02-20 23:25:48.466816046 +0000", update...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> with empty include_versionless param is expected not to include #<Packages::Package id: 32, project_id: 89, created_at: "2024-02-20 23:25:48.466816046 +0000", update...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like concerning package statuses displayable packages is expected not to include #<Packages::Package id: 34, project_id: 89, created_at: "2024-02-20 23:25:49.737261114 +0000", update...ckage_type: "maven", creator_id: 67, status: "hidden", last_downloaded_at: nil, status_message: nil> is expected to include #<Packages::Package id: 36, project_id: 89, created_at: "2024-02-20 23:25:50.086621118 +0000", update...ackage_type: "maven", creator_id: 67, status: "error", last_downloaded_at: nil, status_message: nil> # [RSpecRunTime] RSpec elapsed time: 6 minutes 17.59 seconds. Current RSS: ~1525M. load average: 1.31 1.25 1.36 1/290 7327 with status param is expected to contain exactly #<Packages::Package id: 34, project_id: 89, created_at: "2024-02-20 23:25:49.737261114 +0000", update...ckage_type: "maven", creator_id: 67, status: "hidden", last_downloaded_at: nil, status_message: nil> with invalid status param is expected to raise Packages::FinderHelper::InvalidStatusError behaves like disabling package registry for project is expected to contain exactly group has package of all types behaves like with package type is expected to contain exactly #<Packages::Package id: 38, project_id: 89, created_at: "2024-02-20 23:25:51.913607389 +0000", update...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> # [RSpecRunTime] RSpec elapsed time: 6 minutes 19.94 seconds. Current RSS: ~1525M. load average: 1.29 1.24 1.36 1/290 7328 behaves like with package type is expected to contain exactly #<Packages::Package id: 39, project_id: 89, created_at: "2024-02-20 23:25:51.963108194 +0000", update...ackage_type: "npm", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like with package type is expected to contain exactly #<Packages::Package id: 41, project_id: 89, created_at: "2024-02-20 23:25:52.285981101 +0000", update...kage_type: "conan", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like with package type is expected to contain exactly #<Packages::Package id: 42, project_id: 89, created_at: "2024-02-20 23:25:52.385494200 +0000", update...kage_type: "nuget", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like with package type is expected to contain exactly #<Packages::Package id: 43, project_id: 89, created_at: "2024-02-20 23:25:52.444229755 +0000", update...ckage_type: "pypi", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like with package type is expected to contain exactly #<Packages::Package id: 44, project_id: 89, created_at: "2024-02-20 23:25:52.473947932 +0000", update...e_type: "composer", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like with package type is expected to contain exactly #<Packages::Package id: 45, project_id: 89, created_at: "2024-02-20 23:25:52.480995761 +0000", update...ge_type: "generic", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like with package type is expected to contain exactly #<Packages::Package id: 46, project_id: 89, created_at: "2024-02-20 23:25:52.487607880 +0000", update...age_type: "golang", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like with package type is expected to contain exactly #<Packages::Package id: 47, project_id: 89, created_at: "2024-02-20 23:25:52.503789238 +0000", update...age_type: "debian", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like with package type is expected to contain exactly #<Packages::Rubygems::Package id: 48, project_id: 89, created_at: "2024-02-20 23:25:52.658882583 +000...e_type: "rubygems", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like with package type is expected to contain exactly #<Packages::Package id: 49, project_id: 89, created_at: "2024-02-20 23:25:52.693030069 +0000", update...ckage_type: "helm", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like with package type is expected to contain exactly #<Packages::Package id: 50, project_id: 89, created_at: "2024-02-20 23:25:52.717598386 +0000", update..."terraform_module", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like with package type is expected to contain exactly #<Packages::Package id: 51, project_id: 89, created_at: "2024-02-20 23:25:52.737719984 +0000", update...ackage_type: "rpm", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> behaves like with package type is expected to contain exactly #<Packages::MlModel::Package id: 52, project_id: 89, created_at: "2024-02-20 23:25:52.744367933 +0000...e_type: "ml_model", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> group has no packages is expected to be empty group is nil is expected to be empty package type is nil is expected to contain exactly #<Packages::Package id: 54, project_id: 89, created_at: "2024-02-20 23:25:57.959250734 +0000", update...kage_type: "maven", creator_id: 67, status: "default", last_downloaded_at: nil, status_message: nil> with invalid package_type is expected to raise Packages::FinderHelper::InvalidPackageTypeError # [RSpecRunTime] Finishing example group spec/finders/packages/group_packages_finder_spec.rb. It took 35.77 seconds. Expected to take 53.46 seconds. # [RSpecRunTime] Starting example group spec/models/hooks/web_hook_spec.rb. Expected to take 48.17 seconds. WebHook does not allow STI associations is expected to have many web_hook_logs validations is expected to validate that :url cannot be empty/falsy is expected to validate that the length of :custom_webhook_template is at most 4096 only consider these branch filter strategies are valid url_variables is expected to allow :url_variables to be ‹{}› is expected to allow :url_variables to be ‹{"foo" => "bar"}› is expected to allow :url_variables to be ‹{"FOO" => "bar"}› is expected to allow :url_variables to be ‹{"MY_TOKEN" => "bar"}› is expected to allow :url_variables to be ‹{"foo2" => "bar"}› is expected to allow :url_variables to be ‹{"x" => "y"}› is expected to allow :url_variables to be ‹{"x" => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}› is expected to allow :url_variables to be ‹{"foo" => "bar", "bar" => "baz"}› is expected to allow :url_variables to be ‹{"k1" => "value", "k2" => "value", "k3" => "value", "k4" => "value", "k5" => "value", "k6" => "value", "k7" => "value", "k8" => "value", "k9" => "value", "k10" => "value", "k11" => "value", "k12" => "value", "k13" => "value", "k14" => "value", "k15" => "value", "k16" => "value", "k17" => "value", "k18" => "value", "k19" => "value", "k20" => "value"}› is expected to allow :url_variables to be ‹{"MY-TOKEN" => "bar"}› is expected to allow :url_variables to be ‹{"my_secr3t-token" => "bar"}› is expected to allow :url_variables to be ‹{"x-y-z" => "bar"}› is expected to allow :url_variables to be ‹{"x_y_z" => "bar"}› is expected to allow :url_variables to be ‹{"f.o.o" => "bar"}› is expected not to allow :url_variables to be ‹[]› is expected not to allow :url_variables to be ‹{"foo" => 1}› is expected not to allow :url_variables to be ‹{"bar" => :baz}› is expected not to allow :url_variables to be ‹{"bar" => nil}› is expected not to allow :url_variables to be ‹{"foo" => ""}› is expected not to allow :url_variables to be ‹{"foo" => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}› is expected not to allow :url_variables to be ‹{"has spaces" => "foo"}› is expected not to allow :url_variables to be ‹{"" => "foo"}› is expected not to allow :url_variables to be ‹{"1foo" => "foo"}› is expected not to allow :url_variables to be ‹{"k1" => "value", "k2" => "value", "k3" => "value", "k4" => "value", "k5" => "value", "k6" => "value", "k7" => "value", "k8" => "value", "k9" => "value", "k10" => "value", "k11" => "value", "k12" => "value", "k13" => "value", "k14" => "value", "k15" => "value", "k16" => "value", "k17" => "value", "k18" => "value", "k19" => "value", "k20" => "value", "k21" => "value"}› is expected not to allow :url_variables to be ‹{"MY--TOKEN" => "foo"}› is expected not to allow :url_variables to be ‹{"MY__SECRET" => "foo"}› is expected not to allow :url_variables to be ‹{"x-_y" => "foo"}› is expected not to allow :url_variables to be ‹{"x..y" => "foo"}› # [RSpecRunTime] RSpec elapsed time: 6 minutes 28.57 seconds. Current RSS: ~1558M. load average: 1.27 1.24 1.36 2/290 7329 url is expected to allow :url to be ‹"http://example.com"› is expected to allow :url to be ‹"https://example.com"› is expected to allow :url to be ‹" https://example.com "› is expected to allow :url to be ‹"http://test.com/api"› is expected to allow :url to be ‹"http://test.com/api?key=abc"› is expected to allow :url to be ‹"http://test.com/api?key=abc&type=def"› is expected not to allow :url to be ‹"example.com"› is expected not to allow :url to be ‹"ftp://example.com"› is expected not to allow :url to be ‹"herp-and-derp"› strips :url before saving it when url is local is expected not to allow :url to be ‹"http://localhost:9000"› is valid if application settings allow local requests from web hooks # [RSpecRunTime] RSpec elapsed time: 6 minutes 30.71 seconds. Current RSS: ~1589M. load average: 1.24 1.23 1.36 1/290 7330 when there are URL variables is expected to allow :url to be ‹"http://example.com"› is expected to allow :url to be ‹"http://example.com/{one}/{two}"› is expected to allow :url to be ‹"http://example.com/{one}"› is expected to allow :url to be ‹"http://example.com/{two}"› is expected to allow :url to be ‹"http://user:s3cret@example.com/{two}"› is expected to allow :url to be ‹"http://{one}:{two}@example.com"› is expected to allow :url to be ‹"http://{one}"› is expected to allow :url to be ‹"{url}"› is expected not to allow :url to be ‹"http://example.com/{one}/{two}/{three}"› is expected not to allow :url to be ‹"http://example.com/{foo}"› is expected not to allow :url to be ‹"http:{user}:{pwd}//example.com/{foo}"› mentions all missing variable names # [RSpecRunTime] RSpec elapsed time: 6 minutes 32.85 seconds. Current RSS: ~1600M. load average: 1.24 1.23 1.36 1/290 7331 token is expected to allow :token to be ‹"foobar"› is expected not to allow :token to be ‹"foo\nbar"› or ‹"foo\r\nbar"› push_events_branch_filter with "all branches" strategy is expected to allow :push_events_branch_filter to be ‹"good_branch_name"›, ‹"another/good-branch_name"›, ‹"good branch name"›, ‹"good~branchname"›, ‹"good_branchname("›, ‹"good_branchname["›, or ‹""› with "wildcard" strategy is expected to allow :push_events_branch_filter to be ‹"good_branch_name"›, ‹"another/good-branch_name"›, ‹"good_branch_name("›, or ‹""› is expected not to allow :push_events_branch_filter to be ‹"bad branch name"›, ‹"bad~branchname"›, or ‹"bad_branch_name["› gets rid of whitespace stores whitespace only as empty with "regex" strategy is expected to allow :push_events_branch_filter to be ‹"good_branch_name"›, ‹"another/good-branch_name"›, ‹"good branch name"›, ‹"good~branch~name"›, or ‹""› is expected not to allow :push_events_branch_filter to be ‹"bad_branch_name("› or ‹"bad_branch_name["› before_validation :reset_token resets token if url changed does not reset token if new url is set together with the same token does not reset token if new url is set together with a new token # [RSpecRunTime] RSpec elapsed time: 6 minutes 35.74 seconds. Current RSS: ~1600M. load average: 1.14 1.21 1.35 1/290 7332 before_validation :reset_url_variables resets url variables if url changed resets url variables if url is changed but url variables stayed the same resets url variables if url is changed and url variables are appended resets url variables if url is changed and url variables are removed resets url variables if url variables are overwritten does not reset url variables if both url and url variables are changed without url variables does not reset url variables # [RSpecRunTime] RSpec elapsed time: 6 minutes 37.02 seconds. Current RSS: ~1605M. load average: 1.14 1.21 1.35 1/290 7333 encrypted attributes is expected to contain exactly :token, :url, and :url_variables execute #execute passes force: false to the web hook service by default passes force: true to the web hook service if required #async_execute does not async execute non-executable hooks #destroy does not cascade to web_hook_logs #next_backoff when there was no last backoff is 10 minutes when we have backed off once is twice the initial value when we have backed off 3 times grows exponentially when the previous backoff was large does not exceed the max backoff value #rate_limited? is false when hook has not been rate limited is true when hook has been rate limited #rate_limit returns the hook rate limit #to_json does not error does not contain binary attributes #interpolated_url is not vulnerable to malicious input when the hook URL does not contain variables is expected to have attributes {:interpolated_url => "http://example.com"} when the hook URL contains variables is expected to have attributes {:interpolated_url => "http://example.com/abc/resource?token=xyz"} when a variable is missing raises an error when the URL appears to include percent formatting succeeds, interpolates correctly #update_last_failure is a method of this class #masked_token is expected to be nil with a token is expected to eq "************" #backoff! when we have not backed off before increments the recent_failures count when the recent failure value is the max value of a smallint reduces to MAX_FAILURES when the recent failure value is MAX_FAILURES does not change recent_failures when we have exhausted the grace period sets disabled_until to the next backoff increments the backoff count when we have backed off MAX_FAILURES times does not let the backoff count exceed the maximum failure count does not change disabled_until changes disabled_until when it has elapsed # [RSpecRunTime] RSpec elapsed time: 6 minutes 41.37 seconds. Current RSS: ~1610M. load average: 1.13 1.21 1.35 1/290 7334 #failed! increments the failure count does not update the hook if the the failure count exceeds the maximum value when the recent failure value is the max value of a smallint does not change recent_failures # [RSpecRunTime] Finishing example group spec/models/hooks/web_hook_spec.rb. It took 16.28 seconds. Expected to take 48.17 seconds. # [RSpecRunTime] Starting example group spec/services/work_items/update_service_spec.rb. Expected to take 43.63 seconds. WorkItems::UpdateService #execute when applying quick actions when work item type is not the default Issue does not apply the quick action # [RSpecRunTime] RSpec elapsed time: 6 minutes 43.38 seconds. Current RSS: ~1594M. load average: 1.13 1.21 1.35 1/290 7335 when work item type is the default Issue applies the quick action when title is changed triggers issuable_title_updated graphql subscription behaves like internal event tracking logs to Snowplow # [RSpecRunTime] RSpec elapsed time: 6 minutes 45.28 seconds. Current RSS: ~1588M. load average: 1.12 1.20 1.35 1/290 7336 behaves like update service that triggers GraphQL work_item_updated subscription triggers graphql subscription workItemUpdated when title is not changed does not trigger issuable_title_updated graphql subscription does not emit Snowplow event # [RSpecRunTime] RSpec elapsed time: 6 minutes 47.04 seconds. Current RSS: ~1581M. load average: 1.12 1.20 1.35 1/290 7337 when dates are changed tracks users updating work item dates behaves like update service that triggers GraphQL work_item_updated subscription triggers graphql subscription workItemUpdated # [RSpecRunTime] RSpec elapsed time: 6 minutes 48.13 seconds. Current RSS: ~1577M. load average: 1.12 1.20 1.35 1/290 7338 when decription is changed triggers GraphQL description updated subscription behaves like update service that triggers GraphQL work_item_updated subscription triggers graphql subscription workItemUpdated # [RSpecRunTime] RSpec elapsed time: 6 minutes 49.31 seconds. Current RSS: ~1563M. load average: 1.11 1.20 1.34 1/290 7339 when decription is not changed does not trigger GraphQL description updated subscription when updating state_event when state_event is close closes the work item when state_event is reopen reopens the work item behaves like work item widgetable service executes callbacks for expected widgets when updating widgets when widget service is not present ignores widget param when the widget does not support update callback ignores widget param for the description widget updates the description of the work item behaves like update service that triggers GraphQL work_item_updated subscription triggers graphql subscription workItemUpdated # [RSpecRunTime] RSpec elapsed time: 6 minutes 53.55 seconds. Current RSS: ~1539M. load average: 1.11 1.20 1.34 1/290 7340 with mentions when description contains a user mention behaves like creates the todo and sends email creates a todo and sends email # [RSpecRunTime] RSpec elapsed time: 6 minutes 55.05 seconds. Current RSS: ~1537M. load average: 1.02 1.18 1.34 1/290 7341 when title contains a user mention behaves like creates the todo and sends email creates a todo and sends email # [RSpecRunTime] RSpec elapsed time: 6 minutes 56.25 seconds. Current RSS: ~1537M. load average: 1.02 1.18 1.34 1/290 7342 when work item validation fails returns validation errors does not execute after-update widgets for start and due date widget when due_date is updated behaves like update service that triggers graphql dates updated subscription triggers graphql subscription issueableDatesUpdated when start_date is updated behaves like update service that triggers graphql dates updated subscription triggers graphql subscription issueableDatesUpdated when no date param is updated does not trigger date updated subscription for the hierarchy widget updates the children of the work item behaves like update service that triggers GraphQL work_item_updated subscription triggers graphql subscription workItemUpdated # [RSpecRunTime] RSpec elapsed time: 7 minutes 0.36 second. Current RSS: ~1535M. load average: 1.02 1.18 1.34 1/290 7343 when child type is invalid returns error status does not update work item attributes when work item validation fails returns validation errors does not execute after-update widgets for milestone widget when milestone is updated triggers 'issuableMilestoneUpdated' behaves like update service that triggers GraphQL work_item_updated subscription triggers graphql subscription workItemUpdated # [RSpecRunTime] RSpec elapsed time: 7 minutes 3.56 seconds. Current RSS: ~1532M. load average: 1.02 1.18 1.34 1/290 7344 when milestone remains unchanged does not trigger 'issuableMilestoneUpdated' for current user todos widget when action is mark_as_done marks current user todo as done behaves like update service that triggers GraphQL work_item_updated subscription triggers graphql subscription workItemUpdated # [RSpecRunTime] RSpec elapsed time: 7 minutes 5.13 seconds. Current RSS: ~1532M. load average: 1.02 1.17 1.33 1/290 7345 when action is add adds a ToDo for the work item label updates when labels are changed tracks users updating work item labels behaves like update service that triggers GraphQL work_item_updated subscription triggers graphql subscription workItemUpdated # [RSpecRunTime] RSpec elapsed time: 7 minutes 6.88 seconds. Current RSS: ~1533M. load average: 1.02 1.17 1.33 1/290 7346 behaves like broadcasting issuable labels updates when label is added triggers the GraphQL subscription when label is removed triggers the GraphQL subscription when label is unchanged does not trigger the GraphQL subscription when labels are not changed when labels param is not provided behaves like work item update that does not track label updates does not track users updating work item labels when labels param is provided but labels remain unchanged behaves like work item update that does not track label updates does not track users updating work item labels when labels param is provided invalid values behaves like work item update that does not track label updates does not track users updating work item labels # [RSpecRunTime] Finishing example group spec/services/work_items/update_service_spec.rb. It took 28.56 seconds. Expected to take 43.63 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/pagination/offset_pagination_spec.rb. Expected to take 39.63 seconds. Gitlab::Pagination::OffsetPagination #paginate when resource can be paginated first page does not return the total headers when excluding them when resources count is less than MAX_COUNT_LIMIT behaves like paginated response returns appropriate amount of resources executes only one SELECT COUNT query # [RSpecRunTime] RSpec elapsed time: 7 minutes 14.04 seconds. Current RSS: ~1528M. load average: 1.02 1.17 1.33 1/290 7347 behaves like response with pagination headers adds appropriate headers # [RSpecRunTime] RSpec elapsed time: 7 minutes 15.33 seconds. Current RSS: ~1531M. load average: 1.02 1.17 1.33 1/290 7348 when resources count is more than MAX_COUNT_LIMIT does not return the X-Total and X-Total-Pages headers behaves like paginated response returns appropriate amount of resources executes only one SELECT COUNT query # [RSpecRunTime] RSpec elapsed time: 7 minutes 19.12 seconds. Current RSS: ~1517M. load average: 1.01 1.17 1.33 1/290 7349 when without_count is true does not return the X-Total and X-Total-Pages headers behaves like paginated response returns appropriate amount of resources executes only one SELECT COUNT query # [RSpecRunTime] RSpec elapsed time: 7 minutes 22.95 seconds. Current RSS: ~1518M. load average: 1.01 1.17 1.33 1/290 7350 when resource already paginated when per_page param is specified returns appropriate amount of resources based on per_page param # [RSpecRunTime] RSpec elapsed time: 7 minutes 24.21 seconds. Current RSS: ~1518M. load average: 1.01 1.16 1.33 1/290 7351 when page and per page params are strings returns appropriate amount of resources # [RSpecRunTime] RSpec elapsed time: 7 minutes 25.92 seconds. Current RSS: ~1511M. load average: 1.01 1.16 1.33 1/290 7352 when per_page param is blank returns appropriate amount of resources # [RSpecRunTime] RSpec elapsed time: 7 minutes 28.06 seconds. Current RSS: ~1511M. load average: 1.01 1.16 1.33 1/290 7353 when page param is blank returns appropriate amount of resources based on resource per(N) # [RSpecRunTime] RSpec elapsed time: 7 minutes 29.38 seconds. Current RSS: ~1509M. load average: 1.01 1.16 1.32 1/290 7354 when resource does not respond to limit_value when page param is blank returns appropriate amount of resources # [RSpecRunTime] RSpec elapsed time: 7 minutes 30.82 seconds. Current RSS: ~1510M. load average: 1.01 1.16 1.32 1/290 7355 when per_page param is blank returns appropriate amount of resources with default per page value # [RSpecRunTime] RSpec elapsed time: 7 minutes 32.15 seconds. Current RSS: ~1510M. load average: 1.01 1.16 1.32 1/290 7356 when resource is a paginatable array only returns the requested resources does not return total headers when excluding them behaves like response with pagination headers adds appropriate headers # [RSpecRunTime] RSpec elapsed time: 7 minutes 35.99 seconds. Current RSS: ~1514M. load average: 1.01 1.16 1.32 1/290 7357 second page returns appropriate amount of resources adds appropriate headers # [RSpecRunTime] RSpec elapsed time: 7 minutes 38.57 seconds. Current RSS: ~1515M. load average: 1.01 1.16 1.32 1/290 7358 if order is not present it adds default order(:id) if no order is present is present it does not add anything # [RSpecRunTime] RSpec elapsed time: 7 minutes 41.18 seconds. Current RSS: ~1515M. load average: 1.01 1.15 1.32 1/290 7359 when resource empty first page returns appropriate amount of resources adds appropriate headers # [RSpecRunTime] Finishing example group spec/lib/gitlab/pagination/offset_pagination_spec.rb. It took 31.08 seconds. Expected to take 39.63 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/closing_issue_extractor_spec.rb. Expected to take 36.93 seconds. Gitlab::ClosingIssueExtractor #closed_by_message with a single reference is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] is expected to eq [#<Issue id:5 namespace148/project-164#1>] with an external issue tracker reference extracts the referenced issue extracts the referenced issue even if GitLab issues are disabled for the project # [RSpecRunTime] RSpec elapsed time: 7 minutes 53.17 seconds. Current RSS: ~1538M. load average: 1.01 1.15 1.32 1/290 7360 with a cross-project reference is expected to eq [#<Issue id:6 namespace149/project-165#1>] with a cross-project URL is expected to eq [#<Issue id:6 namespace149/project-165#1>] with a cross-project fork reference is expected to be empty when target project has autoclose issues disabled omits the issue reference when target project has issues disabled omits the issue reference with an invalid URL is expected to eq [] with an invalid keyword such as suffix insted of fix is expected to eq [] with multiple references fetches issues in single line message fetches comma-separated issues references in single line message fetches comma-separated issues numbers in single line message allows oxford commas (comma before and) when referencing multiple issues allows spaces before commas when referencing multiple issues allows non-comma-separated issue numbers in single line message allows mixed comma-separated and non-comma-separated issue numbers in single line message fetches issues in multi-line message fetches issues in hybrid message fetches cross-project references fetches cross-project URL references ignores invalid cross-project URL references # [RSpecRunTime] RSpec elapsed time: 7 minutes 57.7 seconds. Current RSS: ~1537M. load average: 1.01 1.14 1.31 1/290 7363 with autoclose referenced issues disabled excludes same project references includes issues from other projects with autoclose enabled # [RSpecRunTime] Finishing example group spec/lib/gitlab/closing_issue_extractor_spec.rb. It took 16.74 seconds. Expected to take 36.93 seconds. # [RSpecRunTime] Starting example group spec/models/design_management/version_spec.rb. Expected to take 34.66 seconds. DesignManagement::Version does not allow STI relations is expected to have many actions is expected to have many designs through actions constrains the designs relation correctly allows adding multiple versions to a single design # [RSpecRunTime] RSpec elapsed time: 8 minutes 1.24 seconds. Current RSS: ~1531M. load average: 1.01 1.14 1.31 1/290 7364 validations is expected to be valid is expected to validate that :author cannot be empty/falsy is expected to validate that :sha cannot be empty/falsy is expected to validate that :designs cannot be empty/falsy is expected to validate that :issue cannot be empty/falsy is expected to validate that :sha is case-insensitively unique within the scope of :issue_id # [RSpecRunTime] RSpec elapsed time: 8 minutes 4.11 seconds. Current RSS: ~1530M. load average: 1.00 1.14 1.31 1/290 7365 scopes .for_designs only returns versions related to the specified designs # [RSpecRunTime] RSpec elapsed time: 8 minutes 6.49 seconds. Current RSS: ~1518M. load average: 1.00 1.14 1.31 1/290 7366 .earlier_or_equal_to only returns versions created earlier or later than the given version can be passed either a DesignManagement::Version or an ID .by_sha can find versions by sha .create_for_designs does not leave invalid versions around if creation fails does not leave orphaned design-versions around if creation fails creates a version and links it to multiple designs creates designs if they are new to git correctly associates the version with the issue correctly associates the version with the author modifies designs if git updated them deletes designs when the git action was delete re-creates designs if they are deleted changes the version of the designs the error raised when there are no actions raises CouldNotCreateVersion has an appropriate cause provides extra data sentry can consume # [RSpecRunTime] RSpec elapsed time: 8 minutes 8.24 seconds. Current RSS: ~1537M. load average: 1.00 1.14 1.31 1/290 7367 the error raised when the designs come from different issues raises CouldNotCreateVersion has an appropriate cause provides extra data sentry can consume #designs_by_event there is a single design behaves like a correctly categorised design returns a hash with a single key and the single design in that bucket behaves like a correctly categorised design returns a hash with a single key and the single design in that bucket behaves like a correctly categorised design returns a hash with a single key and the single design in that bucket there are a bunch of different designs in a variety of states puts them in the right buckets does not suffer from N+1 queries # [RSpecRunTime] RSpec elapsed time: 8 minutes 15.31 seconds. Current RSS: ~1523M. load average: 1.08 1.15 1.31 1/290 7368 #author returns the author returns nil if author_id is nil and version is not persisted retrieves author from the Commit if author_id is nil and version has been persisted # [RSpecRunTime] RSpec elapsed time: 8 minutes 17.3 seconds. Current RSS: ~1523M. load average: 1.08 1.15 1.31 1/292 7388 #diff_refs there is a commit in the repo by the SHA is expected to have attributes {:diff_refs => #<Gitlab::Diff::DiffRefs:0x00007a0364ce4438 @base_sha="6f6d7e7ed97bb5f0054f2b1df789b39ca...a="6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9", @head_sha="570e7b2abdd848b95f2f578043fc23bd6f6fd24d">} memoizes calls to #diff_refs there is no commit in the repo by the SHA is expected to have attributes {:diff_refs => (be nil)} #reset removes memoized values # [RSpecRunTime] Finishing example group spec/models/design_management/version_spec.rb. It took 19.78 seconds. Expected to take 34.66 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb. Expected to take 32.38 seconds. Gitlab::Diff::FileCollection::MergeRequestDiffBatch initialize memoizes pagination_data # [RSpecRunTime] RSpec elapsed time: 8 minutes 19.09 seconds. Current RSS: ~1522M. load average: 1.08 1.15 1.31 1/296 7429 #diff_files returns paginated diff files returns a valid instance of a DiffCollection first page returns correct diff files # [RSpecRunTime] RSpec elapsed time: 8 minutes 23.55 seconds. Current RSS: ~1548M. load average: 1.08 1.15 1.31 1/296 7550 another page returns correct diff files nil batch_page returns correct diff files nil batch_size returns correct diff files # [RSpecRunTime] RSpec elapsed time: 8 minutes 26.53 seconds. Current RSS: ~1563M. load average: 1.07 1.15 1.31 1/296 7671 invalid page returns correct diff files # [RSpecRunTime] RSpec elapsed time: 8 minutes 27.57 seconds. Current RSS: ~1565M. load average: 1.07 1.15 1.31 1/296 7711 last page returns correct diff files # [RSpecRunTime] RSpec elapsed time: 8 minutes 28.66 seconds. Current RSS: ~1566M. load average: 1.07 1.15 1.31 1/296 7752 behaves like unfoldable diff calls Gitlab::Diff::File#unfold_diff_lines with correct position behaves like diff statistics when include_stats is true Repository#diff_stats is called Gitlab::Diff::File is initialized with diff stats # [RSpecRunTime] RSpec elapsed time: 8 minutes 31.71 seconds. Current RSS: ~1567M. load average: 1.07 1.14 1.31 1/296 7872 when should not request diff stats Repository#diff_stats is not called # [RSpecRunTime] RSpec elapsed time: 8 minutes 32.8 seconds. Current RSS: ~1566M. load average: 1.07 1.14 1.31 1/297 7912 behaves like cacheable diff collection #write_cache calls Gitlab::Diff::HighlightCache#write_if_empty calls Gitlab::Diff::StatsCache#write_if_empty with diff stats # [RSpecRunTime] RSpec elapsed time: 8 minutes 34.8 seconds. Current RSS: ~1567M. load average: 1.06 1.14 1.30 1/297 7992 #clear_cache calls Gitlab::Diff::HighlightCache#clear calls Gitlab::Diff::StatsCache#clear # [RSpecRunTime] RSpec elapsed time: 8 minutes 36.78 seconds. Current RSS: ~1568M. load average: 1.06 1.14 1.30 1/297 8071 #diff_files calls Gitlab::Diff::HighlightCache#decorate when there are stats cached does not make a diff stats rpc call # [RSpecRunTime] RSpec elapsed time: 8 minutes 38.87 seconds. Current RSS: ~1570M. load average: 1.14 1.16 1.31 1/297 8151 when there are no stats cached makes a diff stats rpc call # [RSpecRunTime] RSpec elapsed time: 8 minutes 39.94 seconds. Current RSS: ~1569M. load average: 1.14 1.16 1.31 1/297 8191 behaves like unsortable diff files #raw_diff_files does not call Gitlab::Diff::FileCollectionSorter even when sorted is true # [RSpecRunTime] RSpec elapsed time: 8 minutes 41.06 seconds. Current RSS: ~1569M. load average: 1.14 1.16 1.31 1/297 8232 # [RSpecRunTime] Finishing example group spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb. It took 23.21 seconds. Expected to take 32.38 seconds. # [RSpecRunTime] Starting example group spec/policies/project_snippet_policy_spec.rb. Expected to take 30.64 seconds. ProjectSnippetPolicy when project is public with public snippet no user is expected not to be allowed :admin_snippet regular user when user is not a member and is not the snippet author is expected not to be allowed :admin_snippet and is the snippet author behaves like regular user non-member author permissions is expected not to be allowed :admin_snippet when user is a member behaves like regular user member permissions not snippet author member (guest) is expected not to be allowed :admin_snippet member (reporter) is expected not to be allowed :admin_snippet member (developer) is expected not to be allowed :admin_snippet member (maintainer) is expected to be allowed :admin_snippet snippet author member (guest) is expected not to be allowed :admin_snippet member (reporter) is expected to be allowed :admin_snippet member (developer) is expected to be allowed :admin_snippet member (maintainer) is expected to be allowed :admin_snippet external user is expected not to be allowed :admin_snippet when user is a member is expected not to be allowed :admin_snippet with internal snippet no user is expected not to be allowed :admin_snippet regular user when user is not a member and is not the snippet author is expected not to be allowed :admin_snippet and is the snippet author behaves like regular user non-member author permissions is expected not to be allowed :admin_snippet when user is a member behaves like regular user member permissions not snippet author member (guest) is expected not to be allowed :admin_snippet member (reporter) is expected not to be allowed :admin_snippet member (developer) is expected not to be allowed :admin_snippet member (maintainer) is expected to be allowed :admin_snippet snippet author member (guest) is expected not to be allowed :admin_snippet member (reporter) is expected to be allowed :admin_snippet member (developer) is expected to be allowed :admin_snippet member (maintainer) is expected to be allowed :admin_snippet external user is expected not to be allowed :admin_snippet when user is a member is expected not to be allowed :admin_snippet with private snippet no user is expected not to be allowed :admin_snippet regular user when user is not a member and is not the snippet author is expected not to be allowed :admin_snippet and is the snippet author behaves like regular user non-member author permissions is expected not to be allowed :admin_snippet when user is a member behaves like regular user member permissions not snippet author member (guest) is expected not to be allowed :admin_snippet member (reporter) is expected not to be allowed :admin_snippet member (developer) is expected not to be allowed :admin_snippet member (maintainer) is expected to be allowed :admin_snippet snippet author member (guest) is expected not to be allowed :admin_snippet member (reporter) is expected to be allowed :admin_snippet member (developer) is expected to be allowed :admin_snippet member (maintainer) is expected to be allowed :admin_snippet inherited user behaves like regular user member permissions not snippet author member (guest) is expected not to be allowed :admin_snippet member (reporter) is expected not to be allowed :admin_snippet member (developer) is expected not to be allowed :admin_snippet member (maintainer) is expected to be allowed :admin_snippet snippet author member (guest) is expected not to be allowed :admin_snippet member (reporter) is expected to be allowed :admin_snippet member (developer) is expected to be allowed :admin_snippet member (maintainer) is expected to be allowed :admin_snippet external user is expected not to be allowed :admin_snippet when user is a member is expected not to be allowed :admin_snippet admin user when admin mode is enabled is expected to be allowed :admin_snippet when admin mode is disabled is expected not to be allowed :admin_snippet when project is private inherited user behaves like regular user member permissions not snippet author member (guest) is expected not to be allowed :admin_snippet member (reporter) is expected not to be allowed :admin_snippet member (developer) is expected not to be allowed :admin_snippet member (maintainer) is expected to be allowed :admin_snippet snippet author member (guest) is expected not to be allowed :admin_snippet member (reporter) is expected to be allowed :admin_snippet member (developer) is expected to be allowed :admin_snippet member (maintainer) is expected to be allowed :admin_snippet when the author of the snippet is banned no user is expected not to be allowed :admin_snippet regular user is expected not to be allowed :admin_snippet external user is expected not to be allowed :admin_snippet admin user is expected to be allowed :admin_snippet # [RSpecRunTime] Finishing example group spec/policies/project_snippet_policy_spec.rb. It took 14.46 seconds. Expected to take 30.64 seconds. # [RSpecRunTime] Starting example group spec/helpers/emails_helper_spec.rb. Expected to take 29.17 seconds. EmailsHelper closure_reason_text when given a MergeRequest when user can read merge request and format is text returns plain text # [RSpecRunTime] RSpec elapsed time: 8 minutes 56.88 seconds. Current RSS: ~1556M. load average: 1.10 1.15 1.30 1/297 8277 and format is HTML returns HTML # [RSpecRunTime] RSpec elapsed time: 8 minutes 58.18 seconds. Current RSS: ~1559M. load average: 1.10 1.15 1.30 1/297 8317 and format is unknown returns plain text # [RSpecRunTime] RSpec elapsed time: 8 minutes 59.39 seconds. Current RSS: ~1560M. load average: 1.10 1.14 1.30 1/297 8357 when user cannot read merge request does not have link to merge request when given a String when user can read commits returns plain text when user cannot read commits returns plain text when not given anything returns empty string notification_reason_text reason_code: "own_activity", reason_text: " of your activity " is expected to start with "You're receiving this email because" is expected to include " of your activity " is expected to end with "on localhost." reason_code: "assigned", reason_text: " you have been assigned an item " is expected to start with "You're receiving this email because" is expected to include " you have been assigned an item " is expected to end with "on localhost." reason_code: "mentioned", reason_text: " you have been mentioned " is expected to start with "You're receiving this email because" is expected to include " you have been mentioned " is expected to end with "on localhost." reason_code: "", reason_text: " of your account " is expected to start with "You're receiving this email because" is expected to include " of your account " is expected to end with "on localhost." reason_code: nil, reason_text: " of your account " is expected to start with "You're receiving this email because" is expected to include " of your account " is expected to end with "on localhost." sanitize_name when name contains a valid URL string returns name with `.` replaced with `_` to prevent mail clients from auto-linking URLs returns name as it is when it does not contain a URL #say_hi returns the greeting message for the given user #say_hello returns the greeting message for the given user #two_factor_authentication_disabled_text returns the message that 2FA is disabled #re_enable_two_factor_authentication_text format is html returns HTML format is not specified returns text #admin_changed_password_text format is html returns HTML format is not specified returns text #contact_your_administrator_text returns the message to contact the administrator password_reset_token_valid_time when time limit is less than 2 hours displays the time in hours using a singular unit when time limit is 2 or more hours displays the time in hours using a plural unit when time limit contains fractions of an hour rounds down to the nearest hour when time limit is 24 or more hours displays the time in days using a singular unit when time limit is 2 or more days displays the time in days using a plural unit when time limit contains fractions of a day rounds down to the nearest day #header_logo there is a brand item with a logo returns the brand header logo that is a SVG file returns the default header logo there is a brand item without a logo returns the default header logo there is no brand item returns the default header logo #create_list_id_string full_path: "01234", list_id_path: "01234" ellipcizes different variants full_path: "5/0123", list_id_path: "012.." ellipcizes different variants full_path: "45/012", list_id_path: "012.." ellipcizes different variants full_path: "012", list_id_path: "012" ellipcizes different variants full_path: "23/01", list_id_path: "01.23" ellipcizes different variants full_path: "2/01", list_id_path: "01.2" ellipcizes different variants full_path: "234/01", list_id_path: "01.." ellipcizes different variants full_path: "4/2/0", list_id_path: "0.2.4" ellipcizes different variants full_path: "45/2/0", list_id_path: "0.2.." ellipcizes different variants full_path: "5/23/0", list_id_path: "0.." ellipcizes different variants full_path: "0-2/5", list_id_path: "5.0-2" ellipcizes different variants full_path: "0_2/5", list_id_path: "5.0-2" ellipcizes different variants full_path: "0.2/5", list_id_path: "5.0-2" ellipcizes different variants Create realistic List-Id identifier full_path: "gitlab-org/gitlab-ce", list_id_path: "gitlab-ce.gitlab-org" produces the right List-Id full_path: "project-name/subproject_name/my.project", list_id_path: "my-project.subproject-name.project-name" produces the right List-Id header and footer messages when email_header_and_footer_enabled is enabled returns header and footer messages when header and footer messages are empty returns nil when header and footer messages are nil returns nil when email_header_and_footer_enabled is disabled returns header and footer messages #change_reviewer_notification_text to new reviewers only with no html tag returns the expected output with <strong> tag returns the expected output from previous reviewers to new reviewers with no html tag returns the expected output with <strong> tag returns the expected output from previous reviewers to no reviewers with no html tag returns the expected output with <strong> tag returns the expected output with a <script> tag in user's name escapes the html tag with url in user's name sanitizes user's name # [RSpecRunTime] Finishing example group spec/helpers/emails_helper_spec.rb. It took 12.65 seconds. Expected to take 29.17 seconds. # [RSpecRunTime] Starting example group spec/graphql/mutations/merge_requests/set_locked_spec.rb. Expected to take 27.57 seconds. Mutations::MergeRequests::SetLocked is expected to require graphql authorizations :update_merge_request #resolve behaves like permission level for merge request mutation is correctly verified when the user is not a project member behaves like when the user does not have access to the resource raises an error even if assigned to the merge request does not modify merge request # [RSpecRunTime] RSpec elapsed time: 9 minutes 10.71 seconds. Current RSS: ~1588M. load average: 1.08 1.14 1.30 1/297 8476 even if reviewer of the merge request raises an error # [RSpecRunTime] RSpec elapsed time: 9 minutes 12.02 seconds. Current RSS: ~1585M. load average: 1.08 1.14 1.30 1/297 8516 even if author of the merge request raises an error # [RSpecRunTime] RSpec elapsed time: 9 minutes 13.23 seconds. Current RSS: ~1588M. load average: 1.08 1.14 1.30 1/297 8556 when the user is a project member with guest role behaves like when the user does not have access to the resource raises an error even if assigned to the merge request does not modify merge request # [RSpecRunTime] RSpec elapsed time: 9 minutes 15.78 seconds. Current RSS: ~1583M. load average: 1.39 1.20 1.32 1/297 8635 even if reviewer of the merge request raises an error # [RSpecRunTime] RSpec elapsed time: 9 minutes 17.12 seconds. Current RSS: ~1580M. load average: 1.39 1.20 1.32 1/297 8675 even if author of the merge request raises an error # [RSpecRunTime] RSpec elapsed time: 9 minutes 18.44 seconds. Current RSS: ~1574M. load average: 1.39 1.20 1.32 1/297 8715 with reporter role behaves like when the user does not have access to the resource raises an error even if assigned to the merge request does not modify merge request # [RSpecRunTime] RSpec elapsed time: 9 minutes 21.38 seconds. Current RSS: ~1561M. load average: 1.36 1.20 1.31 1/298 8794 even if reviewer of the merge request raises an error # [RSpecRunTime] RSpec elapsed time: 9 minutes 22.74 seconds. Current RSS: ~1557M. load average: 1.36 1.20 1.31 4/298 8834 even if author of the merge request raises an error # [RSpecRunTime] RSpec elapsed time: 9 minutes 25.57 seconds. Current RSS: ~1551M. load average: 1.33 1.20 1.31 1/297 8874 when the user can update the merge request returns the merge request as discussion locked returns errors merge request could not be updated when passing locked as false unlocks the discussion # [RSpecRunTime] RSpec elapsed time: 9 minutes 30.21 seconds. Current RSS: ~1552M. load average: 1.31 1.19 1.31 1/297 8992 # [RSpecRunTime] Finishing example group spec/graphql/mutations/merge_requests/set_locked_spec.rb. It took 22.03 seconds. Expected to take 27.57 seconds. # [RSpecRunTime] Starting example group spec/helpers/diff_helper_spec.rb. Expected to take 26.66 seconds. DiffHelper diff_view uses the view param over the cookie returns the default value when the view param is invalid returns a valid value when cookie is set returns the default value when cookie is invalid returns the default value when cookie is nil diff_options returns no collapse false returns no collapse true if expanded when action name is diff_for_path returns expanded true returns paths if param old path returns paths if param new path does not set max_patch_bytes_for_file_extension when file_identifier include .ipynb when large_ipynb_diffs is disabled does not set max_patch_bytes_for_file_extension when large_ipynb_diffs is enabled sets max_patch_bytes_for_file_extension #diff_line_content when the line is empty returns a non breaking space returns an HTML-safe string when the line is not empty when the line starts with +, -, or a space strips the first character when the line is HTML-safe returns an HTML-safe string when the line is not HTML-safe returns a non-HTML-safe string when the line does not start with a +, -, or a space returns the string when the line is HTML-safe returns an HTML-safe string when the line is not HTML-safe returns a non-HTML-safe string #diff_link_number line_type: "new", match: "new", line_number: 1, expected_return_value: " " returns the expected value line_type: "new", match: "old", line_number: 2, expected_return_value: 2 returns the expected value line_type: "old", match: "new", line_number: 3, expected_return_value: 3 returns the expected value line_type: "old", match: "old", line_number: 4, expected_return_value: " " returns the expected value line_type: "new-nonewline", match: "new", line_number: 5, expected_return_value: 5 returns the expected value line_type: "new-nonewline", match: "old", line_number: 6, expected_return_value: 6 returns the expected value line_type: "old-nonewline", match: "new", line_number: 7, expected_return_value: 7 returns the expected value line_type: "old-nonewline", match: "old", line_number: 8, expected_return_value: 8 returns the expected value line_type: "match", match: "new", line_number: 9, expected_return_value: 9 returns the expected value line_type: "match", match: "old", line_number: 10, expected_return_value: 10 returns the expected value #parallel_diff_btn renders button #mark_inline_diffs returns strings with marked inline diffs when given HTML sanitizes it sanitizes the entire line, not just the changes #parallel_diff_discussions does not put comments on nonewline lines puts comments on added lines puts comments on unchanged lines #diff_match_line generates foldable top match line for inline view with empty text by default allows to define text and bottom option generates match line for parallel view allows to generate only left match line for parallel view allows to generate only right match line for parallel view #diff_nomappinginraw_line generates only single line num generates only both line nums line_type: "old-nomappinginraw", added_class: ".old" appends the correct class line_type: "new-nomappinginraw", added_class: ".new" appends the correct class line_type: "unchanged-nomappinginraw", added_class: "" appends the correct class #render_overflow_warning? when no limits are hit returns false and does not log any overflow events overflow_method: :overflow_max_bytes?, event_name: :diffs_overflow_max_bytes_limits returns false and only logs the correct collection overflow event overflow_method: :overflow_max_files?, event_name: :diffs_overflow_max_files_limits returns false and only logs the correct collection overflow event overflow_method: :overflow_max_lines?, event_name: :diffs_overflow_max_lines_limits returns false and only logs the correct collection overflow event overflow_method: :collapsed_safe_bytes?, event_name: :diffs_overflow_collapsed_bytes_limits returns false and only logs the correct collection overflow event overflow_method: :collapsed_safe_files?, event_name: :diffs_overflow_collapsed_files_limits returns false and only logs the correct collection overflow event overflow_method: :collapsed_safe_lines?, event_name: :diffs_overflow_collapsed_lines_limits returns false and only logs the correct collection overflow event when the file collection has an overflow returns true and only logs all the correct collection overflow event when two individual files are too big returns false and only logs single file overflow events #diff_file_html_data returns data for project files #collapsed_diff_url returns a valid URL #params_with_whitespace filters with safe_params #render_fork_suggestion user signed in renders the partial guest is expected to be nil #conflicts returns list of conflicts indexed by path when merge request can be merged returns nil when source branch does not exist returns nil when target branch does not exist returns nil when conflicts cannot be resolved in UI returns nil when allow_tree_conflicts is true returns list of conflicts when Gitlab::Git::Conflict::Resolver::ConflictSideMissing exception is raised returns an empty hash #show_only_context_commits? when only_context_commits param is set to true is expected to be truthy when merge request has commits is expected to be truthy when only_context_commits param is set to false is expected to be truthy when merge request has commits is expected to be falsey #submodule_diff_compare_link when the diff includes submodule changes generates a link to compare a diff for a submodule when the diff does not include submodule changes returns an empty string # [RSpecRunTime] Finishing example group spec/helpers/diff_helper_spec.rb. It took 9.49 seconds. Expected to take 26.66 seconds. # [RSpecRunTime] Starting example group spec/models/application_record_spec.rb. Expected to take 25.43 seconds. ApplicationRecord does not allow STI #id_in returns records of the ids .safe_ensure_unique returns false when ActiveRecord::RecordNotUnique is raised retries based on retry count specified # [RSpecRunTime] RSpec elapsed time: 9 minutes 41.56 seconds. Current RSS: ~1594M. load average: 1.34 1.20 1.31 1/297 9096 safe find or create methods .safe_find_or_create_by creates the suggestion avoiding race conditions passes a block to find_or_create_by does not create a record when is not valid # [RSpecRunTime] RSpec elapsed time: 9 minutes 42.79 seconds. Current RSS: ~1592M. load average: 1.34 1.20 1.31 1/297 9149 .safe_find_or_create_by! creates a record using safe_find_or_create_by raises a validation error if the record was not persisted passes a block to find_or_create_by raises a record not found error in case of attributes mismatch .underscore returns the underscored value of the class as a string .where_exists produces a WHERE EXISTS query .where_not_exists produces a WHERE NOT EXISTS query .transaction opens a new transaction does not increment a counter when a transaction is not nested increments a counter when a nested transaction is created increments a counter when a transaction is created in ActiveRecord # [RSpecRunTime] RSpec elapsed time: 9 minutes 56.7 seconds. Current RSS: ~1503M. load average: 1.26 1.19 1.31 1/291 9150 .with_fast_read_statement_timeout when the query runs faster than configured timeout executes the query without error when the query runs longer than configured timeout cancels the query and raises an exception with database load balancing yields control when the query runs faster than configured timeout executes the query without error when the query runs longer than configured timeout cancels the query and raiss an exception .default_select_columns without an ignored column behaves like selects identically to the default generates the same sql as the default with an ignored column behaves like selects identically to the default generates the same sql as the default # [RSpecRunTime] Finishing example group spec/models/application_record_spec.rb. It took 17.78 seconds. Expected to take 25.43 seconds. # [RSpecRunTime] Starting example group spec/lib/banzai/reference_parser/user_parser_spec.rb. Expected to take 24.06 seconds. Banzai::ReferenceParser::UserParser #referenced_by when the link has a data-group attribute using an existing group ID returns an empty Array when the group has no users when group has members returns the relevant users of the group with enough access returns an empty Array when the group has mentions disabled # [RSpecRunTime] RSpec elapsed time: 10 minutes 2.12 seconds. Current RSS: ~1518M. load average: 1.24 1.19 1.30 1/291 9151 using a non-existing group ID returns an empty Array when the link has a data-user attribute returns an Array of users when RequestStore is active does not return users from the first call in the second # [RSpecRunTime] RSpec elapsed time: 10 minutes 4.11 seconds. Current RSS: ~1526M. load average: 1.22 1.19 1.30 1/291 9152 when the link has a data-project attribute using an existing project ID returns the members of a project using a non-existing project ID returns an empty Array #nodes_visible_to_user when the link has a data-group attribute using an existing group ID returns the nodes if the user can read the group returns an empty Array if the user can not read the group # [RSpecRunTime] RSpec elapsed time: 10 minutes 7.05 seconds. Current RSS: ~1519M. load average: 1.22 1.19 1.30 1/291 9153 when the link does not have a data-group attribute with a data-project attribute returns the nodes if the attribute value equals the current project ID returns the nodes if the user can read the project returns an empty Array if the user can not read the project # [RSpecRunTime] RSpec elapsed time: 10 minutes 11.18 seconds. Current RSS: ~1514M. load average: 1.20 1.18 1.30 1/291 9154 without a data-project attribute returns the nodes #nodes_user_can_reference when the link has a data-author attribute returns the nodes when the user is a member of the project returns an empty Array when the project could not be found returns an empty Array when the user could not be found returns an empty Array when the user is not a team member returns the nodes if the project attribute value equals the current project ID # [RSpecRunTime] RSpec elapsed time: 10 minutes 16.2 seconds. Current RSS: ~1522M. load average: 1.19 1.18 1.30 1/291 9155 when the link does not have a data-author attribute returns the nodes # [RSpecRunTime] Finishing example group spec/lib/banzai/reference_parser/user_parser_spec.rb. It took 19.29 seconds. Expected to take 24.06 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb. Expected to take 23.16 seconds. Gitlab::GithubImport::Importer::PullRequestImporter #execute imports the pull request caches the created MR ID even if importer later fails # [RSpecRunTime] RSpec elapsed time: 10 minutes 18.36 seconds. Current RSS: ~1540M. load average: 1.19 1.18 1.30 1/295 9176 #create_merge_request when the author could be found imports the pull request with the pull request author as the merge request author returns the created merge request when the source and target branch are identical uses a generated source branch name for the merge request # [RSpecRunTime] RSpec elapsed time: 10 minutes 20.82 seconds. Current RSS: ~1600M. load average: 1.17 1.18 1.30 1/297 9207 when the import fails due to a foreign key error does not raise any errors when the merge request already exists returns the existing merge request when the author could not be found imports the pull request with the project creator as the merge request author when merge request is invalid fails validation #set_merge_request_assignees when pull request has an assignee sets merge request assignees # [RSpecRunTime] RSpec elapsed time: 10 minutes 25.52 seconds. Current RSS: ~1627M. load average: 1.16 1.17 1.29 1/297 9298 when pull request does not have any assignees does not set merge request assignees #insert_git_data does not create the source branch if merge request is merged creates a merge request diff and sets it as the latest creates the merge request diff commits when merge request is open creates the source branch is able to retry on pre-receive errors ignores Git command errors when creating a branch ignores Git PreReceive errors when creating a branch # [RSpecRunTime] RSpec elapsed time: 10 minutes 33.08 seconds. Current RSS: ~1688M. load average: 1.15 1.17 1.29 1/297 9562 when the merge request exists creates the merge request diffs if they do not yet exist # [RSpecRunTime] RSpec elapsed time: 10 minutes 35.25 seconds. Current RSS: ~1689M. load average: 1.13 1.17 1.29 1/297 9594 # [RSpecRunTime] Finishing example group spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb. It took 18.67 seconds. Expected to take 23.16 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/ci/templates/npm_spec.rb. Expected to take 22.42 seconds. npm.gitlab-ci.yml the created pipeline on default branch when package.json has been changed behaves like publish job created creates a pipeline with a single job: publish # [RSpecRunTime] RSpec elapsed time: 10 minutes 37.35 seconds. Current RSS: ~1689M. load average: 1.13 1.17 1.29 1/297 9641 when package.json does not exist or has not been changed behaves like no pipeline created does not create a pipeline because the only job (publish) is not created # [RSpecRunTime] RSpec elapsed time: 10 minutes 38.45 seconds. Current RSS: ~1685M. load average: 1.13 1.17 1.29 1/296 9688 when the branch name is v1.0.0 behaves like publish job created creates a pipeline with a single job: publish # [RSpecRunTime] RSpec elapsed time: 10 minutes 39.55 seconds. Current RSS: ~1680M. load average: 1.12 1.16 1.29 1/296 9741 when the tag name is v1.0.0 behaves like publish job created creates a pipeline with a single job: publish # [RSpecRunTime] RSpec elapsed time: 10 minutes 40.71 seconds. Current RSS: ~1673M. load average: 1.12 1.16 1.29 1/296 9792 when the branch name is v2.1.0-alpha behaves like publish job created creates a pipeline with a single job: publish # [RSpecRunTime] RSpec elapsed time: 10 minutes 41.86 seconds. Current RSS: ~1666M. load average: 1.12 1.16 1.29 1/296 9845 when the tag name is v2.1.0-alpha behaves like publish job created creates a pipeline with a single job: publish # [RSpecRunTime] RSpec elapsed time: 10 minutes 42.93 seconds. Current RSS: ~1665M. load average: 1.12 1.16 1.29 1/296 9896 when the branch name is patch-1 behaves like no pipeline created does not create a pipeline because the only job (publish) is not created when the tag name is patch-1 behaves like no pipeline created does not create a pipeline because the only job (publish) is not created when the branch name is my-feature-branch behaves like no pipeline created does not create a pipeline because the only job (publish) is not created # [RSpecRunTime] RSpec elapsed time: 10 minutes 45.86 seconds. Current RSS: ~1734M. load average: 1.11 1.16 1.29 1/296 10051 when the tag name is my-feature-branch behaves like no pipeline created does not create a pipeline because the only job (publish) is not created # [RSpecRunTime] RSpec elapsed time: 10 minutes 46.98 seconds. Current RSS: ~1757M. load average: 1.11 1.16 1.29 1/296 10102 when the branch name is v1 behaves like no pipeline created does not create a pipeline because the only job (publish) is not created when the tag name is v1 behaves like no pipeline created does not create a pipeline because the only job (publish) is not created when the branch name is v1.0 behaves like no pipeline created does not create a pipeline because the only job (publish) is not created # [RSpecRunTime] RSpec elapsed time: 10 minutes 50.06 seconds. Current RSS: ~1770M. load average: 1.10 1.16 1.29 1/296 10257 when the tag name is v1.0 behaves like no pipeline created does not create a pipeline because the only job (publish) is not created when the branch name is 2.1.0 behaves like no pipeline created does not create a pipeline because the only job (publish) is not created when the tag name is 2.1.0 behaves like no pipeline created does not create a pipeline because the only job (publish) is not created # [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/templates/npm_spec.rb. It took 17.54 seconds. Expected to take 22.42 seconds. # [RSpecRunTime] Starting example group spec/models/concerns/chronic_duration_attribute_spec.rb. Expected to take 21.56 seconds. ChronicDurationAttribute does not allow STI when default value is not set behaves like ChronicDurationAttribute reader contains dynamically created reader method outputs chronic duration formatted value when value is set to nil outputs nil behaves like ChronicDurationAttribute writer contains dynamically created writer method parses chronic duration input passes validation when negative input is used doesn't raise exception doesn't change value doesn't pass validation when empty input is used writes default value passes validation when nil input is used writes default value passes validation doesn't raise exception when default value is set behaves like ChronicDurationAttribute reader contains dynamically created reader method outputs chronic duration formatted value when value is set to nil outputs nil # [RSpecRunTime] RSpec elapsed time: 10 minutes 56.25 seconds. Current RSS: ~1801M. load average: 1.10 1.16 1.28 1/296 10410 behaves like ChronicDurationAttribute writer contains dynamically created writer method parses chronic duration input passes validation when negative input is used doesn't raise exception doesn't change value doesn't pass validation # [RSpecRunTime] RSpec elapsed time: 10 minutes 59.2 seconds. Current RSS: ~1800M. load average: 1.17 1.17 1.29 5/296 10411 when empty input is used writes default value passes validation # [RSpecRunTime] RSpec elapsed time: 11 minutes 0.24 second. Current RSS: ~1800M. load average: 1.17 1.17 1.29 1/296 10412 when nil input is used writes default value passes validation doesn't raise exception # [RSpecRunTime] RSpec elapsed time: 11 minutes 1.74 seconds. Current RSS: ~1796M. load average: 1.17 1.17 1.29 1/296 10413 # [RSpecRunTime] Finishing example group spec/models/concerns/chronic_duration_attribute_spec.rb. It took 8.75 seconds. Expected to take 21.56 seconds. # [RSpecRunTime] Starting example group spec/models/concerns/chronic_duration_attribute_spec.rb. Expected to take 21.56 seconds. ChronicDurationAttribute - reader does not allow STI doesn't contain dynamically created writer method behaves like ChronicDurationAttribute reader contains dynamically created reader method outputs chronic duration formatted value when value is set to nil outputs nil # [RSpecRunTime] RSpec elapsed time: 11 minutes 4.44 seconds. Current RSS: ~1805M. load average: 1.07 1.15 1.28 1/291 10414 # [RSpecRunTime] Finishing example group spec/models/concerns/chronic_duration_attribute_spec.rb. It took 2.69 seconds. Expected to take 21.56 seconds. # [RSpecRunTime] Starting example group spec/models/concerns/pg_full_text_searchable_spec.rb. Expected to take 20.92 seconds. PgFullTextSearchable does not allow STI .pg_full_text_searchable sets pg_full_text_searchable_columns raises an error when called twice after commit hook when specified columns are changed calls update_search_data! when specified columns are not changed does not call update_search_data! when model is updated twice within a transaction calls update_search_data! .pg_full_text_search builds a search query using `search_vector` from the search_data table searches across all fields searches specified columns only uses prefix matching searches for exact term with quotes ignores accents regardless of user locale does not support searching by non-Latin characters when search term has a URL allows searching by full URL, ignoring the scheme # [RSpecRunTime] RSpec elapsed time: 11 minutes 9.64 seconds. Current RSS: ~1805M. load average: 1.07 1.15 1.28 1/291 10415 when search term is a path with underscores allows searching by the path when text has numbers preceded by a dash allows searching by numbers only when text has XML tags removes XML tag syntax .pg_full_text_search_in_model builds a search query using `search_vector` from the model table #update_search_data! sets the correct weights with accented and non-Latin characters transliterates accented characters and removes non-Latin ones with long words strips words that are 50 characters or longer when upsert times out re-raises the exception with strings that go over tsvector limit does not raise an exception # [RSpecRunTime] RSpec elapsed time: 11 minutes 17.04 seconds. Current RSS: ~1841M. load average: 1.06 1.14 1.28 1/291 10416 when model class does not implement persist_pg_full_text_search_vector raises an error # [RSpecRunTime] Finishing example group spec/models/concerns/pg_full_text_searchable_spec.rb. It took 12.98 seconds. Expected to take 20.92 seconds. # [RSpecRunTime] Starting example group spec/services/auto_merge_service_spec.rb. Expected to take 20.09 seconds. AutoMergeService .all_strategies_ordered_by_preference returns all strategies in preference order #available_strategies returns available strategies when the head piipeline succeeded returns available strategies # [RSpecRunTime] RSpec elapsed time: 11 minutes 19.35 seconds. Current RSS: ~1841M. load average: 1.06 1.14 1.27 1/297 10487 #preferred_strategy returns preferred strategy when the head pipeline succeeded returns available strategies # [RSpecRunTime] RSpec elapsed time: 11 minutes 20.56 seconds. Current RSS: ~1844M. load average: 1.06 1.14 1.27 1/298 10544 .get_service_class returns service instance when strategy is not present returns nil #execute delegates to a relevant service instance when the head pipeline succeeded returns failed when strategy is not specified chooses the most preferred strategy #update when auto merge is enabled delegates to a relevant service instance # [RSpecRunTime] RSpec elapsed time: 11 minutes 23.38 seconds. Current RSS: ~1857M. load average: 1.06 1.14 1.27 1/297 10668 when auto merge is not enabled returns failed # [RSpecRunTime] RSpec elapsed time: 11 minutes 24.44 seconds. Current RSS: ~1845M. load average: 1.05 1.14 1.27 1/297 10708 #process delegates to a relevant service instance when auto merge is not enabled returns nil # [RSpecRunTime] RSpec elapsed time: 11 minutes 26.37 seconds. Current RSS: ~1871M. load average: 1.05 1.14 1.27 1/297 10787 #cancel delegates to a relevant service instance when auto merge is not enabled returns error # [RSpecRunTime] RSpec elapsed time: 11 minutes 28.35 seconds. Current RSS: ~1879M. load average: 1.05 1.14 1.27 1/298 10866 #abort delegates to a relevant service instance when auto merge is not enabled returns error # [RSpecRunTime] RSpec elapsed time: 11 minutes 31.8 seconds. Current RSS: ~1906M. load average: 1.05 1.14 1.27 1/298 10945 # [RSpecRunTime] Finishing example group spec/services/auto_merge_service_spec.rb. It took 14.41 seconds. Expected to take 20.09 seconds. # [RSpecRunTime] Starting example group spec/services/projects/update_remote_mirror_service_spec.rb. Expected to take 19.44 seconds. Projects::UpdateRemoteMirrorService #execute does not fetch the remote repository marks the mirror as started when beginning marks the mirror as successfully finished marks the mirror as failed and raises the error when an unexpected error occurs when the URL is blocked hard retries and returns error status when retries are exceeded hard fails and returns error status # [RSpecRunTime] RSpec elapsed time: 11 minutes 35.01 seconds. Current RSS: ~1942M. load average: 1.04 1.13 1.27 1/297 10987 when given URLs containing escaped elements behaves like URLs containing escaped elements return expected status url: "https://user:0a%23@test.example.com/project.git", result_status: :success returns expected status url: "https://git.example.com:1%2F%2F@source.developers.google.com/project.git", result_status: :success returns expected status url: "git%3A%2F%2Flocalhost%3A1234%2Fsome-path%3Fsome-query%3Dsome-val%23%40example.com%2F", result_status: :error returns expected status url: "https%253A%252F%252Fuser%253A0a%252523%2540test.example.com%252Fproject.git", result_status: :error returns expected status when the update fails because of a `Gitlab::Git::CommandError` wraps `Gitlab::Git::CommandError`s in a service error marks the mirror as to be retried marks the mirror as failed after 3 tries when there are divergent refs marks the mirror as failed and sets an error message sending lfs objects pushes LFS objects to a HTTP repository when LFS objects fail to push when remote_mirror_fail_on_lfs feature flag enabled fails update when remote_mirror_fail_on_lfs feature flag is disabled does not fail update with SSH repository does nothing to an SSH repository does nothing if LFS is disabled does nothing if non-password auth is specified # [RSpecRunTime] RSpec elapsed time: 11 minutes 42.54 seconds. Current RSS: ~2004M. load average: 1.04 1.13 1.27 1/297 11058 # [RSpecRunTime] Finishing example group spec/services/projects/update_remote_mirror_service_spec.rb. It took 10.73 seconds. Expected to take 19.44 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/entry/need_spec.rb. Expected to take 18.67 seconds. Gitlab::Ci::Config::Entry::Need with simple config when job is specified #valid? is expected to be valid #value returns job needs configuration behaves like job type #type is expected to eq :job when need is empty #valid? is expected not to be valid #errors is returns an error about an empty config behaves like job type #type is expected to eq :job with complex config with job name and artifacts true #valid? is expected to be valid #value returns job needs configuration behaves like job type #type is expected to eq :job with job name and artifacts false #valid? is expected to be valid #value returns job needs configuration behaves like job type #type is expected to eq :job with job name and artifacts nil #valid? is expected to be valid #value returns job needs configuration behaves like job type #type is expected to eq :job without artifacts key #valid? is expected to be valid #value returns job needs configuration behaves like job type #type is expected to eq :job with job name and optional true is expected to be valid behaves like job type #type is expected to eq :job #value returns job needs configuration with job name and optional false is expected to be valid behaves like job type #type is expected to eq :job #value returns job needs configuration with job name and optional nil is expected to be valid behaves like job type #type is expected to eq :job #value returns job needs configuration without optional key is expected to be valid behaves like job type #type is expected to eq :job #value returns job needs configuration when job name is empty #valid? is expected not to be valid #errors is returns an error about an empty config behaves like job type #type is expected to eq :job when job name is not a string #valid? is expected not to be valid #errors is returns an error about job type behaves like job type #type is expected to eq :job when job has unknown keys #valid? is expected not to be valid #errors is returns an error about job type behaves like job type #type is expected to eq :job when parallel:matrix has a value and it is a string value #valid? is expected to be valid #value returns job needs configuration behaves like job type #type is expected to eq :job and it is an array value #valid? is expected to be valid #value returns job needs configuration behaves like job type #type is expected to eq :job and it is a both an array and string value #valid? is expected to be valid #value returns job needs configuration behaves like job type #type is expected to eq :job with cross pipeline artifacts needs when pipeline is provided when job is provided is expected to be valid sets artifacts:true by default sets the type as cross_dependency when artifacts is provided is expected to be valid returns the correct value when config contains not allowed keys is expected not to be valid returns an error when need config is not a string or a hash #valid? is expected not to be valid #errors is returns an error about job type # [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/entry/need_spec.rb. It took 5.22 seconds. Expected to take 18.67 seconds. # [RSpecRunTime] Starting example group spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb. Expected to take 18.01 seconds. AutoMerge::MergeWhenPipelineSucceedsService #available_for? is expected to be truthy memoizes the result when the head pipeline succeeded is expected to be falsy # [RSpecRunTime] RSpec elapsed time: 11 minutes 50.14 seconds. Current RSS: ~1987M. load average: 1.11 1.14 1.27 1/298 11157 when the user does not have permission to merge is expected to be falsy #execute behaves like auto_merge service #execute when first time enabling sets the params, merge_user, and flag schedules a notification creates a system note # [RSpecRunTime] RSpec elapsed time: 11 minutes 53.06 seconds. Current RSS: ~1974M. load average: 1.11 1.14 1.27 1/298 11357 when already approved updates the merge params #process behaves like auto_merge service #process when triggered by pipeline with valid ref and sha merges all merge requests with merge when the pipeline succeeds enabled when triggered by an old pipeline does not merge request when triggered by pipeline from a different branch does not merge request when pipeline is merge request pipeline merges the associated merge request #cancel behaves like auto_merge service #cancel resets all the pipeline succeeds params posts a system note #abort behaves like auto_merge service #abort posts a system note pipeline integration when there are multiple stages in the pipeline doesn't merge if any of stages failed merges when all stages succeeded # [RSpecRunTime] RSpec elapsed time: 11 minutes 59.49 seconds. Current RSS: ~1965M. load average: 1.02 1.12 1.26 1/298 11647 # [RSpecRunTime] Finishing example group spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb. It took 11.72 seconds. Expected to take 18.01 seconds. # [RSpecRunTime] Starting example group spec/models/container_expiration_policy_spec.rb. Expected to take 17.35 seconds. ContainerExpirationPolicy does not allow STI relationships is expected to belong to project required: false validations is expected to validate that :project cannot be empty/falsy #enabled ************************************************************************ Warning from shoulda-matchers: You are using `validate_inclusion_of` to assert that a boolean column allows boolean values and disallows non-boolean ones. Be aware that it is not possible to fully test this, as boolean columns will automatically convert non-boolean values to boolean ones. Hence, you should consider removing this test. ************************************************************************ is expected to validate that :enabled is either ‹true› or ‹false› #cadence is expected to validate that :cadence cannot be empty/falsy is expected to allow :cadence to be ‹"1d"› is expected to allow :cadence to be ‹"1month"› is expected not to allow :cadence to be ‹"123asdf"› is expected not to allow :cadence to be ‹nil› #older_than is expected to allow :older_than to be ‹"7d"› is expected to allow :older_than to be ‹"14d"› is expected to allow :older_than to be ‹nil› is expected not to allow :older_than to be ‹"123asdf"› #keep_n is expected to allow :keep_n to be ‹10› is expected to allow :keep_n to be ‹nil› is expected not to allow :keep_n to be ‹"foo"› #disable! disables the container expiration policy #policy_params is expected to eq {"keep_n"=>10, "name_regex"=>".*", "name_regex_keep"=>nil, "older_than"=>"90d"} with a set of regexps is expected to validate that :name_regex cannot be empty/falsy is expected to allow :name_regex to be ‹"master"› is expected to allow :name_regex_keep to be ‹"master"› is expected to allow :name_regex to be ‹".*"› is expected to allow :name_regex_keep to be ‹".*"› is expected to allow :name_regex to be ‹"v.+"› is expected to allow :name_regex_keep to be ‹"v.+"› is expected to allow :name_regex to be ‹"v10.1.*"› is expected to allow :name_regex_keep to be ‹"v10.1.*"› is expected to allow :name_regex to be ‹"(?:v.+|master|release)"› is expected to allow :name_regex_keep to be ‹"(?:v.+|master|release)"› is expected not to allow :name_regex to be ‹"["› is expected not to allow :name_regex_keep to be ‹"["› is expected not to allow :name_regex to be ‹"(?:v.+|master|release"› is expected not to allow :name_regex_keep to be ‹"(?:v.+|master|release"› with a disabled container expiration policy is expected not to validate that :name_regex cannot be empty/falsy is expected to allow :name_regex to be ‹"master"› is expected to allow :name_regex_keep to be ‹"master"› is expected to allow :name_regex to be ‹".*"› is expected to allow :name_regex_keep to be ‹".*"› is expected to allow :name_regex to be ‹"v.+"› is expected to allow :name_regex_keep to be ‹"v.+"› is expected to allow :name_regex to be ‹"v10.1.*"› is expected to allow :name_regex_keep to be ‹"v10.1.*"› is expected to allow :name_regex to be ‹"(?:v.+|master|release)"› is expected to allow :name_regex_keep to be ‹"(?:v.+|master|release)"› is expected to allow :name_regex to be ‹"["› is expected to allow :name_regex_keep to be ‹"["› is expected to allow :name_regex to be ‹"(?:v.+|master|release"› is expected to allow :name_regex_keep to be ‹"(?:v.+|master|release"› # [RSpecRunTime] RSpec elapsed time: 12 minutes 4.04 seconds. Current RSS: ~1980M. load average: 1.02 1.12 1.26 1/297 11648 .preloaded preloads the associations .runnable_schedules returns the runnable schedule when there are no runnable schedules returns an empty array policies with container repositories .with_container_repositories is expected to contain exactly #<ContainerExpirationPolicy project_id: 404, created_at: "2024-02-20 23:31:38.482837186 +0000", updat...name_regex: ".*", cadence: "1d", older_than: "90d", keep_n: 10, enabled: true, name_regex_keep: nil> and #<ContainerExpirationPolicy project_id: 405, created_at: "2024-02-20 23:31:38.724399401 +0000", updat...name_regex: ".*", cadence: "1d", older_than: "90d", keep_n: 10, enabled: true, name_regex_keep: nil> .without_container_repositories is expected to contain exactly #<ContainerExpirationPolicy project_id: 406, created_at: "2024-02-20 23:31:38.969035466 +0000", updat...name_regex: ".*", cadence: "1d", older_than: "90d", keep_n: 10, enabled: true, name_regex_keep: nil> # [RSpecRunTime] Finishing example group spec/models/container_expiration_policy_spec.rb. It took 6.54 seconds. Expected to take 17.35 seconds. # [RSpecRunTime] Starting example group spec/graphql/mutations/discussions/toggle_resolve_spec.rb. Expected to take 16.73 seconds. Mutations::Discussions::ToggleResolve #resolve when discussion is on a merge request behaves like a working resolve method when the user does not have permission raises an error if the resource is not accessible to the user # [RSpecRunTime] RSpec elapsed time: 12 minutes 7.35 seconds. Current RSS: ~1966M. load average: 1.02 1.12 1.26 1/298 11702 when the user has permission when discussion cannot be found raises an error when the `resolve` argument is true returns a resolved discussion returns empty errors when the discussion is already resolved returns a resolved discussion returns empty errors # [RSpecRunTime] RSpec elapsed time: 12 minutes 8.96 seconds. Current RSS: ~1957M. load average: 1.02 1.12 1.26 1/298 11753 when the service raises an `ActiveRecord::RecordNotSaved` error does not resolve the discussion returns errors when the `resolve` argument is false when the discussion is resolved returns an unresolved discussion returns empty errors when the service raises an `ActiveRecord::RecordNotSaved` error does not unresolve the discussion returns errors when the discussion is already unresolved returns an unresolved discussion returns empty errors when user is the author and discussion is locked raises an error when discussion is on a design behaves like a working resolve method when the user does not have permission raises an error if the resource is not accessible to the user when the user has permission when discussion cannot be found raises an error when the `resolve` argument is true returns a resolved discussion returns empty errors when the discussion is already resolved returns a resolved discussion returns empty errors when the service raises an `ActiveRecord::RecordNotSaved` error does not resolve the discussion returns errors when the `resolve` argument is false when the discussion is resolved returns an unresolved discussion returns empty errors when the service raises an `ActiveRecord::RecordNotSaved` error does not unresolve the discussion returns errors when the discussion is already unresolved returns an unresolved discussion returns empty errors when user is the author and discussion is locked raises an error # [RSpecRunTime] Finishing example group spec/graphql/mutations/discussions/toggle_resolve_spec.rb. It took 8.03 seconds. Expected to take 16.73 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/sql/pattern_spec.rb. Expected to take 16.25 seconds. Gitlab::SQL::Pattern .fuzzy_search query: "foo", columns: [#<struct Arel::Attributes::Attribute relation=#<Arel::Table:0x00007a0363dc6820 @name="issues", @klass=Issue(id: integer, title: string, author_id: integer, project_id: integer, created_at: datetime, updated_at: datetime, description: text, milestone_id: integer, iid: integer, updated_by_id: integer, weight: integer, confidential: boolean, due_date: date, moved_to_id: integer, lock_version: integer, title_html: text, description_html: text, time_estimate: integer, relative_position: integer, service_desk_reply_to: string, cached_markdown_version: integer, last_edited_at: datetime, last_edited_by_id: integer, discussion_locked: boolean, closed_at: timestamptz, closed_by_id: integer, state_id: integer, duplicated_to_id: integer, promoted_to_epic_id: integer, health_status: integer, external_key: string, sprint_id: integer, blocking_issues_count: integer, upvotes_count: integer, work_item_type_id: integer, namespace_id: integer, start_date: date), @type_caster=#<ActiveRecord::TypeCaster::Map:0x00007a0363dc6758 @klass=Issue(id: integer, title: string, author_id: integer, project_id: integer, created_at: datetime, updated_at: datetime, description: text, milestone_id: integer, iid: integer, updated_by_id: integer, weight: integer, confidential: boolean, due_date: date, moved_to_id: integer, lock_version: integer, title_html: text, description_html: text, time_estimate: integer, relative_position: integer, service_desk_reply_to: string, cached_markdown_version: integer, last_edited_at: datetime, last_edited_by_id: integer, discussion_locked: boolean, closed_at: timestamptz, closed_by_id: integer, state_id: integer, duplicated_to_id: integer, promoted_to_epic_id: integer, health_status: integer, external_key: string, sprint_id: integer, blocking_issues_count: integer, upvotes_count: integer, work_item_type_id: integer, namespace_id: integer, start_date: date)>, @table_alias=nil>, name="title">], exact_matches_first: false, expected: [:issue1] finds the expected issues # [RSpecRunTime] RSpec elapsed time: 12 minutes 16.11 seconds. Current RSS: ~1959M. load average: 1.02 1.12 1.26 1/297 11862 query: "foo", columns: [:title], exact_matches_first: false, expected: [:issue1] finds the expected issues query: "foo", columns: ["title"], exact_matches_first: false, expected: [:issue1] finds the expected issues query: "foo", columns: [:description], exact_matches_first: false, expected: [:issue2] finds the expected issues query: "foo", columns: [:title, :description], exact_matches_first: false, expected: [:issue1, :issue2] finds the expected issues query: "bar", columns: [:title, :description], exact_matches_first: false, expected: [:issue1] finds the expected issues query: "baz", columns: [:title, :description], exact_matches_first: false, expected: [:issue2] finds the expected issues query: "qux", columns: [:title, :description], exact_matches_first: false, expected: [] finds the expected issues query: "oh", columns: [:title, :description], exact_matches_first: false, expected: [:issue3] finds the expected issues query: "OH", columns: [:title, :description], exact_matches_first: false, expected: [:issue3] finds the expected issues query: "ah", columns: [:title, :description], exact_matches_first: false, expected: [:issue3] finds the expected issues query: "AH", columns: [:title, :description], exact_matches_first: false, expected: [:issue3] finds the expected issues query: "oh", columns: [:title], exact_matches_first: false, expected: [:issue3] finds the expected issues query: "ah", columns: [:description], exact_matches_first: false, expected: [:issue3] finds the expected issues query: "", columns: [:title], exact_matches_first: false, expected: [:issue1, :issue2, :issue3, :issue4, :issue5] finds the expected issues query: ["a", "b"], columns: [:title], exact_matches_first: false, expected: [:issue1, :issue2, :issue3, :issue4, :issue5] finds the expected issues query: "beep", columns: [:title], exact_matches_first: true, expected: [:issue5, :issue4] finds the expected issues .to_pattern when a query is shorter than 3 chars returns exact matching pattern and ignore_minimum_char_limit is true returns partial matching pattern when a query with a escape character is shorter than 3 chars returns sanitized exact matching pattern and ignore_minimum_char_limit is true returns sanitized partial matching pattern when a query is equal to 3 chars returns partial matching pattern when a query with a escape character is equal to 3 chars returns partial matching pattern when a query is longer than 3 chars returns partial matching pattern when a query with a escape character is longer than 3 chars returns sanitized partial matching pattern .select_fuzzy_terms with a word equal to 3 chars returns array containing a word with a word shorter than 3 chars returns empty array with two words both equal to 3 chars returns array containing two words with two words divided by two spaces both equal to 3 chars returns array containing two words with two words equal to 3 chars and shorter than 3 chars returns array containing a word .split_query_to_search_terms with words separated by spaces returns array containing individual words with a multi-word surrounded by double quote returns array containing a multi-word with a multi-word surrounded by double quote and two words returns array containing a multi-word and two words with a multi-word surrounded by double quote missing a spece before the first double quote returns array containing two words with double quote with a multi-word surrounded by double quote missing a spece after the second double quote returns array containing two words with double quote with two multi-word surrounded by double quote and two words returns array containing two multi-words and two words .fuzzy_arel_match with a word equal to 3 chars returns a single ILIKE condition with a word shorter than 3 chars returns a single equality condition uses LOWER instead of ILIKE when LOWER is enabled with two words both equal to 3 chars returns a joining LIKE condition using a AND with two words both shorter than 3 chars returns a single ILIKE condition with two words, one shorter 3 chars returns a single ILIKE condition using the longer word with a multi-word surrounded by double quote and two words returns a joining LIKE condition using a AND when passing an Arel column returns a condition with the table and column name # [RSpecRunTime] Finishing example group spec/lib/gitlab/sql/pattern_spec.rb. It took 5.27 seconds. Expected to take 16.25 seconds. # [RSpecRunTime] Starting example group spec/helpers/auth_helper_spec.rb. Expected to take 15.84 seconds. AuthHelper button_based_providers returns all enabled providers from devise does not return ldap provider returns empty array providers_for_base_controller returns all enabled providers from devise excludes ldap providers form_based_providers includes LDAP providers includes crowd provider form_based_auth_provider_has_active_class? selects main LDAP server any_form_based_providers_enabled? detects form-based providers ignores ldap providers when ldap web sign in is disabled enabled_button_based_providers all providers are enabled to sign in returns all the enabled providers from settings in expected order puts google and github in the beginning GitHub OAuth sign in is disabled from application setting doesn't return github as provider popular_enabled_button_based_providers returns the intersection set of popular & enabled providers button_based_providers_enabled? button based providers enabled returns true all the button based providers are disabled via application_setting returns false #link_provider_allowed? delegates to identity provider policy #unlink_provider_allowed? delegates to identity provider policy #provider_has_icon? returns true for defined providers returns false for undefined providers when provider is defined by config returns true when provider is not defined by config returns true #allow_admin_mode_password_authentication_for_web? is expected to equal true when password authentication for web is disabled is expected to equal false when current_user is an ldap user is expected to equal false when user got password automatically set is expected to equal false #auth_active? for atlassian_oauth2 provider returns true when present returns false when not present for other omniauth providers returns true when present returns false when not present #auth_app_owner_text when owner is a user behaves like generates text with the correct info includes the name of the application owner when owner is a group behaves like generates text with the correct info includes the name of the application owner when the user is missing returns nil #saml_providers when SAML is enabled without specifying a strategy class returns the saml provider when configuration specifies no provider returns an empty list when configuration specifies a provider with a SAML strategy_class returns the provider when configuration specifies two providers with a SAML strategy_class returns the provider when configuration specifies a provider with a non-SAML strategy_class returns an empty list when configuration specifies four providers but only two with SAML strategy_class returns the provider # [RSpecRunTime] Finishing example group spec/helpers/auth_helper_spec.rb. It took 3.8 seconds. Expected to take 15.84 seconds. # [RSpecRunTime] Starting example group spec/serializers/diff_file_entity_spec.rb. Expected to take 15.48 seconds. DiffFileEntity when there is no merge request behaves like diff file entity exposes correct attributes behaves like diff file base entity exposes essential attributes when diff file does not have a blob and content sha exposes some attributes as nil when a viewer matches the schema when it is a whitespace only change has whitespace_only true when the highlighted lines arent shown has whitespace_only nil when it is a new file has whitespace_only false when it is a collapsed file has whitespace_only false diff files when diff_view is parallel contains only the parallel diff lines when diff_view is parallel contains only the inline diff lines when there is a merge request exposes additional attributes points all urls to merge request target project exposes load_collapsed_diff_url if the file viewer is collapsed behaves like diff file entity exposes correct attributes behaves like diff file base entity exposes essential attributes when diff file does not have a blob and content sha exposes some attributes as nil # [RSpecRunTime] RSpec elapsed time: 12 minutes 26.91 seconds. Current RSS: ~1977M. load average: 1.01 1.11 1.25 1/298 12046 when a viewer matches the schema when it is a whitespace only change has whitespace_only true when the highlighted lines arent shown has whitespace_only nil when it is a new file has whitespace_only false when it is a collapsed file has whitespace_only false diff files when diff_view is parallel contains only the parallel diff lines when diff_view is parallel contains only the inline diff lines when diff_view is unknown hides highlighted_diff_lines and parallel_diff_lines #parallel_diff_lines exposes parallel diff lines correctly #highlighted_diff_lines calls diff_lines_for_serializer on diff_file behaves like diff file with conflict_type #conflict_type returns nil by default when there is matching conflict file returns false # [RSpecRunTime] Finishing example group spec/serializers/diff_file_entity_spec.rb. It took 6.47 seconds. Expected to take 15.48 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/slash_commands/command_spec.rb. Expected to take 14.97 seconds. Gitlab::SlashCommands::Command #execute when no command is available displays 404 messages when an unknown command is triggered displays the help message the user can not create an issue rejects the actions when trying to do deployment and user can not create deployment returns action # [RSpecRunTime] RSpec elapsed time: 12 minutes 32.9 seconds. Current RSS: ~1984M. load average: 1.01 1.11 1.25 1/297 12194 and user has deployment permission returns action when duplicate action exists returns error # [RSpecRunTime] RSpec elapsed time: 12 minutes 35.34 seconds. Current RSS: ~2000M. load average: 1.01 1.11 1.25 1/297 12218 #match_command IssueShow is triggered is expected to eq Gitlab::SlashCommands::IssueShow IssueCreate is triggered is expected to eq Gitlab::SlashCommands::IssueNew IssueSearch is triggered is expected to eq Gitlab::SlashCommands::IssueSearch IssueMove is triggered is expected to eq Gitlab::SlashCommands::IssueMove IssueComment is triggered is expected to eq Gitlab::SlashCommands::IssueComment when incident declare is triggered IncidentNew is triggered is expected to eq Gitlab::SlashCommands::IncidentManagement::IncidentNew when feature flag is disabled IncidentNew is triggered is expected not to eq Gitlab::SlashCommands::IncidentManagement::IncidentNew # [RSpecRunTime] Finishing example group spec/lib/gitlab/slash_commands/command_spec.rb. It took 10.7 seconds. Expected to take 14.97 seconds. # [RSpecRunTime] Starting example group spec/rubocop/cop/rspec/misspelled_aggregate_failures_spec.rb. Expected to take 14.54 seconds. RuboCop::Cop::RSpec::MisspelledAggregateFailures with legit tags tag: "aggregate" behaves like legit tag does not flag tag: "aggregations" behaves like legit tag does not flag tag: "aggregate_two_underscores" behaves like legit tag does not flag with misspelled tags tag: "aggregate_errors" behaves like misspelled tag flags and auto-corrects misspelled tags in describe flags and auto-corrects misspelled tags in context flags and auto-corrects misspelled tags in examples flags and auto-corrects misspelled tags in any order tag: "aggregate_failure" behaves like misspelled tag flags and auto-corrects misspelled tags in describe flags and auto-corrects misspelled tags in context flags and auto-corrects misspelled tags in examples flags and auto-corrects misspelled tags in any order tag: "aggregated_failures" behaves like misspelled tag flags and auto-corrects misspelled tags in describe flags and auto-corrects misspelled tags in context flags and auto-corrects misspelled tags in examples flags and auto-corrects misspelled tags in any order tag: "aggregate_results" behaves like misspelled tag flags and auto-corrects misspelled tags in describe flags and auto-corrects misspelled tags in context flags and auto-corrects misspelled tags in examples flags and auto-corrects misspelled tags in any order tag: "aggregated_errors" behaves like misspelled tag flags and auto-corrects misspelled tags in describe flags and auto-corrects misspelled tags in context flags and auto-corrects misspelled tags in examples flags and auto-corrects misspelled tags in any order tag: "aggregates_failures" behaves like misspelled tag flags and auto-corrects misspelled tags in describe flags and auto-corrects misspelled tags in context flags and auto-corrects misspelled tags in examples flags and auto-corrects misspelled tags in any order tag: "aggregate_failues" behaves like misspelled tag flags and auto-corrects misspelled tags in describe flags and auto-corrects misspelled tags in context flags and auto-corrects misspelled tags in examples flags and auto-corrects misspelled tags in any order tag: "aggregate_bar" behaves like misspelled tag flags and auto-corrects misspelled tags in describe flags and auto-corrects misspelled tags in context flags and auto-corrects misspelled tags in examples flags and auto-corrects misspelled tags in any order tag: "aggregate_foo" behaves like misspelled tag flags and auto-corrects misspelled tags in describe flags and auto-corrects misspelled tags in context flags and auto-corrects misspelled tags in examples flags and auto-corrects misspelled tags in any order # [RSpecRunTime] Finishing example group spec/rubocop/cop/rspec/misspelled_aggregate_failures_spec.rb. It took 3.47 seconds. Expected to take 14.54 seconds. # [RSpecRunTime] Starting example group spec/lib/banzai/filter/references/feature_flag_reference_filter_spec.rb. Expected to take 14.07 seconds. Banzai::Filter::References::FeatureFlagReferenceFilter requires project context ignores valid references contained inside 'pre' element ignores valid references contained inside 'code' element ignores valid references contained inside 'a' element ignores valid references contained inside 'style' element with internal reference links to a valid reference links with adjacent text ignores invalid feature flag IIDs includes a title attribute escapes the title attribute includes default classes includes a data-project attribute includes a data-feature-flag attribute supports an :only_path context # [RSpecRunTime] RSpec elapsed time: 12 minutes 45.42 seconds. Current RSS: ~1979M. load average: 1.09 1.12 1.25 1/294 12261 with cross-project / cross-namespace complete reference links to a valid reference produces a valid text in a link produces a valid text ignores invalid feature flag IIDs on the referenced project with cross-project / same-namespace complete reference links to a valid reference produces a valid text in a link produces a valid text ignores invalid feature flag IIDs on the referenced project with cross-project shorthand reference links to a valid reference produces a valid text in a link produces a valid text ignores invalid feature flag IDs on the referenced project with cross-project URL reference links to a valid reference links with adjacent text ignores invalid feature flag IIDs on the referenced project with group context links to a valid reference ignores internal references # [RSpecRunTime] Finishing example group spec/lib/banzai/filter/references/feature_flag_reference_filter_spec.rb. It took 4.99 seconds. Expected to take 14.07 seconds. # [RSpecRunTime] Starting example group spec/services/projects/operations/update_service_spec.rb. Expected to take 13.76 seconds. Projects::Operations::UpdateService #execute alerting setting with valid params when regenerate_token is not set with an existing setting ignores provided token without an existing setting behaves like setting creation creates a setting when regenerate_token is set with an existing setting regenerates token without an existing setting behaves like setting creation creates a setting with insufficient permissions behaves like no operation does nothing with empty params behaves like no operation does nothing error tracking with existing error tracking setting updates the settings disable error tracking can set api_url to nil without an existing error tracking setting creates a setting partial_update with setting service succeeds updates attributes only updates enabled attribute with integrated attribute updates integrated attribute only updates enabled and integrated attributes # [RSpecRunTime] RSpec elapsed time: 12 minutes 53.98 seconds. Current RSS: ~1936M. load average: 1.08 1.12 1.25 1/292 12262 without setting creates setting with default values with masked param token does not update token with invalid parameters does nothing with inappropriate params ignores params prometheus integration prometheus params were passed into service WARNING: You're overriding a previous stub implementation of `new`. Called from /builds/gitlab-org/gitlab/spec/services/projects/operations/update_service_spec.rb:330:in `block (5 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/services/projects/operations/update_service_spec.rb:330:in `block (5 levels) in <top (required)>'. uses Project#find_or_initialize_integration to include instance defined defaults and pass them to Projects::UpdateService when prometheus params are not passed into service does not pass any prometheus params into Projects::UpdateService # [RSpecRunTime] Finishing example group spec/services/projects/operations/update_service_spec.rb. It took 6.9 seconds. Expected to take 13.76 seconds. # [RSpecRunTime] Starting example group spec/models/ci/build_trace_chunks/fog_spec.rb. Expected to take 13.41 seconds. Ci::BuildTraceChunks::Fog does not allow STI #available? when object storage is enabled is expected to be truthy when object storage is disabled is expected to be falsy #data when data exists returns the data when data does not exist returns nil #set_data when data exists overwrites data when data does not exist sets new data when S3 server side encryption is enabled creates a file with attributes # [RSpecRunTime] RSpec elapsed time: 12 minutes 59.24 seconds. Current RSS: ~1919M. load average: 1.07 1.11 1.25 1/292 12263 #append_data appends ASCII data appends UTF-8 data when initial data is UTF-8 appends ASCII data # [RSpecRunTime] RSpec elapsed time: 13 minutes 1.31 seconds. Current RSS: ~1897M. load average: 1.07 1.11 1.25 1/292 12264 #delete_data when data exists deletes data when data does not exist does nothing #size when data exists returns data bytesize correctly when data does not exist returns zero #keys returns keys #delete_keys deletes multiple data # [RSpecRunTime] Finishing example group spec/models/ci/build_trace_chunks/fog_spec.rb. It took 9.1 seconds. Expected to take 13.41 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/tracking_spec.rb. Expected to take 13.01 seconds. Gitlab::Tracking is expected to delegate #flush to the #tracker object .options when feature flag is disabled when destination is Snowplow returns useful client options behaves like delegates to destination delegates to Gitlab::Tracking::Destinations::Snowplow destination when destination is SnowplowMicro enabled with yml config behaves like delegates to SnowplowMicro destination with proper options returns useful client options behaves like delegates to destination delegates to Gitlab::Tracking::Destinations::SnowplowMicro destination event tracking .event when the action is not passed in as a string allows symbols allows nil allows integers when destination is Snowplow behaves like rescued error raised by destination class rescues error behaves like delegates to destination delegates to Gitlab::Tracking::Destinations::Snowplow destination when destination is SnowplowMicro behaves like rescued error raised by destination class rescues error behaves like delegates to destination delegates to Gitlab::Tracking::Destinations::SnowplowMicro destination .definition dispatches the data to .event snowplow_micro_enabled? returns false when snowplow_micro is not configured development?: true, micro_verification_enabled?: true, snowplow_micro_enabled: true, result: true is expected to equal true development?: true, micro_verification_enabled?: true, snowplow_micro_enabled: false, result: false is expected to equal false development?: false, micro_verification_enabled?: true, snowplow_micro_enabled: true, result: true is expected to equal true development?: false, micro_verification_enabled?: true, snowplow_micro_enabled: false, result: false is expected to equal false development?: false, micro_verification_enabled?: false, snowplow_micro_enabled: true, result: false is expected to equal false development?: false, micro_verification_enabled?: false, snowplow_micro_enabled: false, result: false is expected to equal false development?: true, micro_verification_enabled?: false, snowplow_micro_enabled: true, result: true is expected to equal true development?: true, micro_verification_enabled?: false, snowplow_micro_enabled: false, result: false is expected to equal false .micro_verification_enabled? verify_tracking: nil, result: false is expected to equal false verify_tracking: "true", result: true is expected to equal true verify_tracking: "false", result: false is expected to equal false verify_tracking: "0", result: false is expected to equal false verify_tracking: "1", result: true is expected to equal true tracker returns a SnowPlowMicro instance in development returns a SnowPlow instance when not in development # [RSpecRunTime] Finishing example group spec/lib/gitlab/tracking_spec.rb. It took 3.88 seconds. Expected to take 13.01 seconds. # [RSpecRunTime] Starting example group spec/lib/banzai/pipeline/gfm_pipeline_spec.rb. Expected to take 12.57 seconds. Banzai::Pipeline::GfmPipeline integration between parsing regular and external issue references when internal issue tracker is enabled executes :each_node only once for first reference filter allows to use long external reference syntax for Redmine parses cross-project references to regular issues when shorthand pattern #ISSUE_ID is used links an internal issues and keep updated nodes in result[:reference_filter_nodes] # [RSpecRunTime] RSpec elapsed time: 13 minutes 10.85 seconds. Current RSS: ~1885M. load average: 0.98 1.09 1.24 1/292 12265 when shorthand pattern #ISSUE_ID is used links an internal issue if it exists does not link any issue if it does not exist on GitLab when internal issue tracker is disabled allows to use shorthand external reference syntax for Redmine allows to use long external reference syntax for Redmine parses cross-project references to regular issues markdown link or image urls having spaces rewrites links with spaces in url rewrites images with spaces in url sanitizes the fixed link # [RSpecRunTime] RSpec elapsed time: 13 minutes 13.65 seconds. Current RSS: ~1886M. load average: 0.98 1.09 1.24 1/292 12266 emoji in references renders a label reference with emoji inside renders a milestone reference with emoji inside when label reference is similar to a commit SHA renders a label reference asset proxy replaces a lazy loaded img src autolinks images to the proxy properly adds tooltips to link for IDN images # [RSpecRunTime] RSpec elapsed time: 13 minutes 16.55 seconds. Current RSS: ~1898M. load average: 0.99 1.09 1.24 1/294 12277 # [RSpecRunTime] Finishing example group spec/lib/banzai/pipeline/gfm_pipeline_spec.rb. It took 7.91 seconds. Expected to take 12.57 seconds. # [RSpecRunTime] Starting example group spec/tasks/gitlab/artifacts/migrate_rake_spec.rb. Expected to take 12.21 seconds. gitlab:artifacts namespace rake task gitlab:artifacts:migrate when local storage is used and remote storage is defined migrates file to remote storage # [RSpecRunTime] RSpec elapsed time: 13 minutes 18.52 seconds. Current RSS: ~1880M. load average: 0.99 1.09 1.24 1/294 12278 and remote storage is not defined fails to migrate to remote storage # [RSpecRunTime] RSpec elapsed time: 13 minutes 19.71 seconds. Current RSS: ~1872M. load average: 0.99 1.09 1.24 1/294 12279 when remote storage is used file stays on remote storage # [RSpecRunTime] RSpec elapsed time: 13 minutes 21.01 seconds. Current RSS: ~1872M. load average: 0.99 1.09 1.24 1/294 12280 gitlab:artifacts:migrate_to_local when remote storage is used and job has remote file store defined migrates file to local storage # [RSpecRunTime] RSpec elapsed time: 13 minutes 22.26 seconds. Current RSS: ~1859M. load average: 0.99 1.09 1.24 1/294 12281 when local storage is used file stays on local storage # [RSpecRunTime] RSpec elapsed time: 13 minutes 23.52 seconds. Current RSS: ~1853M. load average: 0.99 1.09 1.24 1/294 12282 # [RSpecRunTime] Finishing example group spec/tasks/gitlab/artifacts/migrate_rake_spec.rb. It took 9.2 seconds. Expected to take 12.21 seconds. # [RSpecRunTime] RSpec elapsed time: 13 minutes 25.9 seconds. Current RSS: ~1834M. load average: 1.07 1.10 1.24 1/292 12283 # [RSpecRunTime] Starting example group spec/lib/gitlab/observability_spec.rb. Expected to take 11.98 seconds. Gitlab::Observability .provisioning_url is expected to eq "https://observe.gitlab.com/v3/tenant/471" .oauth_url is expected to eq "https://observe.gitlab.com/v1/auth/start" .observability_url is expected to eq "https://observe.gitlab.com" when on staging.gitlab.com is expected to eq "https://observe.staging.gitlab.com" when overriden via ENV is expected to eq "https://example.net" .should_enable_observability_auth_scopes? with feature flag state {:observability_tracing=>true, :observability_metrics=>true, :observability_logs=>true} when resource is group is expected to equal true when resource is project is expected to equal true when resource is not a group or project is expected to equal false with feature flag state {:observability_tracing=>true, :observability_metrics=>true, :observability_logs=>false} when resource is group is expected to equal true when resource is project is expected to equal true when resource is not a group or project is expected to equal false with feature flag state {:observability_tracing=>true, :observability_metrics=>false, :observability_logs=>true} when resource is group is expected to equal true when resource is project is expected to equal true when resource is not a group or project is expected to equal false with feature flag state {:observability_tracing=>true, :observability_metrics=>false, :observability_logs=>false} when resource is group is expected to equal true when resource is project is expected to equal true when resource is not a group or project is expected to equal false with feature flag state {:observability_tracing=>false, :observability_metrics=>true, :observability_logs=>true} when resource is group is expected to equal true when resource is project is expected to equal true when resource is not a group or project is expected to equal false with feature flag state {:observability_tracing=>false, :observability_metrics=>true, :observability_logs=>false} when resource is group is expected to equal true when resource is project is expected to equal true when resource is not a group or project is expected to equal false with feature flag state {:observability_tracing=>false, :observability_metrics=>false, :observability_logs=>true} when resource is group is expected to equal true when resource is project is expected to equal true when resource is not a group or project is expected to equal false with feature flag state {:observability_tracing=>false, :observability_metrics=>false, :observability_logs=>false} when resource is group is expected to equal false when resource is project is expected to equal false when resource is not a group or project is expected to equal false # [RSpecRunTime] Finishing example group spec/lib/gitlab/observability_spec.rb. It took 3.32 seconds. Expected to take 11.98 seconds. # [RSpecRunTime] Starting example group spec/models/ci_platform_metric_spec.rb. Expected to take 11.63 seconds. CiPlatformMetric does not allow STI behaves like a BulkInsertSafe model when calling class methods directly raises an error when method is not bulk-insert safe does not raise an error when method is bulk-insert safe .bulk_insert! when all items are valid inserts them all returns an empty array when some items are invalid does not insert any of them and raises an error inserts them anyway when bypassing validations validations is expected to validate that :recorded_at cannot be empty/falsy is expected to validate that :count cannot be empty/falsy is expected to validate that :count looks like an integer greater than 0 is expected to allow :platform_target to be ‹""› is expected not to allow :platform_target to be ‹nil› is expected to validate that the length of :platform_target is at most 255 .insert_auto_devops_platform_targets! when there is already existing metrics data does not erase any existing data when there are multiple platform target variables inserts platform target counts for that day # [RSpecRunTime] RSpec elapsed time: 13 minutes 33.1 seconds. Current RSS: ~1850M. load average: 1.06 1.10 1.24 1/292 12284 when there are invalid ci variable values for platform_target ignores those values # [RSpecRunTime] RSpec elapsed time: 13 minutes 34.53 seconds. Current RSS: ~1841M. load average: 1.06 1.10 1.24 1/292 12285 when there are no platform target variables does not generate any new platform metrics # [RSpecRunTime] Finishing example group spec/models/ci_platform_metric_spec.rb. It took 5.94 seconds. Expected to take 11.63 seconds. # [RSpecRunTime] Starting example group spec/models/protected_branch/merge_access_level_spec.rb. Expected to take 11.43 seconds. ProtectedBranch::MergeAccessLevel does not allow STI is expected to belong to protected_branch required: false validations when role? is expected to validate that :access_level is either ‹30›, ‹40›, ‹60›, or ‹0› is expected to validate that :access_level cannot be empty/falsy is expected to validate that :access_level is case-sensitively unique within the scope of :protected_branch_id when not role? is expected not to validate that :access_level cannot be empty/falsy is expected not to validate that :access_level is either ‹30›, ‹40›, ‹60›, or ‹0› is expected not to validate that :access_level is case-sensitively unique within the scope of :protected_branch_id ::human_access_levels is expected to eq {30=>"Developers + Maintainers", 40=>"Maintainers", 60=>"Instance admins", 0=>"No one"} #check_access when current_user is nil is expected to eq false when current_user access exists without membership does not check membership if check_membership_in_protected_ref_access FF is disabled when check_membership_in_protected_ref_access FF is enabled does check membership returns false when user has inherited membership is expected to be truthy when access_level is NO_ACCESS is expected to eq false when instance admin access is configured when current_user is a maintainer is expected to eq false when current_user is admin is expected to eq true when current_user can push_code to project and member access is high enough is expected to eq true when external authorization denies access is expected to be falsey and member access is too low is expected to eq false when current_user cannot push_code to project is expected to eq false #project delegates project to protected_branch association ::allowed_access_levels when running on Gitlab.com? is expected to contain exactly 30, 40, and 0 when self hosted? is expected to contain exactly 30, 40, 60, and 0 # [RSpecRunTime] Finishing example group spec/models/protected_branch/merge_access_level_spec.rb. It took 3.94 seconds. Expected to take 11.43 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/ci/status/build/retryable_spec.rb. Expected to take 11.15 seconds. Gitlab::Ci::Status::Build::Retryable #text does not override status text #icon does not override status icon #label does not override status label #group does not override status group #status_tooltip does not override status status_tooltip #badge_tooltip does return status action details #has_action? when user is allowed to update build is expected to have action when user is not allowed to update build is expected not to have action #action_path is expected to include "48/retry" #action_icon is expected to eq "retry" #action_title is expected to eq "Retry" #action_button_title is expected to eq "Retry this job" .matches? when build is retryable is a correct match when build is not retryable does not match # [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/status/build/retryable_spec.rb. It took 6.56 seconds. Expected to take 11.15 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/ci/build/context/global_spec.rb. Expected to take 10.86 seconds. Gitlab::Ci::Build::Context::Global #variables is expected to be an instance of Gitlab::Ci::Variables::Collection behaves like variables collection is expected to include {"CI_COMMIT_REF_NAME" => "master"} is expected to include {"CI_PIPELINE_IID" => "1"} is expected to include {"CI_PROJECT_PATH" => "namespace493/project-516"} is expected not to have key "CI_JOB_NAME" with passed yaml variables is expected to include {"SUPPORTED" => "parsed"} # [RSpecRunTime] RSpec elapsed time: 13 minutes 49.5 seconds. Current RSS: ~1842M. load average: 1.44 1.18 1.26 1/292 12286 #variables_hash is expected to be an instance of ActiveSupport::HashWithIndifferentAccess behaves like variables collection is expected to include {"CI_COMMIT_REF_NAME" => "master"} is expected to include {"CI_PIPELINE_IID" => "1"} is expected to include {"CI_PROJECT_PATH" => "namespace499/project-522"} is expected not to have key "CI_JOB_NAME" with passed yaml variables is expected to include {"SUPPORTED" => "parsed"} # [RSpecRunTime] RSpec elapsed time: 13 minutes 53.36 seconds. Current RSS: ~1826M. load average: 1.44 1.18 1.26 1/292 12287 # [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/build/context/global_spec.rb. It took 7.8 seconds. Expected to take 10.86 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab_settings/options_spec.rb. Expected to take 10.61 seconds. GitlabSettings::Options #symbolize_keys! behaves like do not mutate when in production env returns the unchanged internal hash when not in production env raises an exception to avoid changing the internal keys #dup returns a deep copy #key? checks if a string key exists checks if a symbol key exists #deep_merge! merges in place with the existing options when the merge hash replaces existing configs merges in place with the duplicated options replaced .build when argument is a hash creates a new GitlabSettings::Options instance #to_hash returns the hash representation of the config #[] accesses the configuration key as string accesses the configuration key as symbol #default returns the option value #stringify_keys! behaves like do not mutate when in production env returns the unchanged internal hash when not in production env raises an exception to avoid changing the internal keys #[]= changes the configuration key as string changes the configuration key as symbol when key does not exist creates a new configuration by string key creates a new configuration by string key #method_missing when method is an option delegates methods to options keys uses methods to change options values when method is not an option when in production env delegates the method to the internal options hash when not in production env delegates the method to the internal options hash when method is not an option and does not exist in hash raises GitlabSettings::MissingSetting #deep_merge returns a new object with the options merged when the merge hash replaces existing configs returns a new object with the duplicated options replaced #merge! merges in place with the existing options when the merge hash replaces existing configs merges in place with the duplicated options replaced #is_a? returns false for anything different of Hash or GitlabSettings::Options #merge returns a new object with the options merged when the merge hash replaces existing configs returns a new object with the duplicated options replaced # [RSpecRunTime] Finishing example group spec/lib/gitlab_settings/options_spec.rb. It took 2.79 seconds. Expected to take 10.61 seconds. # [RSpecRunTime] Starting example group spec/services/security/ci_configuration/secret_detection_create_service_spec.rb. Expected to take 10.41 seconds. Security::CiConfiguration::SecretDetectionCreateService #execute user does not belong to project returns an error status does not track a snowplow event # [RSpecRunTime] RSpec elapsed time: 13 minutes 57.31 seconds. Current RSS: ~1869M. load average: 1.40 1.18 1.26 1/297 12320 user belongs to project does track the snowplow event raises exception if the user does not have permission to create a new branch when exception is raised when branch was created tries to rm branch # [RSpecRunTime] RSpec elapsed time: 13 minutes 58.8 seconds. Current RSS: ~1881M. load average: 1.40 1.18 1.26 1/297 12360 when branch was not created does not try to rm branch with no parameters returns the path to create a new merge request when the project has a non-default ci config file does track the snowplow event when existing ci config contains anchors/aliases returns a ServiceResponse error when parsing existing ci config gives a Psych error returns a ServiceResponse error when parsing existing ci config gives any other error is successful when the project is empty returns a ServiceResponse error # [RSpecRunTime] Finishing example group spec/services/security/ci_configuration/secret_detection_create_service_spec.rb. It took 5.11 seconds. Expected to take 10.41 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/sidekiq_middleware/client_metrics_spec.rb. Expected to take 10.12 seconds. Gitlab::SidekiqMiddleware::ClientMetrics behaves like metrics middleware with worker attribution when workers are not attributed behaves like a metrics middleware with mocked prometheus #call yields block increments enqueued jobs metric with correct labels when worker is a string of the class increments enqueued jobs metric with correct labels when a worker is wrapped into ActiveJob behaves like a metrics middleware with mocked prometheus #call yields block increments enqueued jobs metric with correct labels when worker is a string of the class increments enqueued jobs metric with correct labels when workers are attributed high urgency behaves like a metrics middleware with mocked prometheus #call yields block increments enqueued jobs metric with correct labels when worker is a string of the class increments enqueued jobs metric with correct labels no urgency behaves like a metrics middleware with mocked prometheus #call yields block increments enqueued jobs metric with correct labels when worker is a string of the class increments enqueued jobs metric with correct labels external dependencies behaves like a metrics middleware with mocked prometheus #call yields block increments enqueued jobs metric with correct labels when worker is a string of the class increments enqueued jobs metric with correct labels cpu boundary behaves like a metrics middleware with mocked prometheus #call yields block increments enqueued jobs metric with correct labels when worker is a string of the class increments enqueued jobs metric with correct labels memory boundary behaves like a metrics middleware with mocked prometheus #call yields block increments enqueued jobs metric with correct labels when worker is a string of the class increments enqueued jobs metric with correct labels feature category behaves like a metrics middleware with mocked prometheus #call yields block increments enqueued jobs metric with correct labels when worker is a string of the class increments enqueued jobs metric with correct labels combined behaves like a metrics middleware with mocked prometheus #call yields block increments enqueued jobs metric with correct labels when worker is a string of the class increments enqueued jobs metric with correct labels when mounted when scheduling jobs for immediate execution increments enqueued jobs metric with scheduling label set to immediate when scheduling jobs for future execution increments enqueued jobs metric with scheduling label set to delayed sets the scheduled_at field when the worker class cannot be found increments enqueued jobs metric with the worker labels set to NilClass # [RSpecRunTime] Finishing example group spec/lib/gitlab/sidekiq_middleware/client_metrics_spec.rb. It took 2.76 seconds. Expected to take 10.12 seconds. # [RSpecRunTime] Starting example group spec/lib/banzai/reference_redactor_spec.rb. Expected to take 9.95 seconds. Banzai::ReferenceRedactor #redact when reference not visible to user redacts an array of documents replaces redacted reference with inner HTML when data-original attribute provided replaces redacted reference with original content does not replace redacted reference with original content if href is given uses the original content as the link content if given when project is in pending delete redacts an issue attached redacts an external issue # [RSpecRunTime] RSpec elapsed time: 14 minutes 6.24 seconds. Current RSS: ~1879M. load average: 1.34 1.17 1.26 1/297 12459 when reference visible to user does not redact an array of documents when the user cannot read cross project skips links to issues within the same project removes info from a cross project reference # [RSpecRunTime] RSpec elapsed time: 14 minutes 8.53 seconds. Current RSS: ~1879M. load average: 1.34 1.17 1.26 1/297 12460 #redact_nodes redacts an Array of nodes #nodes_visible_to_user returns a Set containing the visible nodes handles invalid references gracefully # [RSpecRunTime] Finishing example group spec/lib/banzai/reference_redactor_spec.rb. It took 4.98 seconds. Expected to take 9.95 seconds. # [RSpecRunTime] Starting example group spec/models/integrations/redmine_spec.rb. Expected to take 9.72 seconds. Integrations::Redmine does not allow STI Validations when integration is active is expected to validate that :project_url cannot be empty/falsy is expected to validate that :issues_url cannot be empty/falsy is expected to validate that :new_issue_url cannot be empty/falsy behaves like issue tracker integration URL attribute is expected to allow :project_url to be ‹"https://example.com"› is expected not to allow :project_url to be ‹"example.com"› is expected not to allow :project_url to be ‹"ftp://example.com"› is expected not to allow :project_url to be ‹"herp-and-derp"› # [RSpecRunTime] RSpec elapsed time: 14 minutes 10.35 seconds. Current RSS: ~1890M. load average: 1.31 1.17 1.26 1/297 12461 behaves like issue tracker integration URL attribute is expected to allow :issues_url to be ‹"https://example.com"› is expected not to allow :issues_url to be ‹"example.com"› is expected not to allow :issues_url to be ‹"ftp://example.com"› is expected not to allow :issues_url to be ‹"herp-and-derp"› behaves like issue tracker integration URL attribute is expected to allow :new_issue_url to be ‹"https://example.com"› is expected not to allow :new_issue_url to be ‹"example.com"› is expected not to allow :new_issue_url to be ‹"ftp://example.com"› is expected not to allow :new_issue_url to be ‹"herp-and-derp"› when integration is inactive is expected not to validate that :project_url cannot be empty/falsy is expected not to validate that :issues_url cannot be empty/falsy is expected not to validate that :new_issue_url cannot be empty/falsy #reference_pattern does allow # on the reference behaves like allows project key on reference pattern allows underscores in the project name allows numbers in the project name requires the project name to begin with A-Z does not allow issue number to finish with a letter # [RSpecRunTime] Finishing example group spec/models/integrations/redmine_spec.rb. It took 3.56 seconds. Expected to take 9.72 seconds. # [RSpecRunTime] Starting example group spec/finders/packages/maven/package_finder_spec.rb. Expected to take 9.5 seconds. Packages::Maven::PackageFinder uses CTE in the query #execute within the project behaves like handling valid and invalid paths with a valid path is expected to include #<Packages::Package id: 56, project_id: 513, created_at: "2024-02-20 23:33:46.529156000 +0000", updat...age_type: "maven", creator_id: 661, status: "default", last_downloaded_at: nil, status_message: nil> with an invalid path returns an empty array with an uninstallable package returns an empty array within a group behaves like handling valid and invalid paths with a valid path is expected to include #<Packages::Package id: 56, project_id: 513, created_at: "2024-02-20 23:33:46.529156000 +0000", updat...age_type: "maven", creator_id: 661, status: "default", last_downloaded_at: nil, status_message: nil> with an invalid path returns an empty array with an uninstallable package returns an empty array when the FF maven_remove_permissions_check_from_finder disabled returns an empty array when an user assigned the developer role behaves like handling valid and invalid paths with a valid path is expected to include #<Packages::Package id: 56, project_id: 513, created_at: "2024-02-20 23:33:46.529156000 +0000", updat...age_type: "maven", creator_id: 661, status: "default", last_downloaded_at: nil, status_message: nil> with an invalid path returns an empty array with an uninstallable package returns an empty array across all projects returns an empty array versionless maven-metadata.xml package without order by package file is expected to contain exactly #<Packages::Package id: 58, project_id: 515, created_at: "2024-02-20 23:33:49.691154016 +0000", updat...age_type: "maven", creator_id: 664, status: "default", last_downloaded_at: nil, status_message: nil>, #<Packages::Package id: 60, project_id: 516, created_at: "2024-02-20 23:33:50.060888428 +0000", updat...age_type: "maven", creator_id: 666, status: "default", last_downloaded_at: nil, status_message: nil>, and #<Packages::Package id: 62, project_id: 517, created_at: "2024-02-20 23:33:50.407861622 +0000", updat...age_type: "maven", creator_id: 668, status: "default", last_downloaded_at: nil, status_message: nil> # [RSpecRunTime] RSpec elapsed time: 14 minutes 17.88 seconds. Current RSS: ~1896M. load average: 1.29 1.16 1.26 1/292 12462 with order by package file is expected to eq #<Packages::Package id: 60, project_id: 516, created_at: "2024-02-20 23:33:50.060888428 +0000", updat...age_type: "maven", creator_id: 666, status: "default", last_downloaded_at: nil, status_message: nil> # [RSpecRunTime] Finishing example group spec/finders/packages/maven/package_finder_spec.rb. It took 5.86 seconds. Expected to take 9.5 seconds. # [RSpecRunTime] Starting example group spec/services/git/base_hooks_service_spec.rb. Expected to take 9.23 seconds. Git::BaseHooksService push event creates push event create_push_event is set to false does not create push event project hooks and integrations hooks active hooks executes the hooks inactive hooks does not execute the hooks with integrations with active integrations executes the services with integrations.skip_ci push option executes the services with inactive integrations does not execute the services when execute_project_hooks param is set to false does not execute hooks and integrations Generating CI variables from push options with empty push options behaves like creates pipeline with params and expected variables calls the create pipeline service with push options not specifying variables behaves like creates pipeline with params and expected variables calls the create pipeline service with push options specifying variables behaves like creates pipeline with params and expected variables calls the create pipeline service with push options not specifying variables in correct format behaves like creates pipeline with params and expected variables calls the create pipeline service Pipeline creation when the pipeline is persisted and there are no errors returns success and there are errors does not log errors and returns success when the pipeline wasn't persisted and there are no errors returns success and there are errors logs errors and returns success notifying KAS enqueues the notification worker when KAS is disabled is expected not to receive perform_async(*(any args)) 0 times # [RSpecRunTime] Finishing example group spec/services/git/base_hooks_service_spec.rb. It took 4.03 seconds. Expected to take 9.23 seconds. # [RSpecRunTime] Starting example group spec/helpers/badges_helper_spec.rb. Expected to take 9.08 seconds. BadgesHelper #gl_badge_tag creates a badge with given text adds style classes adds custom classes applies custom html attributes block content renders block content changes the function signature variants defaults to muted falls back to default given an unknown variant variant: :muted sets the variant class variant: :neutral sets the variant class variant: :info sets the variant class variant: :success sets the variant class variant: :warning sets the variant class variant: :danger sets the variant class sizes defaults to md falls back to default given an unknown size size: :sm sets the size class size: :md sets the size class size: :lg sets the size class icons with text renders an icon adds a spacing class and any custom classes to the icon icon only adds an img role to element adds aria-label to element does not add a spacing class to the icon given an href creates a badge link # [RSpecRunTime] Finishing example group spec/helpers/badges_helper_spec.rb. It took 2.48 seconds. Expected to take 9.08 seconds. # [RSpecRunTime] Starting example group spec/models/group_group_link_spec.rb. Expected to take 8.89 seconds. GroupGroupLink does not allow STI validation is expected to validate that :shared_group cannot be empty/falsy is expected to validate that :shared_group_id is case-sensitively unique within the scope of :shared_with_group_id, producing a custom validation error on failure is expected to validate that :shared_with_group cannot be empty/falsy is expected to validate that :group_access cannot be empty/falsy is expected to validate that :group_access is either ‹10›, ‹20›, ‹30›, or ‹40› relations is expected to belong to shared_group required: false is expected to belong to shared_with_group required: false scopes for scopes fetching records based on access levels .non_guests returns all records which are greater than Guests access .with_owner_or_maintainer_access returns all records which have OWNER or MAINTAINER access .with_owner_access returns all records which have OWNER access .with_developer_access returns all records which have DEVELOPER access .with_developer_maintainer_owner_access returns all records which have DEVELOPER, MAINTAINER or OWNER access for access via group shares .groups_accessible_via returns other groups that you can get access to, via the group shares of the specified groups .groups_having_access_to returns all other groups that are having access to these specified groups, via group share .distinct_on_shared_with_group_id_with_group_access returns only one group link per group (with max group access) #human_access delegates to Gitlab::Access search by group name is expected to eq [#<GroupGroupLink id: 18, created_at: "2024-02-20 23:34:01.622010322 +0000", updated_at: "2024-02-20 ...10322 +0000", shared_group_id: 1085, shared_with_group_id: 1062, expires_at: nil, group_access: 20>] is expected to be empty # [RSpecRunTime] Finishing example group spec/models/group_group_link_spec.rb. It took 3.7 seconds. Expected to take 8.89 seconds. # [RSpecRunTime] Starting example group spec/services/projects/container_repository/cleanup_tags_service_spec.rb. Expected to take 8.72 seconds. Projects::ContainerRepository::CleanupTagsService #execute with valid user behaves like handling invalid regular expressions when name_regex_delete is invalid behaves like handling invalid regex calls error tracking service behaves like returning error message returns error invalid regex when name_regex is invalid behaves like handling invalid regex calls error tracking service behaves like returning error message returns error invalid regex when name_regex_keep is invalid behaves like handling invalid regex calls error tracking service behaves like returning error message returns error invalid regex behaves like handling all types of container repositories with a migrated repository supporting the gitlab api behaves like calling service uses cleanup tags service Projects::ContainerRepository::Gitlab::CleanupTagsService not supporting the gitlab api behaves like calling service uses cleanup tags service Projects::ContainerRepository::ThirdParty::CleanupTagsService with a non migrated repository behaves like calling service uses cleanup tags service Projects::ContainerRepository::ThirdParty::CleanupTagsService for container expiration policy behaves like handling invalid regular expressions when name_regex_delete is invalid behaves like handling invalid regex calls error tracking service behaves like returning error message returns error invalid regex when name_regex is invalid behaves like handling invalid regex calls error tracking service behaves like returning error message returns error invalid regex when name_regex_keep is invalid behaves like handling invalid regex calls error tracking service behaves like returning error message returns error invalid regex behaves like handling all types of container repositories with a migrated repository supporting the gitlab api behaves like calling service uses cleanup tags service Projects::ContainerRepository::Gitlab::CleanupTagsService not supporting the gitlab api behaves like calling service uses cleanup tags service Projects::ContainerRepository::ThirdParty::CleanupTagsService with a non migrated repository behaves like calling service uses cleanup tags service Projects::ContainerRepository::ThirdParty::CleanupTagsService with not allowed user behaves like returning error message returns error access denied with no user behaves like returning error message returns error access denied # [RSpecRunTime] Finishing example group spec/services/projects/container_repository/cleanup_tags_service_spec.rb. It took 2.58 seconds. Expected to take 8.72 seconds. # [RSpecRunTime] Starting example group spec/models/prometheus_alert_spec.rb. Expected to take 8.5 seconds. PrometheusAlert does not allow STI .distinct_projects returns a count of all distinct projects which have an alert # [RSpecRunTime] RSpec elapsed time: 14 minutes 32.69 seconds. Current RSS: ~1907M. load average: 1.22 1.16 1.25 1/297 12651 operators contains the correct equality operator associations is expected to belong to project required: false is expected to belong to environment required: false is expected to belong to prometheus_metric required: false is expected to have many prometheus_alert_events is expected to have many related_issues is expected to have many alert_management_alerts project validations is expected to validate that :environment cannot be empty/falsy is expected to validate that :project cannot be empty/falsy is expected to validate that :prometheus_metric cannot be empty/falsy is expected to validate that :operator cannot be empty/falsy is expected to validate that :threshold cannot be empty/falsy when environment and metric belongs same project is expected to be valid when environment belongs to different project is expected not to be valid when metric belongs to different project is expected not to be valid when metric is common is expected to be valid runbook validations disallow invalid urls allow valid urls #full_query returns the concatenated query #to_param returns the params of the prometheus alert # [RSpecRunTime] Finishing example group spec/models/prometheus_alert_spec.rb. It took 4.14 seconds. Expected to take 8.5 seconds. # [RSpecRunTime] Starting example group spec/db/docs_spec.rb. Expected to take 8.28 seconds. Views documentation for each object has a metadata file has a valid metadata file has a valid feature category has a valid metadata file with allowed fields has a valid metadata file without missing fields # [RSpecRunTime] Finishing example group spec/db/docs_spec.rb. It took 0.61 second. Expected to take 8.28 seconds. # [RSpecRunTime] Starting example group spec/db/docs_spec.rb. Expected to take 8.28 seconds. Tables documentation for each object has a metadata file has a valid metadata file has a valid feature category has a valid metadata file with allowed fields has a valid metadata file without missing fields # [RSpecRunTime] RSpec elapsed time: 14 minutes 37.49 seconds. Current RSS: ~1947M. load average: 1.21 1.15 1.25 1/292 12652 # [RSpecRunTime] Finishing example group spec/db/docs_spec.rb. It took 1.51 seconds. Expected to take 8.28 seconds. # [RSpecRunTime] Starting example group spec/db/docs_spec.rb. Expected to take 8.28 seconds. Deleted tables documentation for each object has a metadata file has a valid metadata file has a valid feature category has a valid metadata file with allowed fields has a valid metadata file without missing fields # [RSpecRunTime] Finishing example group spec/db/docs_spec.rb. It took 0.72 second. Expected to take 8.28 seconds. # [RSpecRunTime] Starting example group spec/db/docs_spec.rb. Expected to take 8.28 seconds. Deleted views documentation for each object has a metadata file has a valid metadata file has a valid feature category has a valid metadata file with allowed fields has a valid metadata file without missing fields # [RSpecRunTime] Finishing example group spec/db/docs_spec.rb. It took 0.62 second. Expected to take 8.28 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/internal_events_spec.rb. Expected to take 8.18 seconds. Gitlab::InternalEvents logs warning on missing property rescues error updates Redis, RedisHLL and Snowplow logs error on unknown event logs warning on nil property when arguments are invalid when user is not an instance of User behaves like an event that logs an error logs an error when project is not an instance of Project behaves like an event that logs an error logs an error when namespace is not an instance of Namespace behaves like an event that logs an error logs an error when namespace is passed uses id from namespace when category is passed is sent to Snowplow Product Analytics tracking when internal_events_for_product_analytics FF is enabled calls Product Analytics Ruby SDK when GITLAB_ANALYTICS_ID is nil behaves like does not send a Product Analytics event does not call the Product Analytics Ruby SDK when GITLAB_ANALYTICS_URL is nil behaves like does not send a Product Analytics event does not call the Product Analytics Ruby SDK when internal_events_for_product_analytics FF is disabled behaves like does not send a Product Analytics event does not call the Product Analytics Ruby SDK when only user is passed updated all tracking methods when unique key is not defined logs to Redis and Snowplow but not RedisHLL when namespace is not passed uses id from projects namespace when unique property is missing logs error on missing unique property when unique key is defined is used when logging to RedisHLL when property is missing logs error when there are multiple unique keys with the property_name tracking feature flag enabled all of them are used when logging to RedisHLL with the property_name tracking feature flag disabled with multiple property_names defined logs an error with single property_names defined logs to RedisHLL only once when event_name is user_visited_dashboard logs to RedisHLL only once with user_id when send_snowplow_event is false logs to Redis and RedisHLL but not Snowplow # [RSpecRunTime] Finishing example group spec/lib/gitlab/internal_events_spec.rb. It took 2.56 seconds. Expected to take 8.18 seconds. # [RSpecRunTime] Starting example group spec/components/pajamas/badge_component_spec.rb. Expected to take 8.0 seconds. Pajamas::BadgeComponent HTML options get added as HTML attributes can be combined with component options in no particular order with custom CSS classes combines custom classes and component classes content slot can be used instead of the text param takes presendence over the text param text param is shown inside the badge options icon adds the correct icon and margin icon_classes as string combines custom classes and component classes as array combines custom classes and component classes icon_only adds no extra margin to the icon adds the text as ARIA label href makes the a badge a link size size: :sm adds size class size: :md adds size class size: :lg adds size class with unknown size adds the default size class variant variant: :muted adds variant class variant: :neutral adds variant class variant: :info adds variant class variant: :success adds variant class variant: :warning adds variant class variant: :danger adds variant class with unknown variant adds the default variant class # [RSpecRunTime] Finishing example group spec/components/pajamas/badge_component_spec.rb. It took 2.16 seconds. Expected to take 8.0 seconds. # [RSpecRunTime] Starting example group spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb. Expected to take 7.9 seconds. BulkImports::Projects::Pipelines::IssuesPipeline #run imports issue into destination project zoom meetings restores zoom meetings # [RSpecRunTime] RSpec elapsed time: 14 minutes 45.19 seconds. Current RSS: ~1948M. load average: 1.17 1.15 1.25 1/292 12653 sentry issue restores sentry issue information award emoji has award emoji on an issue issue state restores issue state labels restores issue labels milestone restores issue milestone timelogs restores issue timelogs notes restores issue notes and their award emoji when importing an issue with one award emoji and other relations with one item saves properly # [RSpecRunTime] Finishing example group spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb. It took 5.07 seconds. Expected to take 7.9 seconds. # [RSpecRunTime] Starting example group spec/lib/sidebars/groups/menus/settings_menu_spec.rb. Expected to take 7.78 seconds. Sidebars::Groups::Menus::SettingsMenu #render? when user cannot admin group returns false #separated? returns true Menu items General menu behaves like access rights checks is expected not to be nil when the user does not have access is expected to be nil Integrations menu behaves like access rights checks is expected not to be nil when the user does not have access is expected to be nil Projects menu behaves like access rights checks is expected not to be nil when the user does not have access is expected to be nil Access Tokens behaves like access rights checks is expected not to be nil when the user does not have access is expected to be nil Repository menu behaves like access rights checks is expected not to be nil when the user does not have access is expected to be nil CI/CD menu behaves like access rights checks is expected not to be nil when the user does not have access is expected to be nil Applications menu behaves like access rights checks is expected not to be nil when the user does not have access is expected to be nil Packages and registries when packages feature is disabled is expected to be nil when packages feature is enabled behaves like access rights checks is expected not to be nil when the user does not have access is expected to be nil # [RSpecRunTime] Finishing example group spec/lib/sidebars/groups/menus/settings_menu_spec.rb. It took 2.76 seconds. Expected to take 7.78 seconds. # [RSpecRunTime] Starting example group spec/models/board_group_recent_visit_spec.rb. Expected to take 7.56 seconds. BoardGroupRecentVisit does not allow STI relationships is expected to belong to user required: false is expected to belong to group required: false is expected to belong to board required: false validations is expected to validate that :user cannot be empty/falsy is expected to validate that :group cannot be empty/falsy is expected to validate that :board cannot be empty/falsy behaves like boards recent visit #visited creates a visit if one does not exists behaves like was visited previously updates the timestamp when we try to create a visit that is not unique behaves like was visited previously updates the timestamp #latest returns the most recent visited returns last 3 visited boards # [RSpecRunTime] RSpec elapsed time: 14 minutes 56.51 seconds. Current RSS: ~1862M. load average: 1.15 1.14 1.25 1/292 12668 # [RSpecRunTime] Finishing example group spec/models/board_group_recent_visit_spec.rb. It took 5.12 seconds. Expected to take 7.56 seconds. # [RSpecRunTime] Starting example group spec/services/projects/group_links/update_service_spec.rb. Expected to take 7.48 seconds. Projects::GroupLinks::UpdateService#execute when the user does not have proper permissions to update a project group link returns 404 not found when user has proper permissions to update a project group link when the user is a MAINTAINER in the project updates existing link project authorizations update calls AuthorizedProjectUpdate::ProjectRecalculateWorker to update project authorizations calls AuthorizedProjectUpdate::UserRefreshFromReplicaWorker with a delay to update project authorizations updates project authorizations of users who had access to the project via the group share # [RSpecRunTime] RSpec elapsed time: 14 minutes 58.96 seconds. Current RSS: ~1860M. load average: 1.13 1.14 1.24 1/292 12669 with only param not requiring authorization refresh does not perform any project authorizations update using `AuthorizedProjectUpdate::ProjectRecalculateWorker` updating a link with OWNER access updating expires_at behaves like returns :forbidden is expected to not change result and not change result updating group_access behaves like returns :forbidden is expected to not change result and not change result updating both expires_at and group_access behaves like returns :forbidden is expected to not change result and not change result when the user is an OWNER in the project updating expires_at updates existing link updating group_access updates existing link updating both expires_at and group_access updates existing link # [RSpecRunTime] Finishing example group spec/services/projects/group_links/update_service_spec.rb. It took 4.75 seconds. Expected to take 7.48 seconds. # [RSpecRunTime] Starting example group spec/services/markup/rendering_service_spec.rb. Expected to take 7.26 seconds. Markup::RenderingService #execute when text is missing returns an empty string when file_name is missing returns html (rendered by Banzai) when postprocess_context is missing returns html (rendered by Banzai) when rendered context is present returns an empty string when file is a markdown file returns html (rendered by Banzai) when file is asciidoc file returns html (rendered by Gitlab::Asciidoc) when file is a regular text file returns html (rendered by ActionView::TagHelper) when file has an unknown type returns html (rendered by Gitlab::OtherMarkup) with reStructuredText returns rendered html when input has an invalid syntax uses a simple formatter for html # [RSpecRunTime] RSpec elapsed time: 15 minutes 4.87 seconds. Current RSS: ~1860M. load average: 1.12 1.14 1.24 1/295 12683 # [RSpecRunTime] Finishing example group spec/services/markup/rendering_service_spec.rb. It took 3.61 seconds. Expected to take 7.26 seconds. # [RSpecRunTime] Starting example group spec/lib/banzai/filter/asset_proxy_filter_spec.rb. Expected to take 7.21 seconds. Banzai::Filter::AssetProxyFilter does not replace if disabled during initialization #initialize_settings supports deprecated whitelist settings when allowlist is empty defaults to the install domain when properly configured data_canonical_src: "http://example.com/test.png", src: "https://assets.example.com/08df250eeeef1a8cf2c761475ac74c5065105612/687474703a2f2f6578616d706c652e636f6d2f746573742e706e67" correctly modifies the img tag data_canonical_src: "///example.com/test.png", src: "https://assets.example.com/3368d2c7b9bed775bdd1e811f36a4b80a0dcd8ab/2f2f2f6578616d706c652e636f6d2f746573742e706e67" correctly modifies the img tag data_canonical_src: "//example.com/test.png", src: "https://assets.example.com/a2e9aa56319e31bbd05be72e633f2864ff08becb/2f2f6578616d706c652e636f6d2f746573742e706e67" correctly modifies the img tag data_canonical_src: "oigjsie8787%$**(#(%0", src: "https://assets.example.com/1b893f9a71d66c99437f27e19b9a061a6f5d9391/6f69676a7369653837383725242a2a2823282530" correctly modifies the img tag data_canonical_src: "https://example.com/x?¬", src: "https://assets.example.com/2f29a8c7f13f3ae14dc18c154dbbd657d703e75f/68747470733a2f2f6578616d706c652e636f6d2f783fc2ac" correctly modifies the img tag data_canonical_src: "http:example.com", src: "https://assets.example.com/bcefecd18484ec2850887d6730273e5e70f5ed1a/687474703a6578616d706c652e636f6d" correctly modifies the img tag data_canonical_src: "https:example.com", src: "https://assets.example.com/648e074361143780357db0b5cf73d4438d5484d3/68747470733a6578616d706c652e636f6d" correctly modifies the img tag data_canonical_src: "https://example.com/##", src: "https://assets.example.com/d7d0c845cc553d9430804c07e9456545ef3e6fe6/68747470733a2f2f6578616d706c652e636f6d2f2323" correctly modifies the img tag data_canonical_src: nil, src: "test.png" correctly modifies the img tag data_canonical_src: nil, src: "/test.png" correctly modifies the img tag data_canonical_src: nil, src: "http://localhost/test.png" correctly modifies the img tag data_canonical_src: nil, src: "http://gitlab.com/test.png" correctly modifies the img tag data_canonical_src: nil, src: "http://gitlab.com/test.png?url=http://example.com/test.png" correctly modifies the img tag data_canonical_src: nil, src: "http://images.mydomain.com/test.png" correctly modifies the img tag # [RSpecRunTime] Finishing example group spec/lib/banzai/filter/asset_proxy_filter_spec.rb. It took 1.59 seconds. Expected to take 7.21 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/database/partitioning/monthly_strategy_spec.rb. Expected to take 7.04 seconds. Gitlab::Database::Partitioning::MonthlyStrategy #current_partitions detects both partitions #missing_partitions with existing partitions detects the gap and the missing partition in May 2020 detects the missing partitions at the end of the range and expects a partition for July 2020 detects the missing partitions at the end of the range and expects a partition for August 2020 creates partitions 6 months out from now (Sep 2020 through Feb 2021) detects all missing partitions when pruning partitions before June 2020 does not include the missing partition from May 2020 because it would be dropped detects the missing partition for 1 month ago (July 2020) without existing partitions detects the missing catch-all partition at the beginning detects the missing partition for today and expects a partition for August 2020 creates partitions 6 months out from now (Sep 2020 through Feb 2021 detects all missing partitions when pruning partitions before June 2020 detects exactly the set of partitions from June 2020 to March 2021 with a regular partition but no catchall (MINVALUE, to) partition detects a missing catch-all partition to add before the existing partition #extra_partitions with existing partitions without a time retention policy has no extra partitions to prune with a time retention policy that excludes no partitions has no extra partitions to prune with a time retention policy of 3 months prunes the unbounded partition ending 2020-05-01 with a time retention policy of 2 months prunes the unbounded partition and the partition for May-June when the retain_non_empty_partitions is true prunes empty partitions does not prune non-empty partitions attributes is expected to have attributes {:analyze_interval => 1 week, :model => #<ClassDouble(ApplicationRecord) (anonymous)>, :partitioning_key => :partition, :retain_for => 12 months, :retain_non_empty_partitions => true} # [RSpecRunTime] Finishing example group spec/lib/gitlab/database/partitioning/monthly_strategy_spec.rb. It took 2.32 seconds. Expected to take 7.04 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/gl_repository/identifier_spec.rb. Expected to take 6.92 seconds. Gitlab::GlRepository::Identifier project repository https://gitlab.com/gitlab-org/gitlab/-/issues/219192 (PENDING: No reason given) behaves like parsing gl_repository identifier returns correct information behaves like parsing gl_repository identifier returns correct information wiki behaves like parsing gl_repository identifier returns correct information behaves like parsing gl_repository identifier returns correct information snippet when PersonalSnippet behaves like parsing gl_repository identifier returns correct information when ProjectSnippet behaves like parsing gl_repository identifier returns correct information design behaves like parsing gl_repository identifier returns correct information when the format is incorrect identifier: "wiki-noid" raises InvalidIdentifier identifier: "foo-2" raises InvalidIdentifier identifier: "project-0" raises InvalidIdentifier identifier: "2-project" raises InvalidIdentifier identifier: "snippet-2-wiki" raises InvalidIdentifier identifier: "project-wibble-wiki" raises InvalidIdentifier identifier: "wiki-1-project" raises InvalidIdentifier identifier: "snippet" raises InvalidIdentifier identifier: "project-1-wiki-bar" raises InvalidIdentifier identifier: "project-1-project" raises InvalidIdentifier # [RSpecRunTime] Finishing example group spec/lib/gitlab/gl_repository/identifier_spec.rb. It took 1.79 seconds. Expected to take 6.92 seconds. # [RSpecRunTime] Starting example group spec/db/production/settings_spec.rb. Expected to take 6.79 seconds. seed production settings GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN is set in the environment Saved Runner Registration Token Saved CI JWT signing key writes the token to the database GITLAB_PROMETHEUS_METRICS_ENABLED is set in the environment GITLAB_PROMETHEUS_METRICS_ENABLED is true Saved Prometheus metrics enabled flag Saved CI JWT signing key prometheus_metrics_enabled is set to true GITLAB_PROMETHEUS_METRICS_ENABLED is false Saved Prometheus metrics enabled flag Saved CI JWT signing key prometheus_metrics_enabled is set to false GITLAB_PROMETHEUS_METRICS_ENABLED is default Saved CI JWT signing key prometheus_metrics_enabled is set to true CI JWT signing key Saved CI JWT signing key writes valid RSA key to the database # [RSpecRunTime] Finishing example group spec/db/production/settings_spec.rb. It took 4.1 seconds. Expected to take 6.79 seconds. # [RSpecRunTime] Starting example group spec/services/milestones/find_or_create_service_spec.rb. Expected to take 6.71 seconds. Milestones::FindOrCreateService #execute when finding milestone on project level returns existing milestone when finding milestone on group level returns existing milestone when not finding milestone when user has permissions when params are valid creates a new milestone at project level using params when params are not valid returns nil when user does not have permissions does not create a new milestone returns nil # [RSpecRunTime] RSpec elapsed time: 15 minutes 18.75 seconds. Current RSS: ~1912M. load average: 1.18 1.15 1.25 1/292 12684 # [RSpecRunTime] Finishing example group spec/services/milestones/find_or_create_service_spec.rb. It took 4.08 seconds. Expected to take 6.71 seconds. # [RSpecRunTime] Starting example group spec/lib/api/entities/project_import_status_spec.rb. Expected to take 6.6 seconds. API::Entities::ProjectImportStatus #as_json when no import state exists includes basic fields and no failures when import has not finished yet includes basic fields and no failures when import has finished with failed relations includes basic fields with failed relations # [RSpecRunTime] RSpec elapsed time: 15 minutes 20.67 seconds. Current RSS: ~1893M. load average: 1.16 1.15 1.24 1/292 12685 when import has failed when user has access to read import status includes basic fields with import error when user does not have access to read import status includes basic fields with import error when importing from github exposes the import stats # [RSpecRunTime] Finishing example group spec/lib/api/entities/project_import_status_spec.rb. It took 4.02 seconds. Expected to take 6.6 seconds. # [RSpecRunTime] Starting example group spec/finders/releases/evidence_pipeline_finder_spec.rb. Expected to take 6.42 seconds. Releases::EvidencePipelineFinder#execute when the tag is passed returns the evidence pipeline when the ref is passed returns the evidence pipeline empty params returns nil params[:evidence_pipeline] is present returns the passed evidence pipeline # [RSpecRunTime] Finishing example group spec/finders/releases/evidence_pipeline_finder_spec.rb. It took 3.07 seconds. Expected to take 6.42 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/entry/port_spec.rb. Expected to take 6.35 seconds. Gitlab::Ci::Config::Entry::Port when configuration is a string #valid? is valid #value returns valid hash #number returns port number #protocol is nil #name is nil when configuration is a hash with the complete hash #valid? is valid #value returns valid hash #number returns port number #protocol returns port protocol #name returns port name with only the port number #valid? is valid #value returns valid hash #number returns port number #protocol is nil #name is nil without the number #valid? is not valid when configuration is invalid #valid? is valid when protocol is http #valid? is valid is https #valid? is valid is neither http nor https #valid? is invalid # [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/entry/port_spec.rb. It took 1.66 seconds. Expected to take 6.35 seconds. # [RSpecRunTime] Starting example group spec/tooling/lib/tooling/mappings/partial_to_views_mappings_spec.rb. Expected to take 6.28 seconds. Tooling::Mappings::PartialToViewsMappings #view_includes_modified_partial? when the included partial name is relative to the view file when the partial is not part of the changed files returns false when the partial is part of the changed files returns true when the included partial name is relative to the base views folder when the partial is not part of the changed files returns false when the partial is part of the changed files returns true #reconstruct_partial_filename when the partial does not contain a path returns the correct filename when the partial contains a path returns the correct filename #filter_files when the file does not exist on disk returns an empty array when the file exists on disk when the file is not in the view base folders returns an empty array when the filename does not start with an underscore returns an empty array when the filename does not have the correct extension returns an empty array when the file is a partial returns the file #extract_partial_keyword returns the correct partial keyword #execute does not modify the content of the input file when no partials were modified does not change the output file when some partials were modified when the partials are not included in any views does not change the output file when the partials are included in views writes the view including the partial to the output #find_pattern_in_file when the file contains the pattern returns the pattern once when the file does not contain the pattern returns an empty array # [RSpecRunTime] Finishing example group spec/tooling/lib/tooling/mappings/partial_to_views_mappings_spec.rb. It took 1.52 seconds. Expected to take 6.28 seconds. # [RSpecRunTime] Starting example group spec/rubocop/cop/rspec/factory_bot/inline_association_spec.rb. Expected to take 6.12 seconds. RuboCop::Cop::RSpec::FactoryBot::InlineAssociation no offenses for `association(:user)` does not register any offenses for `association(:user, :admin)` does not register any offenses for `association(:user, name: "any")` does not register any offenses for `after(:build) do |object|` does not register any offenses for `initialize_with do` does not register any offenses for `user_id { create(:user).id }` does not register any offenses offenses recognizes `add_attribute` recognizes `transient` attributes code_snippet: "create(:user)", autocorrected: "association(:user)" registers an offense and corrects code_snippet: "FactoryBot.create(:user)", autocorrected: "association(:user)" registers an offense and corrects code_snippet: "::FactoryBot.create(:user)", autocorrected: "association(:user)" registers an offense and corrects code_snippet: "create(:user, :admin)", autocorrected: "association(:user, :admin)" registers an offense and corrects code_snippet: "create(:user, name: \"any\")", autocorrected: "association(:user, name: \"any\")" registers an offense and corrects code_snippet: "build(:user)", autocorrected: "association(:user)" registers an offense and corrects code_snippet: "FactoryBot.build(:user)", autocorrected: "association(:user)" registers an offense and corrects code_snippet: "::FactoryBot.build(:user)", autocorrected: "association(:user)" registers an offense and corrects code_snippet: "build(:user, :admin)", autocorrected: "association(:user, :admin)" registers an offense and corrects code_snippet: "build(:user, name: \"any\")", autocorrected: "association(:user, name: \"any\")" registers an offense and corrects # [RSpecRunTime] Finishing example group spec/rubocop/cop/rspec/factory_bot/inline_association_spec.rb. It took 1.53 seconds. Expected to take 6.12 seconds. # [RSpecRunTime] Starting example group spec/sidekiq_cluster/sidekiq_cluster_spec.rb. Expected to take 5.99 seconds. Gitlab::SidekiqCluster .start starts Sidekiq with the given queues, environment and options starts Sidekiq with the given queues and sensible default options .start_sidekiq starts a Sidekiq process handles duplicate queue names runs the sidekiq process in a new process group .count_by_queue tallies the queue counts .concurrency queue_count: 2, min: 0, max: 0, fixed_concurrency: 0, expected: 3 is expected to eq 3 queue_count: 2, min: 0, max: 9, fixed_concurrency: 0, expected: 3 is expected to eq 3 queue_count: 2, min: 1, max: 4, fixed_concurrency: 0, expected: 3 is expected to eq 3 queue_count: 2, min: 4, max: 5, fixed_concurrency: 0, expected: 4 is expected to eq 4 queue_count: 5, min: 2, max: 3, fixed_concurrency: 0, expected: 3 is expected to eq 3 queue_count: 2, min: 1, max: 1, fixed_concurrency: 0, expected: 1 is expected to eq 1 queue_count: 0, min: 3, max: 3, fixed_concurrency: 0, expected: 3 is expected to eq 3 queue_count: 1, min: 4, max: 3, fixed_concurrency: 0, expected: 3 is expected to eq 3 queue_count: 1, min: 0, max: 20, fixed_concurrency: 20, expected: 20 is expected to eq 20 queue_count: 1, min: 0, max: 20, fixed_concurrency: 10, expected: 10 is expected to eq 10 queue_count: 1, min: 20, max: 20, fixed_concurrency: 10, expected: 10 is expected to eq 10 queue_count: 5, min: 0, max: 0, fixed_concurrency: 10, expected: 10 is expected to eq 10 # [RSpecRunTime] Finishing example group spec/sidekiq_cluster/sidekiq_cluster_spec.rb. It took 1.37 seconds. Expected to take 5.99 seconds. # [RSpecRunTime] Starting example group spec/models/packages/npm/metadatum_spec.rb. Expected to take 5.97 seconds. Packages::Npm::Metadatum does not allow STI relationships is expected to belong to package required: false inverse_of => npm_metadatum validations package is expected to validate that :package cannot be empty/falsy ensure npm package type package_json is expected to allow :package_json to be ‹{"name" => "foo", "version" => "v1.0", "dist" => {"tarball"=>"x", "shasum"=>"x"}}› is expected to allow :package_json to be ‹{"name" => "foo", "version" => "v1.0", "dist" => {"tarball"=>"x", "shasum"=>"x"}, extra-field: {:foo=>"bar"}}› is expected to allow :package_json to be ‹{"name" => "foo", "version" => "v1.0", "dist" => {"tarball"=>"x", "shasum"=>"x", :"extra-field"=>"x"}}› is expected not to allow :package_json to be ‹{"version" => "v1.0", "dist" => {"tarball"=>"x", "shasum"=>"x"}}› is expected not to allow :package_json to be ‹{"name" => "foo", "dist" => {"tarball"=>"x", "shasum"=>"x"}}› is expected not to allow :package_json to be ‹{"name" => "foo", "version" => "v1.0"}› is expected not to allow :package_json to be ‹{"name" => "foo", "version" => "v1.0", "dist" => {"shasum"=>"x"}}› is expected not to allow :package_json to be ‹{"name" => "foo", "version" => "v1.0", "dist" => {"tarball"=>"x"}}› is expected not to allow :package_json to be ‹{}› is expected not to allow :package_json to be ‹{test: "testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest"}›, producing a custom validation error on failure scopes .package_id_in returns metadatums with the given package ids # [RSpecRunTime] Finishing example group spec/models/packages/npm/metadatum_spec.rb. It took 1.76 seconds. Expected to take 5.97 seconds. # [RSpecRunTime] Starting example group spec/graphql/mutations/alert_management/update_alert_status_spec.rb. Expected to take 5.82 seconds. Mutations::AlertManagement::UpdateAlertStatus is expected to require graphql authorizations :update_alert_management_alert #resolve raises an error if the resource is not accessible to the user user has access to project changes the status returns the alert with no errors behaves like an incident management tracked event .track_event tracks the event using redis # [RSpecRunTime] RSpec elapsed time: 15 minutes 35.24 seconds. Current RSS: ~1900M. load average: 1.06 1.12 1.23 1/295 12745 behaves like Snowplow event tracking with RedisHLL context behaves like Snowplow event tracking is emitted error occurs when updating returns the alert with errors invalid status given returns the alert with errors # [RSpecRunTime] Finishing example group spec/graphql/mutations/alert_management/update_alert_status_spec.rb. It took 2.34 seconds. Expected to take 5.82 seconds. # [RSpecRunTime] Starting example group spec/workers/projects/inactive_projects_deletion_cron_worker_spec.rb. Expected to take 5.81 seconds. Projects::InactiveProjectsDeletionCronWorker #perform when delete inactive projects feature is disabled does not invoke Projects::InactiveProjectsDeletionNotificationWorker does not delete the inactive projects # [RSpecRunTime] RSpec elapsed time: 15 minutes 37.73 seconds. Current RSS: ~1891M. load average: 1.06 1.12 1.23 1/292 12746 when delete inactive projects feature is enabled invokes Projects::InactiveProjectsDeletionNotificationWorker for inactive projects does not invoke InactiveProjectsDeletionNotificationWorker for already notified inactive projects invokes Projects::DestroyService for projects that are inactive even after being notified behaves like worker is running for more than 4 minutes stores the last processed inactive project_id in redis cache behaves like worker finishes processing in less than 4 minutes clears the last processed inactive project_id from redis cache behaves like an idempotent worker is labeled as idempotent performs multiple times sequentially without raising an exception # [RSpecRunTime] Finishing example group spec/workers/projects/inactive_projects_deletion_cron_worker_spec.rb. It took 2.74 seconds. Expected to take 5.81 seconds. # [RSpecRunTime] Starting example group spec/services/work_items/callbacks/description_spec.rb. Expected to take 5.67 seconds. WorkItems::Callbacks::Description #after_initialize when user has permission to update description when user is work item author behaves like sets work item description correctly sets work item description value when user is a project reporter behaves like sets work item description correctly sets work item description value when description is nil behaves like sets work item description correctly sets work item description value when description is empty behaves like sets work item description correctly sets work item description value when description param is not present behaves like does not set work item description does not change work item description value when widget does not exist in new type resets the work item's description when user does not have permission to update description when user is a project guest behaves like does not set work item description does not change work item description value with private project when user is work item author behaves like does not set work item description does not change work item description value # [RSpecRunTime] Finishing example group spec/services/work_items/callbacks/description_spec.rb. It took 2.71 seconds. Expected to take 5.67 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/ci/pipeline/expression/lexeme/not_matches_spec.rb. Expected to take 5.59 seconds. Gitlab::Ci::Pipeline::Expression::Lexeme::NotMatches .build with non-evaluable operands creates a new instance of the token with evaluable operands creates a new instance of the token .type is an operator .precedence has a precedence #evaluate when left and right do not match is expected to eq true when left and right match is expected to eq false when left is nil is expected to eq true when right is nil is expected to eq true when left and right are nil is expected to eq true when left is an empty string is expected to eq true when left and right are empty strings is expected to eq false when left is a multiline string and matches right is expected to eq false when left is a multiline string and does not match right is expected to eq true when a matching pattern uses regex flags is expected to eq false when a non-matching pattern uses regex flags is expected to eq true when right value is a regexp string when matching is expected to eq false when not matching is expected to eq true # [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/pipeline/expression/lexeme/not_matches_spec.rb. It took 1.33 seconds. Expected to take 5.59 seconds. # [RSpecRunTime] Starting example group spec/models/concerns/bulk_insertable_associations_spec.rb. Expected to take 5.54 seconds. BulkInsertableAssociations -- create_table(:_test_bulk_parents, {:force=>true}) -> 0.0040s -- create_table(:_test_bulk_foos, {:force=>true}) -> 0.0036s -- create_table(:_test_bulk_bars, {:force=>true}) -> 0.0035s -- create_table(:_test_simple_bars, {:force=>true}) -> 0.0033s does not allow STI saving bulk insertable associations can disable bulk-inserts within a bulk-insert block when items already have IDs stores nothing and raises an error when items have no IDs set stores them all and updates items with IDs when items are empty does nothing when relation name does not match class name stores them all with multiple threads isolates bulk insert behavior between threads with multiple associations isolates writes between associations passing bulk insert arguments disables validations on target association when association is not bulk-insert safe saves it normally when association is not has_many saves it normally when an item is not valid .save invalidates the parent and returns false .save! invalidates the parent and raises error -- drop_table(:_test_bulk_foos, {:force=>true}) -> 0.0430s -- drop_table(:_test_bulk_bars, {:force=>true}) -> 0.0015s -- drop_table(:_test_simple_bars, {:force=>true}) -> 0.0014s -- drop_table(:_test_bulk_parents, {:force=>true}) -> 0.0012s # [RSpecRunTime] Finishing example group spec/models/concerns/bulk_insertable_associations_spec.rb. It took 1.4 seconds. Expected to take 5.54 seconds. # [RSpecRunTime] Starting example group spec/models/ci/artifact_blob_spec.rb. Expected to take 5.44 seconds. Ci::ArtifactBlob does not allow STI #id returns a hash of the path #name returns the entry name #path returns the entry path #size returns the entry size #mode returns the entry mode #external_storage returns :build_artifact #external_url with not allowed extension is expected to be nil with allowed extension is expected to eq "http://namespace570.example.com/-/project1/-/jobs/54/artifacts/other_artifacts_0.1.2/doc_sample.txt" when port is configured is expected to eq "http://namespace570.example.com:1234/-/project1/-/jobs/54/artifacts/other_artifacts_0.1.2/doc_sample.txt" #external_link? with not allowed extensions returns false with allowed extensions returns true # [RSpecRunTime] Finishing example group spec/models/ci/artifact_blob_spec.rb. It took 1.79 seconds. Expected to take 5.44 seconds. # [RSpecRunTime] Starting example group spec/views/projects/diffs/_viewer.html.haml_spec.rb. Expected to take 5.3 seconds. projects/diffs/_viewer.html.haml when there is a render error renders the error when the viewer is collapsed renders the collapsed view when there is no render error prepares the viewer renders the viewer # [RSpecRunTime] RSpec elapsed time: 15 minutes 49.11 seconds. Current RSS: ~1904M. load average: 1.11 1.13 1.24 1/297 12805 # [RSpecRunTime] Finishing example group spec/views/projects/diffs/_viewer.html.haml_spec.rb. It took 3.1 seconds. Expected to take 5.3 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/database/load_balancing/rack_middleware_spec.rb. Expected to take 5.27 seconds. Gitlab::Database::LoadBalancing::RackMiddleware #call handles a request #find_caught_up_replica does not stick if no namespace and identifier could be found sticks to the primary if a warden user is found sticks to the primary if a sticking namespace and identifier is found sticks to the primary if multiple sticking namespaces and identifiers were found #stick_if_necessary sticks to the primary for the user when no write was performed does not stick to the primary when there is no user in the env when there is an explicit single sticking object in the env sticks to the single sticking object when there is multiple explicit sticking objects sticks to the sticking objects when there no explicit sticking objects does not stick to the primary #clear clears the currently used host and session #sticking_namespaces using a Warden request returns the warden user if present returns an empty Array if no user was present using a request with a manually set sticking object returns the sticking object using a regular request returns an empty Array # [RSpecRunTime] Finishing example group spec/lib/gitlab/database/load_balancing/rack_middleware_spec.rb. It took 1.14 seconds. Expected to take 5.27 seconds. # [RSpecRunTime] Starting example group spec/tasks/gitlab/feature_categories_rake_spec.rb. Expected to take 5.14 seconds. gitlab:feature_categories:index outputs objects by stage group # [RSpecRunTime] Finishing example group spec/tasks/gitlab/feature_categories_rake_spec.rb. It took 4.2 seconds. Expected to take 5.14 seconds. # [RSpecRunTime] RSpec elapsed time: 15 minutes 54.6 seconds. Current RSS: ~1890M. load average: 1.10 1.13 1.23 1/297 12806 # [RSpecRunTime] Starting example group spec/policies/clusters/agents/activity_event_policy_spec.rb. Expected to take 5.13 seconds. Clusters::Agents::ActivityEventPolicy rules reporter is expected to be disallowed :admin_cluster is expected to be disallowed :read_cluster # [RSpecRunTime] RSpec elapsed time: 15 minutes 56.14 seconds. Current RSS: ~1865M. load average: 1.10 1.13 1.23 1/297 12807 developer is expected to be disallowed :admin_cluster is expected to be allowed :read_cluster maintainer is expected to be allowed :admin_cluster is expected to be allowed :read_cluster # [RSpecRunTime] Finishing example group spec/policies/clusters/agents/activity_event_policy_spec.rb. It took 2.57 seconds. Expected to take 5.13 seconds. # [RSpecRunTime] Starting example group spec/lib/bitbucket_server/connection_spec.rb. Expected to take 5.0 seconds. BitbucketServer::Connection #get runs with retry_with_delay returns JSON body throws an exception if the response is not 200 throws an exception if the response is not JSON throws an exception upon a network error when the response is a 429 rate limit reached error sleeps, retries and if the error persists it fails #post runs with retry_with_delay returns JSON body throws an exception if the response is not 200 throws an exception upon a network error throws an exception if the URI is invalid #delete branch API runs with retry_with_delay returns JSON body throws an exception if the response is not 200 throws an exception upon a network error # [RSpecRunTime] Finishing example group spec/lib/bitbucket_server/connection_spec.rb. It took 1.25 seconds. Expected to take 5.0 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/harbor/client_spec.rb. Expected to take 4.96 seconds. Gitlab::Harbor::Client #initialize if integration is nil raises ConfigError integration is provided is initialized successfully #get_repositories with valid params get repositories when harbor project does not exist raises Gitlab::Harbor::Client::Error with invalid response raises Gitlab::Harbor::Client::Error #get_artifacts with valid params get artifacts when harbor repository does not exist raises Gitlab::Harbor::Client::Error with invalid response raises Gitlab::Harbor::Client::Error #get_tags with valid params get tags when harbor artifact does not exist raises Gitlab::Harbor::Client::Error with invalid response raises Gitlab::Harbor::Client::Error #check_project_availability calls api/v2.0/projects successfully # [RSpecRunTime] Finishing example group spec/lib/gitlab/harbor/client_spec.rb. It took 1.37 seconds. Expected to take 4.96 seconds. # [RSpecRunTime] Starting example group spec/graphql/mutations/security/ci_configuration/configure_sast_iac_spec.rb. Expected to take 4.88 seconds. Mutations::Security::CiConfiguration::ConfigureSastIac is expected to require graphql authorizations :push_code #resolve generates an error if the resource is not accessible to the user when user does not have enough permissions generates an error # [RSpecRunTime] RSpec elapsed time: 16 minutes 0.86 second. Current RSS: ~1893M. load average: 1.10 1.13 1.23 1/292 12814 when user is a maintainer of a different project generates an error when the user does not have permission to create a new branch returns an array of errors when the user can create a merge request when service successfully generates a path to create a new merge request returns a success path when service can not generate any path to create a new merge request returns an array of errors # [RSpecRunTime] Finishing example group spec/graphql/mutations/security/ci_configuration/configure_sast_iac_spec.rb. It took 2.55 seconds. Expected to take 4.88 seconds. # [RSpecRunTime] Starting example group spec/graphql/mutations/users/set_namespace_commit_email_spec.rb. Expected to take 4.75 seconds. Mutations::Users::SetNamespaceCommitEmail is expected to require graphql authorizations :read_namespace_via_membership #resolve when current_user does not have permission raises an error when the user has permission when the email does not belong to the target user returns the validation error when namespace is a group behaves like success creates namespace commit email with correct values when namespace is a user behaves like success creates namespace commit email with correct values when namespace is a project behaves like success creates namespace commit email with correct values # [RSpecRunTime] Finishing example group spec/graphql/mutations/users/set_namespace_commit_email_spec.rb. It took 2.79 seconds. Expected to take 4.75 seconds. # [RSpecRunTime] Starting example group spec/models/users_statistics_spec.rb. Expected to take 4.72 seconds. UsersStatistics does not allow STI scopes .order_created_at_desc returns the entries ordered by created at descending .latest returns the latest entry .create_current_stats! when successful creates an entry with the current statistics values # [RSpecRunTime] RSpec elapsed time: 16 minutes 6.71 seconds. Current RSS: ~1872M. load average: 1.17 1.14 1.24 1/294 12832 when unsuccessful raises an ActiveRecord::RecordInvalid exception # [RSpecRunTime] RSpec elapsed time: 16 minutes 7.9 seconds. Current RSS: ~1868M. load average: 1.17 1.14 1.24 1/294 12833 #active sums users statistics values without the value for blocked #total sums all users statistics values # [RSpecRunTime] Finishing example group spec/models/users_statistics_spec.rb. It took 3.02 seconds. Expected to take 4.72 seconds. # [RSpecRunTime] Starting example group spec/services/security/ci_configuration/sast_parser_service_spec.rb. Expected to take 4.63 seconds. Security::CiConfiguration::SastParserService #configuration parses the configuration for SAST while populating current values of the entities when .gitlab-ci.yml is present populates the current values from the file SAST_EXCLUDED_ANALYZERS is set enables analyzers correctly # [RSpecRunTime] RSpec elapsed time: 16 minutes 9.82 seconds. Current RSS: ~1864M. load average: 1.23 1.16 1.24 1/297 12908 when .gitlab-ci.yml is absent populates the current values with the default values when .gitlab-ci.yml does not include the sast job populates the current values with the default values # [RSpecRunTime] Finishing example group spec/services/security/ci_configuration/sast_parser_service_spec.rb. It took 2.26 seconds. Expected to take 4.63 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/database/reindexing/reindex_concurrently_spec.rb. Expected to take 4.6 seconds. Gitlab::Database::Reindexing::ReindexConcurrently#perform recreates the index using REINDEX with a long statement timeout when the index serves an exclusion constraint raises an error when attempting to reindex an expression index raises an error when the index is a dangling temporary index from a previous reindexing run with the temporary index prefix raises an error with the temporary index prefix with a counter raises an error with dangling indexes matching TEMPORARY_INDEX_PATTERN, i.e. /some\_index\_ccnew(\d)*/ with normal index names behaves like dropping the dangling index drops the dangling indexes while controlling lock_timeout with index name at 63 character limit behaves like dropping the dangling index drops the dangling indexes while controlling lock_timeout # [RSpecRunTime] Finishing example group spec/lib/gitlab/database/reindexing/reindex_concurrently_spec.rb. It took 1.25 seconds. Expected to take 4.6 seconds. # [RSpecRunTime] Starting example group spec/graphql/resolvers/clusters/agent_tokens_resolver_spec.rb. Expected to take 4.5 seconds. Resolvers::Clusters::AgentTokensResolver is expected to eq #<Class:0x00007a03a5023d98> is expected to be truthy is expected to be empty #resolve returns active tokens associated with the agent, ordered by last_used_at user does not have permission is expected to be empty # [RSpecRunTime] RSpec elapsed time: 16 minutes 14.82 seconds. Current RSS: ~1848M. load average: 1.22 1.15 1.24 1/297 12922 # [RSpecRunTime] Finishing example group spec/graphql/resolvers/clusters/agent_tokens_resolver_spec.rb. It took 3.27 seconds. Expected to take 4.5 seconds. # [RSpecRunTime] Starting example group spec/models/merge_request_reviewer_spec.rb. Expected to take 4.46 seconds. MergeRequestReviewer does not allow STI behaves like having unique enum values has unique values in "state" associations is expected to belong to merge_request class_name => MergeRequest required: false is expected to belong to reviewer class_name => User required: false inverse_of => merge_request_reviewers # [RSpecRunTime] RSpec elapsed time: 16 minutes 17.1 seconds. Current RSS: ~1871M. load average: 1.22 1.15 1.24 1/298 13002 # [RSpecRunTime] Finishing example group spec/models/merge_request_reviewer_spec.rb. It took 2.27 seconds. Expected to take 4.46 seconds. # [RSpecRunTime] Starting example group spec/lib/banzai/pipeline/incident_management/timeline_event_pipeline_spec.rb. Expected to take 4.34 seconds. Banzai::Pipeline::IncidentManagement::TimelineEventPipeline .to_html when markdown contains font style transformations is expected to eq "<p><strong>bold</strong> <em>italic</em> <code>code</code></p>" when markdown contains banned HTML tags filters out banned tags when markdown contains links is expected to eq "<p><a href=\"https://gitlab.com\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">GitLab</a></p>" when markdown contains images replaces image with a link to the image when markdown contains emojis renders emojis wrapped in <gl-emoji> tag when markdown contains labels replaces existing label to a link when markdown contains table is expected to eq "table headtable content" when markdown contains a reference to an issue contains a link to the issue when markdown contains a reference to a merge request contains a link to the merge request .filters contains required filters # [RSpecRunTime] Finishing example group spec/lib/banzai/pipeline/incident_management/timeline_event_pipeline_spec.rb. It took 1.56 seconds. Expected to take 4.34 seconds. # [RSpecRunTime] Starting example group spec/workers/integrations/group_mention_worker_spec.rb. Expected to take 4.32 seconds. Integrations::GroupMentionWorker #perform executes the service behaves like an idempotent worker is labeled as idempotent performs multiple times sequentially without raising an exception # [RSpecRunTime] RSpec elapsed time: 16 minutes 20.02 seconds. Current RSS: ~1881M. load average: 1.20 1.15 1.24 1/297 13003 when mentionable_type is not supported does not execute the service logs an error when mentionable cannot be found does not execute the service # [RSpecRunTime] Finishing example group spec/workers/integrations/group_mention_worker_spec.rb. It took 2.01 seconds. Expected to take 4.32 seconds. # [RSpecRunTime] Starting example group spec/lib/json_web_token/rsa_token_spec.rb. Expected to take 4.25 seconds. JSONWebToken::RSAToken token for valid key to be validated is expected not to raise Exception is expected to include {"key" => "value"} is expected to eq {"alg"=>"RS256", "kid"=>"OGXY:4TR7:FAVO:WEM2:XXEW:E4FP:TKL7:7ACK:TZAF:D54P:SUIA:P3B2", "typ"=>"JWT"} for invalid key to raise an exception is expected to raise JWT::DecodeError .decode with an invalid token that is junk raises exception saying 'Not enough or too many segments' that has been fiddled with raises exception saying 'Invalid segment encoding' that was generated using a different key raises exception saying 'Signature verification failed that is expired raises exception saying 'Signature has expired' # [RSpecRunTime] Finishing example group spec/lib/json_web_token/rsa_token_spec.rb. It took 1.54 seconds. Expected to take 4.25 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/github_import/importer/attachments/issues_importer_spec.rb. Expected to take 4.22 seconds. Gitlab::GithubImport::Importer::Attachments::IssuesImporter #id_for_already_imported_cache is expected to eq 1091 #sequential_import selects both issues, and selects only properties it needs executes importer only for the issue with an attachment when issue has already been processed does not select issues that were processed does not execute importer for the issue with an attachment #object_type is expected to eq :issue_attachment #collection_method is expected to eq :issue_attachments #sidekiq_worker_class is expected to eq Gitlab::GithubImport::Attachments::ImportIssueWorker # [RSpecRunTime] Finishing example group spec/lib/gitlab/github_import/importer/attachments/issues_importer_spec.rb. It took 1.19 seconds. Expected to take 4.22 seconds. # [RSpecRunTime] Starting example group spec/rubocop/cop/graphql/id_type_spec.rb. Expected to take 4.15 seconds. RuboCop::Cop::Graphql::IDType adds an offense when GraphQL::Types::ID is used as a param to #argument does not add an offense for calls to #argument without GraphQL::Types::ID allowlisted arguments does not add an offense for calls to #argument with iid as argument name does not add an offense for calls to #argument with full_path as argument name does not add an offense for calls to #argument with project_path as argument name does not add an offense for calls to #argument with group_path as argument name does not add an offense for calls to #argument with target_project_path as argument name does not add an offense for calls to #argument with target_group_path as argument name does not add an offense for calls to #argument with target_path as argument name does not add an offense for calls to #argument with namespace_path as argument name does not add an offense for calls to #argument with context_namespace_path as argument name # [RSpecRunTime] Finishing example group spec/rubocop/cop/graphql/id_type_spec.rb. It took 0.95 second. Expected to take 4.15 seconds. # [RSpecRunTime] Starting example group spec/models/packages/rpm/repository_file_spec.rb. Expected to take 4.1 seconds. Packages::Rpm::RepositoryFile does not allow STI when updating project statistics when the package file has an explicit size behaves like UpdateProjectStatistics is expected to be a new record when the package file does not have a size behaves like UpdateProjectStatistics is expected to be a new record validations is expected to validate that :project cannot be empty/falsy with status scopes .with_status is expected to contain exactly #<Packages::Rpm::RepositoryFile id: 2, created_at: "2024-02-20 23:35:58.488071511 +0000", updated_at:...d0b3306c4fd0696dcad506f5273...", file_name: "364c77dd49e8f814d56e621d0b3306c4fd0696dcad506f5273..."> relationships is expected to belong to project required: false behaves like having unique enum values has unique values in "status" .has_oversized_filelists? when has oversized filelists is expected to equal true when filelists.xml is not oversized is expected to be falsey when there is no filelists.xml is expected to be falsey # [RSpecRunTime] Finishing example group spec/models/packages/rpm/repository_file_spec.rb. It took 1.7 seconds. Expected to take 4.1 seconds. # [RSpecRunTime] Starting example group spec/graphql/mutations/todos/restore_spec.rb. Expected to take 4.04 seconds. Mutations::Todos::Restore is expected to require graphql authorizations :update_todo #resolve restores a single todo handles a todo which is already pending as expected ignores requests for todos which do not belong to the current user # [RSpecRunTime] RSpec elapsed time: 16 minutes 28.34 seconds. Current RSS: ~1887M. load average: 1.18 1.15 1.24 1/292 13004 # [RSpecRunTime] Finishing example group spec/graphql/mutations/todos/restore_spec.rb. It took 2.31 seconds. Expected to take 4.04 seconds. # [RSpecRunTime] Starting example group spec/services/packages/debian/create_package_file_service_spec.rb. Expected to take 3.98 seconds. Packages::Debian::CreatePackageFileService #execute with temp file behaves like a valid deb creates a new package file with a .changes file behaves like a valid changes creates a new package file with distribution behaves like a valid deb creates a new package file when current_user is missing raises an error with remote file behaves like a valid deb creates a new package file when package is missing raises an error when params is empty raises an error when file is missing raises an error # [RSpecRunTime] Finishing example group spec/services/packages/debian/create_package_file_service_spec.rb. It took 1.16 seconds. Expected to take 3.98 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/external_authorization/client_spec.rb. Expected to take 3.94 seconds. Gitlab::ExternalAuthorization::Client #request_access performs requests to the configured endpoint adds the correct params for the user to the body of the request respects the the timeout adds the mutual tls params when they are present returns an expected response wraps exceptions if the request fails passes local request setting to Gitlab::HTTP for ldap users includes the ldap dn and identities for ldap users for non-ldap users with identities includes all the identities # [RSpecRunTime] Finishing example group spec/lib/gitlab/external_authorization/client_spec.rb. It took 1.05 seconds. Expected to take 3.94 seconds. # [RSpecRunTime] Starting example group spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb. Expected to take 3.88 seconds. ExceedQueryLimitHelpers can count queries can select specific queries can filter specific models can ignore specific queries can perform inclusion and exclusion does not contain marginalia annotations #diff_query_group_message prints a group helpfully #diff_query_counts merges two query counts, showing only diffs can show common queries if so desired #count_queries handles queries with suffixes over multiple lines can aggregate queries # [RSpecRunTime] Finishing example group spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb. It took 1.12 seconds. Expected to take 3.88 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/entry/include/rules_spec.rb. Expected to take 3.84 seconds. Gitlab::Ci::Config::Entry::Include::Rules .new with an "if" behaves like a valid config is expected to be valid when composed is expected to be valid with a "changes" when composed behaves like a valid config is expected to be valid when composed is expected to be valid with a list of two rules behaves like a valid config is expected to be valid when composed is expected to be valid without an array behaves like an invalid config is expected not to be valid has errors #value is expected to eq [] when composed returns the composed entries value when invalid returns the invalid config # [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/entry/include/rules_spec.rb. It took 0.98 second. Expected to take 3.84 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/yaml/tags/reference_spec.rb. Expected to take 3.78 seconds. Gitlab::Ci::Config::Yaml::Tags::Reference .tag implements the tag method #resolve with circular references raises CircularReferenceError with nested circular references raises CircularReferenceError with missing references raises MissingReferenceError with invalid references yaml: "a: !reference", error_message: "!reference [] is not valid" raises an error yaml: "a: !reference str", error_message: "!reference \"str\" is not valid" raises an error yaml: "a: !reference 1", error_message: "!reference \"1\" is not valid" raises an error yaml: "a: !reference [1]", error_message: "!reference [1] is not valid" raises an error yaml: "a: !reference { b: c }", error_message: "!reference {\"b\"=>\"c\"} is not valid" raises an error when the references are valid but do not match the config raises a MissingReferenceError with arrays is expected to match (a hash including {:f => {:g => [[1, 2], 5, [3, 4]]}}) with hashes when referencing an entire hash is expected to match (a hash including {:e => {:f => {:c => "c", :d => "d"}}}) when referencing only a hash value is expected to match (a hash including {:i => {:g => "c", :h => "h"}}) when referencing a value before its definition is expected to match (a hash including {:a => {:b => {:e => 1, :f => "f"}}}) # [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/yaml/tags/reference_spec.rb. It took 1.09 seconds. Expected to take 3.78 seconds. # [RSpecRunTime] Starting example group spec/graphql/resolvers/container_repository_tags_resolver_spec.rb. Expected to take 3.75 seconds. Resolvers::ContainerRepositoryTagsResolver #resolve when Gitlab API is supported returns an ExternallyPaginatedArray get the page size based on first and last param sends the page size based on first if next page is asked sends the page size based on last if prev page is asked with parameters before: nil, after: nil, sort: "NAME_DESC", name: "", first: 10, last: nil, sort_value: "-name", referrers: nil calls ContainerRepository#tags_page with correct parameters before: "bb", after: nil, sort: "NAME_ASC", name: "a", first: nil, last: 5, sort_value: "name", referrers: false calls ContainerRepository#tags_page with correct parameters before: nil, after: "aa", sort: "NAME_DESC", name: "a", first: 10, last: nil, sort_value: "-name", referrers: true calls ContainerRepository#tags_page with correct parameters when Gitlab API is not supported behaves like fetching via tags and filter in place by name without sort is expected to contain exactly "aaa", "bab", "bbb", "ccc", and "123" with sorting and filtering name_asc is expected to eq ["123", "aaa", "bab", "bbb", "ccc"] name_desc is expected to eq ["ccc", "bbb", "bab", "aaa", "123"] filter by name is expected to eq ["bbb", "bab"] # [RSpecRunTime] Finishing example group spec/graphql/resolvers/container_repository_tags_resolver_spec.rb. It took 1.36 seconds. Expected to take 3.75 seconds. # [RSpecRunTime] Starting example group spec/graphql/resolvers/ci/group_runners_resolver_spec.rb. Expected to take 3.69 seconds. Resolvers::Ci::GroupRunnersResolver #resolve when user cannot see runners returns Gitlab::Graphql::Errors::ResourceNotAvailable # [RSpecRunTime] RSpec elapsed time: 16 minutes 36.39 seconds. Current RSS: ~1892M. load average: 1.15 1.14 1.23 1/291 13005 with user as group owner returns all the runners with membership direct returns only direct runners with obj set to nil raises an error with obj not set to group raises an error Allowed query arguments calls RunnersFinder with expected arguments # [RSpecRunTime] Finishing example group spec/graphql/resolvers/ci/group_runners_resolver_spec.rb. It took 2.11 seconds. Expected to take 3.69 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/jira_import/issues_importer_spec.rb. Expected to take 3.66 seconds. Gitlab::JiraImport::IssuesImporter #imported_items_cache_key is expected to eq "jira-importer/already-imported/594/issues" behaves like raise exception if not implemented is expected not to raise Exception #execute when no returned issues does not schedule any import jobs with results returned when single page of results is returned schedules 2 import jobs when importing some issue raises an exception schedules 2 import jobs when duplicate results are returned schedules 2 import jobs # [RSpecRunTime] Finishing example group spec/lib/gitlab/jira_import/issues_importer_spec.rb. It took 1.41 seconds. Expected to take 3.66 seconds. # [RSpecRunTime] Starting example group spec/models/snippet_input_action_collection_spec.rb. Expected to take 3.61 seconds. SnippetInputActionCollection does not allow STI is expected to delegate #empty? to the #actions object is expected to delegate #any? to the #actions object is expected to delegate #[] to the #actions object #to_commit_actions translates all actions to commit actions #valid? returns true when any of the actions is invalid returns false when allowed_actions param is passed builds SnippetInputAction with that param # [RSpecRunTime] Finishing example group spec/models/snippet_input_action_collection_spec.rb. It took 0.65 second. Expected to take 3.61 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/database/background_migration/batched_job_transition_log_spec.rb. Expected to take 3.56 seconds. Gitlab::Database::BackgroundMigration::BatchedJobTransitionLog does not allow STI is expected to be a kind of Gitlab::Database::SharedModel(abstract) associations is expected to belong to batched_job required: false validations is expected to validate that :previous_status cannot be empty/falsy is expected to validate that :next_status cannot be empty/falsy is expected to validate that :batched_job cannot be empty/falsy is expected to validate that the length of :exception_class is at most 100 is expected to validate that the length of :exception_message is at most 1000 is expected to define :previous_status as an enum backed by an integer with values ‹[:pending, :running, :failed, :succeeded]›, prefix: true is expected to define :next_status as an enum backed by an integer with values ‹[:pending, :running, :failed, :succeeded]›, prefix: true # [RSpecRunTime] Finishing example group spec/lib/gitlab/database/background_migration/batched_job_transition_log_spec.rb. It took 0.8 second. Expected to take 3.56 seconds. # [RSpecRunTime] Starting example group spec/models/abuse/user_trust_score_spec.rb. Expected to take 3.5 seconds. Abuse::UserTrustScore does not allow STI #arkose_custom_score when the user has an arkose custom risk score returns the latest score when the user does not have an arkose custom risk score defaults to zero #remove_old_scores if max events is exceeded removes the oldest events #spammer? when the user is a spammer classifies the user as a spammer when the user is not a spammer does not classify the user as a spammer #spam_score when the user is a spammer returns the expected score when the user is not a spammer returns the expected score #arkose_global_score when the user has an arkose global risk score returns the latest score when the user does not have an arkose global risk score defaults to zero #telesign_score when the user has a telesign risk score returns the latest score when the user does not have a telesign risk score defaults to zero # [RSpecRunTime] Finishing example group spec/models/abuse/user_trust_score_spec.rb. It took 1.23 seconds. Expected to take 3.5 seconds. # [RSpecRunTime] Starting example group spec/lib/sbom/package_url/normalizer_spec.rb. Expected to take 3.46 seconds. Sbom::PackageUrl::Normalizer #normalize_name behaves like name normalization with bitbucket url downcases text with github url downcases text with pypi url downcases text and replaces underscores with other urls does not change the text when text is nil raises an error #normalize_namespace behaves like name normalization with bitbucket url downcases text with github url downcases text with pypi url downcases text and replaces underscores with other urls does not change the text when text is nil allows nil values # [RSpecRunTime] Finishing example group spec/lib/sbom/package_url/normalizer_spec.rb. It took 0.78 second. Expected to take 3.46 seconds. # [RSpecRunTime] Starting example group spec/workers/update_highest_role_worker_spec.rb. Expected to take 3.4 seconds. UpdateHighestRoleWorker #perform when user is not found does not update or deletes any highest role when user is found when user is active and not internal when user highest role exists updates the highest role for the user when user highest role does not exist creates the highest role for the user when user is either inactive or internal additional_attributes: {:state=>"blocked"} deletes highest role additional_attributes: {:user_type=>:alert_bot} deletes highest role when user highest role does not exist does not delete a highest role # [RSpecRunTime] Finishing example group spec/workers/update_highest_role_worker_spec.rb. It took 1.28 seconds. Expected to take 3.4 seconds. # [RSpecRunTime] Starting example group spec/graphql/resolvers/projects/services_resolver_spec.rb. Expected to take 3.38 seconds. Resolvers::Projects::ServicesResolver is expected to have nullable GraphQL type ServiceConnection #resolve when project does not have services when user cannot access services when anonymous user behaves like cannot access project services raises error when user developer behaves like cannot access project services raises error when user can read project services behaves like no project services returns empty collection when project has services when user cannot access services when anonymous user behaves like cannot access project services raises error when user developer behaves like cannot access project services raises error when user can read project services returns project services # [RSpecRunTime] Finishing example group spec/graphql/resolvers/projects/services_resolver_spec.rb. It took 1.78 seconds. Expected to take 3.38 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/analytics/usage_trends/workers_argument_builder_spec.rb. Expected to take 3.35 seconds. Gitlab::Analytics::UsageTrends::WorkersArgumentBuilder when no measurement identifiers are given returns empty array when measurement identifiers are given returns worker arguments when bogus measurement identifiers are given skips bogus measurement identifiers when custom min and max queries are present uses custom min/max for ids # [RSpecRunTime] Finishing example group spec/lib/gitlab/analytics/usage_trends/workers_argument_builder_spec.rb. It took 1.32 seconds. Expected to take 3.35 seconds. # [RSpecRunTime] Starting example group spec/workers/authorized_project_update/user_refresh_from_replica_worker_spec.rb. Expected to take 3.27 seconds. AuthorizedProjectUpdate::UserRefreshFromReplicaWorker is labeled as low urgency behaves like an idempotent worker is labeled as idempotent performs multiple times sequentially without raising an exception #perform checks if a project_authorization refresh is needed for the user when there are project authorization records due for either removal or addition for a specific user enqueues a new project authorization update job for the user when there are no additions or removals to be made to project authorizations for a specific user does not enqueue a new project authorization update job for the user with load balancing enabled reads from the replica database # [RSpecRunTime] Finishing example group spec/workers/authorized_project_update/user_refresh_from_replica_worker_spec.rb. It took 1.01 seconds. Expected to take 3.27 seconds. # [RSpecRunTime] Starting example group spec/services/work_items/callbacks/notifications_spec.rb. Expected to take 3.25 seconds. WorkItems::Callbacks::Notifications #before_update_in_transaction when update fails when user lack update_subscription permissions behaves like failing to update subscription when user is subscribed with a subscription record does not update the work item's subscription when user is subscribed by being a participant does not create subscription record or change subscription state when notifications params are not present behaves like failing to update subscription when user is subscribed with a subscription record does not update the work item's subscription when user is subscribed by being a participant does not create subscription record or change subscription state when update is successful when subscribing behaves like updating notifications subscription successfully updates existing subscription record when unsubscribing when user is subscribed with a subscription record behaves like updating notifications subscription successfully updates existing subscription record when user is subscribed by being a participant creates a subscription with expected value # [RSpecRunTime] Finishing example group spec/services/work_items/callbacks/notifications_spec.rb. It took 1.65 seconds. Expected to take 3.25 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/hook_data/project_member_builder_spec.rb. Expected to take 3.19 seconds. Gitlab::HookData::ProjectMemberBuilder #build data on create is expected to eq "user_add_to_team" behaves like includes the required attributes includes the required attributes on update is expected to eq "user_update_for_team" behaves like includes the required attributes includes the required attributes on destroy is expected to eq "user_remove_from_team" behaves like includes the required attributes includes the required attributes # [RSpecRunTime] Finishing example group spec/lib/gitlab/hook_data/project_member_builder_spec.rb. It took 1.19 seconds. Expected to take 3.19 seconds. # [RSpecRunTime] Starting example group spec/services/personal_access_tokens/rotate_service_spec.rb. Expected to take 3.16 seconds. PersonalAccessTokens::RotateService #execute revokes the previous token saves the previous token as previous PAT attribute behaves like rotates token succesfully rotates user's own token when user tries to rotate already revoked token returns an error when revoking previous token fails returns an error when creating the new token fails returns an error reverts the changes # [RSpecRunTime] Finishing example group spec/services/personal_access_tokens/rotate_service_spec.rb. It took 0.9 second. Expected to take 3.16 seconds. # [RSpecRunTime] Starting example group spec/graphql/resolvers/group_milestones_resolver_spec.rb. Expected to take 3.11 seconds. Resolvers::GroupMilestonesResolver #resolve calls MilestonesFinder#execute without parameters calls MilestonesFinder to retrieve all milestones with parameters timeframe argument by ids calls MilestonesFinder with correct parameters by sort calls MilestonesFinder with correct parameters uses offset-pagination when sorting by expired_last_due_date_asc uses offset-pagination when sorting by expired_last_due_date_desc by timeframe when timeframe start and end are present when start is after end raises error # [RSpecRunTime] Finishing example group spec/graphql/resolvers/group_milestones_resolver_spec.rb. It took 1.06 seconds. Expected to take 3.11 seconds. # [RSpecRunTime] Starting example group spec/views/admin/sessions/new.html.haml_spec.rb. Expected to take 3.08 seconds. admin/sessions/new.html.haml internal admin user shows enter password form warns authentication not possible if password not set omniauth authentication enabled shows omniauth form ldap authentication is shown when enabled is not shown when LDAP sign in is disabled # [RSpecRunTime] Finishing example group spec/views/admin/sessions/new.html.haml_spec.rb. It took 0.97 second. Expected to take 3.08 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/database/query_analyzers/prevent_set_operator_mismatch_spec.rb. Expected to take 3.03 seconds. Gitlab::Database::QueryAnalyzers::PreventSetOperatorMismatch when SQL includes a EXCEPT is expected to receive types(*(any args)) 1 time when SQL does not include a set operator sql: "SELECT 1" does not parse SQL sql: "SELECT union_station" does not parse SQL sql: "SELECT intersection" does not parse SQL sql: "SELECT deny_all_requests_except_allowed from application_settings" does not parse SQL when SQL includes a INTERSECT is expected to receive types(*(any args)) 1 time when SQL is invalid raises error when SQL has many select statements raises error when SQL includes a UNION is expected to receive types(*(any args)) 1 time when SQL is valid does not raise error # [RSpecRunTime] Finishing example group spec/lib/gitlab/database/query_analyzers/prevent_set_operator_mismatch_spec.rb. It took 0.89 second. Expected to take 3.03 seconds. # [RSpecRunTime] Starting example group spec/workers/projects/delete_branch_worker_spec.rb. Expected to take 3.01 seconds. Projects::DeleteBranchWorker #perform when the branch does not exist does nothing with a non-existing project does nothing with a non-existing user does nothing with existing user and project calls service to delete source branch when delete service returns an error when the status code is 400 tracks and raises the exception when the status code is not 400 does not track the exception behaves like an idempotent worker is labeled as idempotent performs multiple times sequentially without raising an exception # [RSpecRunTime] Finishing example group spec/workers/projects/delete_branch_worker_spec.rb. It took 1.3 seconds. Expected to take 3.01 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/string_placeholder_replacer_spec.rb. Expected to take 2.96 seconds. Gitlab::StringPlaceholderReplacer .render_url returns the nil if the string is blank returns the string if the placeholder regex returns the string if no block given when all params are valid replaces each placeholders with the block result does not replace the placeholder if the block result is nil # [RSpecRunTime] Finishing example group spec/lib/gitlab/string_placeholder_replacer_spec.rb. It took 0.48 second. Expected to take 2.96 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/database/partitioning/int_range_strategy_spec.rb. Expected to take 2.92 seconds. Gitlab::Database::Partitioning::IntRangeStrategy simulates the merge_request_diff_commits partition creation redirects to the new partition (FAILED - 1) #extra_partitions returns an empty array attributes is expected to have attributes {:model => #<Class:0x00007a0339419860>(Table doesn't exist), :partition_size => 5, :partitioning_key => :partition} #current_partitions returns partitions order by range bound #missing_partitions when the current partitions are not completed when partitions have data returns missing partitions when partitions are empty returns missing partitions with existing partitions when partitions have data returns missing partitions when partitions are empty returns missing partitions without partitions returns missing partitions # [RSpecRunTime] Finishing example group spec/lib/gitlab/database/partitioning/int_range_strategy_spec.rb. It took 0.9 second. Expected to take 2.92 seconds. # [RSpecRunTime] Starting example group spec/services/packages/composer/composer_json_service_spec.rb. Expected to take 2.9 seconds. Packages::Composer::ComposerJsonService #execute with an existing file with a valid file returns the parsed json with an invalid file raises an error without the composer.json file raises an error # [RSpecRunTime] Finishing example group spec/services/packages/composer/composer_json_service_spec.rb. It took 1.92 seconds. Expected to take 2.9 seconds. # [RSpecRunTime] Starting example group spec/graphql/types/container_repository_referrer_type_spec.rb. Expected to take 2.86 seconds. Types::ContainerRepositoryReferrerType is expected to eq "ContainerRepositoryReferrer" is expected to expose permissions using Types::PermissionTypes::ContainerRepositoryTag is expected to have graphql fields :artifact_type, :digest, and :user_permissions is expected to require graphql authorizations :read_container_image is expected to eq "A referrer for a container repository tag" # [RSpecRunTime] Finishing example group spec/graphql/types/container_repository_referrer_type_spec.rb. It took 0.5 second. Expected to take 2.86 seconds. # [RSpecRunTime] Starting example group spec/views/projects/settings/integrations/edit.html.haml_spec.rb. Expected to take 2.81 seconds. projects/settings/integrations/edit is expected not to have text "Recent events" integration using WebHooks is expected to have text "Recent events" # [RSpecRunTime] RSpec elapsed time: 17 minutes 0.8 second. Current RSS: ~1915M. load average: 1.16 1.14 1.23 2/297 13063 # [RSpecRunTime] Finishing example group spec/views/projects/settings/integrations/edit.html.haml_spec.rb. It took 1.58 seconds. Expected to take 2.81 seconds. # [RSpecRunTime] Starting example group spec/models/organizations/organization_detail_spec.rb. Expected to take 2.79 seconds. Organizations::OrganizationDetail does not allow STI #description_html is expected to equal ignoring sourcepos Foo <strong>Bar</strong> validations is expected to validate that :organization cannot be empty/falsy is expected to validate that the length of :description is at most 1024 associations is expected to belong to organization required: false inverse_of => organization_detail with uploads behaves like model with uploads .destroy with mounted uploader deletes remote uploads with not mounted uploads with local files deletes any FileUploader uploads which are not mounted (PENDING: No reason given) deletes local files (PENDING: No reason given) with remote files deletes any FileUploader uploads which are not mounted (PENDING: No reason given) deletes remote files (PENDING: No reason given) behaves like Avatarable #avatar_type is true if avatar is image is false if avatar is html page #avatar_url when avatar file is uploaded shows correct avatar url # [RSpecRunTime] Finishing example group spec/models/organizations/organization_detail_spec.rb. It took 1.05 seconds. Expected to take 2.79 seconds. # [RSpecRunTime] Starting example group spec/validators/ip_address_validator_spec.rb. Expected to take 2.72 seconds. IpAddressValidator ip_address: "invalid IP", validity: false, errors: {:ip_address=>["must be a valid IPv4 or IPv6 address"]} is expected to eq false is expected to eq {:ip_address=>["must be a valid IPv4 or IPv6 address"]} ip_address: "192.168.17.43", validity: true, errors: {} is expected to eq true is expected to eq {} ip_address: "2001:0db8:85a3::8a2e:0370:7334", validity: true, errors: {} is expected to eq true is expected to eq {} ip_address: nil, validity: true, errors: {} is expected to eq true is expected to eq {} ip_address: "", validity: true, errors: {} is expected to eq true is expected to eq {} # [RSpecRunTime] Finishing example group spec/validators/ip_address_validator_spec.rb. It took 0.92 second. Expected to take 2.72 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/branch_push_merge_commit_analyzer_spec.rb. Expected to take 2.7 seconds. Gitlab::BranchPushMergeCommitAnalyzer #get_merge_commit returns correct merge commit SHA for each commit when one parent has two children returns correct merge commit SHA for each commit # [RSpecRunTime] RSpec elapsed time: 17 minutes 4.21 seconds. Current RSS: ~1913M. load average: 1.14 1.14 1.23 1/296 13082 when relevant_commit_ids is provided returns correct merge commit # [RSpecRunTime] Finishing example group spec/lib/gitlab/branch_push_merge_commit_analyzer_spec.rb. It took 2.06 seconds. Expected to take 2.7 seconds. # [RSpecRunTime] Starting example group spec/support_specs/helpers/keyset_pagination_helpers_spec.rb. Expected to take 2.66 seconds. KeysetPaginationHelpers #pagination_links is expected to eq [{:rel=>"next", :url=>"http://127.0.0.1:3000/api/v4/projects/7/audit_events?cursor=eyJpZCI6IjYyMjAiLCJfa2QiOiJuIn0%3D&id=7&order_by=id&page=1&pagination=keyset&per_page=2"}] with a partially malformed LINK header is expected to eq [{:rel=>"next", :url=>"http://127.0.0.1:3000/api/v4/projects/7/audit_events?cursor=eyJpZCI6IjYyMjAiLCJfa2QiOiJuIn0%3D&id=7&order_by=id&page=1&pagination=keyset&per_page=2"}] with a malformed LINK header is expected to eq [] #pagination_params_from_next_url is expected to eq {"cursor"=>"eyJpZCI6IjYyMjAiLCJfa2QiOiJuIn0=", "id"=>"7", "order_by"=>"id", "page"=>"1", "pagination"=>"keyset", "per_page"=>"2"} with both prev and next rel links is expected to eq {"cursor"=>"eyJpZCI6IjYyMjAiLCJfa2QiOiJuIn0=", "id"=>"7", "order_by"=>"id", "page"=>"1", "pagination"=>"keyset", "per_page"=>"2"} with a partially malformed LINK header is expected to eq {"cursor"=>"eyJpZCI6IjYyMjAiLCJfa2QiOiJuIn0=", "id"=>"7", "order_by"=>"id", "page"=>"1", "pagination"=>"keyset", "per_page"=>"2"} with a malformed LINK header is expected to equal nil # [RSpecRunTime] Finishing example group spec/support_specs/helpers/keyset_pagination_helpers_spec.rb. It took 0.71 second. Expected to take 2.66 seconds. # [RSpecRunTime] Starting example group spec/services/branch_rules/update_service_spec.rb. Expected to take 2.64 seconds. BranchRules::UpdateService #execute when the current_user cannot update the branch rule raises an access denied error when branch_rule is a Projects::BranchRule updates the ProtectedBranch and returns a success execute if the update fails returns an error when branch_rule is a ProtectedBranch returns an error when unpermitted params are provided removes them # [RSpecRunTime] Finishing example group spec/services/branch_rules/update_service_spec.rb. It took 1.29 seconds. Expected to take 2.64 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/ci/status/scheduled_spec.rb. Expected to take 2.57 seconds. Gitlab::Ci::Status::Scheduled #text is expected to eq "Scheduled" #label is expected to eq "scheduled" #icon is expected to eq "status_scheduled" #favicon is expected to eq "favicon_status_scheduled" #group is expected to eq "scheduled" #details_path is expected to be nil # [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/status/scheduled_spec.rb. It took 0.57 second. Expected to take 2.57 seconds. # [RSpecRunTime] Starting example group spec/services/saved_replies/create_service_spec.rb. Expected to take 2.57 seconds. SavedReplies::CreateService #execute when create fails is expected to eq :error does not create new Saved Reply in database returns error messages when create succeeds is expected to eq :success creates new Saved Reply in database returns new saved reply # [RSpecRunTime] Finishing example group spec/services/saved_replies/create_service_spec.rb. It took 0.75 second. Expected to take 2.57 seconds. # [RSpecRunTime] Starting example group spec/tooling/lib/tooling/helpers/file_handler_spec.rb. Expected to take 2.52 seconds. Tooling::Helpers::FileHandler #read_array_from_file when the input file does not exist creates the file when the input file is not empty returns the content of the file in an array #write_array_to_file when the output file does not exist creates the file when the output file is empty writes the correct content to the file when the content array is not sorted sorts the array before writing it to file when the output file is not empty appends the correct content to the file when the append flag is set to false overwrites the previous content # [RSpecRunTime] Finishing example group spec/tooling/lib/tooling/helpers/file_handler_spec.rb. It took 0.7 second. Expected to take 2.52 seconds. # [RSpecRunTime] Starting example group spec/graphql/resolvers/ml/model_detail_resolver_spec.rb. Expected to take 2.5 seconds. Resolvers::Ml::ModelDetailResolver #resolve when user is allowed and model exists is expected to eq #<Ml::Model id: 1, created_at: "2024-02-20 23:36:42.743063224 +0000", updated_at: "2024-02-20 23:36:42.743063224 +0000", project_id: 616, name: "model1", description: nil, user_id: nil> when user is nil is expected to eq #<Ml::Model id: 1, created_at: "2024-02-20 23:36:42.743063224 +0000", updated_at: "2024-02-20 23:36:42.743063224 +0000", project_id: 616, name: "model1", description: nil, user_id: nil> when user does not have permission is expected to be nil when model does not exist is expected to be nil # [RSpecRunTime] Finishing example group spec/graphql/resolvers/ml/model_detail_resolver_spec.rb. It took 1.03 seconds. Expected to take 2.5 seconds. # [RSpecRunTime] Starting example group spec/presenters/packages/composer/packages_presenter_spec.rb. Expected to take 2.45 seconds. Packages::Composer::PackagesPresenter #package_versions returns the packages json #provider returns the provider json #root returns the provider json with a client version 2 returns the provider json # [RSpecRunTime] Finishing example group spec/presenters/packages/composer/packages_presenter_spec.rb. It took 1.05 seconds. Expected to take 2.45 seconds. # [RSpecRunTime] Starting example group spec/rubocop/cop/graphql/enum_values_spec.rb. Expected to take 2.43 seconds. RuboCop::Cop::Graphql::EnumValues adds an offense when enum value is not uppercase when values are set dynamically adds an offense when enum value is set without `:upcase` adds no offense when enum value is deprecated adds no offense when enum value is uppercased literally adds no offense when enum value is calling upcased # [RSpecRunTime] Finishing example group spec/rubocop/cop/graphql/enum_values_spec.rb. It took 0.5 second. Expected to take 2.43 seconds. # [RSpecRunTime] Starting example group spec/services/award_emojis/copy_service_spec.rb. Expected to take 2.39 seconds. AwardEmojis::CopyService #initialize validates that we cannot copy AwardEmoji to the same Awardable #execute copies AwardEmojis returns success # [RSpecRunTime] RSpec elapsed time: 17 minutes 13.25 seconds. Current RSS: ~1913M. load average: 1.13 1.14 1.23 1/297 13138 # [RSpecRunTime] Finishing example group spec/services/award_emojis/copy_service_spec.rb. It took 1.8 seconds. Expected to take 2.39 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/code_navigation_path_spec.rb. Expected to take 2.35 seconds. Gitlab::CodeNavigationPath when there is an artifact with code navigation data when a pipeline exist for a sha returns path to a file in the artifact when passed commit sha is nil returns path to a file in the artifact when a pipeline exist for the latest commits returns path to a file in the artifact # [RSpecRunTime] Finishing example group spec/lib/gitlab/code_navigation_path_spec.rb. It took 1.1 seconds. Expected to take 2.35 seconds. # [RSpecRunTime] Starting example group spec/services/projects/batch_open_issues_count_service_spec.rb. Expected to take 2.33 seconds. Projects::BatchOpenIssuesCountService #refresh_cache_and_retrieve_data when cache is clean refreshes cache keys correctly # [RSpecRunTime] RSpec elapsed time: 17 minutes 15.65 seconds. Current RSS: ~1910M. load average: 1.12 1.14 1.23 1/297 13163 # [RSpecRunTime] Finishing example group spec/services/projects/batch_open_issues_count_service_spec.rb. It took 1.29 seconds. Expected to take 2.33 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/global_id/deprecations_spec.rb. Expected to take 2.28 seconds. Gitlab::GlobalId::Deprecations .deprecated? returns a boolean to signal if model name has a deprecation .deprecation_for returns the deprecation for the model if it exists .deprecation_by returns the deprecation by the model if it exists .apply_to_graphql_name returns the corresponding graphql_name of the GID for the new model returns the same value if there is no deprecation # [RSpecRunTime] Finishing example group spec/lib/gitlab/global_id/deprecations_spec.rb. It took 0.53 second. Expected to take 2.28 seconds. # [RSpecRunTime] Starting example group spec/lib/bulk_imports/common/pipelines/entity_finisher_spec.rb. Expected to take 2.26 seconds. BulkImports::Common::Pipelines::EntityFinisher updates the entity status to finished when entity is in a final finished or failed state does nothing does nothing when all entity trackers failed marks entity as failed # [RSpecRunTime] Finishing example group spec/lib/bulk_imports/common/pipelines/entity_finisher_spec.rb. It took 0.82 second. Expected to take 2.26 seconds. # [RSpecRunTime] Starting example group spec/services/terraform/states/trigger_destroy_service_spec.rb. Expected to take 2.22 seconds. Terraform::States::TriggerDestroyService #execute marks the state as deleted and schedules a cleanup worker within a database transaction does not raise an EnqueueFromTransactionError user does not have permission does not modify the state state is locked does not modify the state # [RSpecRunTime] Finishing example group spec/services/terraform/states/trigger_destroy_service_spec.rb. It took 1.29 seconds. Expected to take 2.22 seconds. # [RSpecRunTime] Starting example group spec/models/concerns/safely_change_column_default_spec.rb. Expected to take 2.21 seconds. SafelyChangeColumnDefault does not send the old column value if the default has changed does not write the column without a change does not allow STI prevents writing new default in place of the old default forces the column to be written on a change # [RSpecRunTime] Finishing example group spec/models/concerns/safely_change_column_default_spec.rb. It took 0.7 second. Expected to take 2.21 seconds. # [RSpecRunTime] Starting example group spec/lib/bulk_imports/projects/pipelines/external_pull_requests_pipeline_spec.rb. Expected to take 2.15 seconds. BulkImports::Projects::Pipelines::ExternalPullRequestsPipeline #run imports external pull request when status is closed imports closed external pull request when from fork does not create external pull request # [RSpecRunTime] Finishing example group spec/lib/bulk_imports/projects/pipelines/external_pull_requests_pipeline_spec.rb. It took 0.95 second. Expected to take 2.15 seconds. # [RSpecRunTime] Starting example group spec/rubocop/cop/rspec/factory_bot/local_static_assignment_spec.rb. Expected to take 2.15 seconds. RuboCop::Cop::RSpec::FactoryBot::LocalStaticAssignment does not flag local assignments in unrelated blocks behaves like local static assignment flags static local assignment in `factory :project` does not flag correct use behaves like local static assignment flags static local assignment in `trait :closed` does not flag correct use behaves like local static assignment flags static local assignment in `transient` does not flag correct use # [RSpecRunTime] Finishing example group spec/rubocop/cop/rspec/factory_bot/local_static_assignment_spec.rb. It took 0.8 second. Expected to take 2.15 seconds. # [RSpecRunTime] Starting example group spec/rubocop/cop/gitlab/keys_first_and_values_first_spec.rb. Expected to take 2.1 seconds. RuboCop::Cop::Gitlab::KeysFirstAndValuesFirst behaves like inspect use of keys or values first .keys.first flags and autocorrects does not flag unrelated code behaves like inspect use of keys or values first .values.first flags and autocorrects does not flag unrelated code # [RSpecRunTime] Finishing example group spec/rubocop/cop/gitlab/keys_first_and_values_first_spec.rb. It took 0.5 second. Expected to take 2.1 seconds. # [RSpecRunTime] Starting example group spec/workers/database/monitor_locked_tables_worker_spec.rb. Expected to take 2.09 seconds. Database::MonitorLockedTablesWorker #perform when running with single database skips executing the job (PENDING: Skipping because database ci exists) when running in decomposed database when the feature flag is disabled skips executing the job when the feature flag is enabled calls TablesLocker with dry_run enabled reports the tables that need to be locked on both databases main and ci with automatically locking the unlocked tables when there are no tables to be locked does not call the Database::LockTablesWorker when there are tables to be locked when feature flag lock_tables_in_monitoring is enabled locks the tables that need to be locked when feature flag lock_tables_in_monitoring is disabled does not lock the tables that need to be locked # [RSpecRunTime] Finishing example group spec/workers/database/monitor_locked_tables_worker_spec.rb. It took 0.62 second. Expected to take 2.09 seconds. # [RSpecRunTime] Starting example group spec/services/ci/job_token_scope/add_group_or_project_service_spec.rb. Expected to take 2.03 seconds. Ci::JobTokenScope::AddGroupOrProjectService #execute when group is a target to add calls AddGroupService to add a target when project is a target to add calls AddProjectService to add a target when not found object is a target to add returns a response error # [RSpecRunTime] Finishing example group spec/services/ci/job_token_scope/add_group_or_project_service_spec.rb. It took 1.0 second. Expected to take 2.03 seconds. # [RSpecRunTime] Starting example group spec/components/pajamas/checkbox_tag_component_spec.rb. Expected to take 2.01 seconds. Pajamas::CheckboxTagComponent with default options renders unchecked checkbox with value of `1` does not render help text with custom options renders checked checkbox with value of `yes` adds CSS class to label with `help_text` slot renders unchecked checkbox with value of `1` renders help text # [RSpecRunTime] Finishing example group spec/components/pajamas/checkbox_tag_component_spec.rb. It took 0.58 second. Expected to take 2.01 seconds. # [RSpecRunTime] Starting example group spec/config/smime_signature_settings_spec.rb. Expected to take 1.97 seconds. SmimeSignatureSettings .parse sets correct default values to disabled when providing custom values sets correct default values to disabled enables smime with default key and cert enables smime with custom key and cert # [RSpecRunTime] Finishing example group spec/config/smime_signature_settings_spec.rb. It took 0.43 second. Expected to take 1.97 seconds. # [RSpecRunTime] Starting example group spec/services/jira_connect_installations/destroy_service_spec.rb. Expected to take 1.94 seconds. JiraConnectInstallations::DestroyService .execute creates an instance and calls execute #execute is expected to be truthy deletes the installation and the installation has an instance_url set is expected to be truthy schedules a ForwardEventWorker background job and keeps the installation # [RSpecRunTime] Finishing example group spec/services/jira_connect_installations/destroy_service_spec.rb. It took 1.03 seconds. Expected to take 1.94 seconds. # [RSpecRunTime] Starting example group spec/bin/diagnostic_reports_uploader_spec.rb. Expected to take 1.92 seconds. bin/diagnostic-reports-uploader when necessary ENV vars are set runs successfully when GITLAB_DIAGNOSTIC_REPORTS_PATH is missing raises RuntimeError when GITLAB_GCP_KEY_PATH is missing raises RuntimeError when GITLAB_DIAGNOSTIC_REPORTS_BUCKET is missing raises RuntimeError when GITLAB_DIAGNOSTIC_REPORTS_PROJECT is missing raises RuntimeError # [RSpecRunTime] Finishing example group spec/bin/diagnostic_reports_uploader_spec.rb. It took 0.49 second. Expected to take 1.92 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/usage/metrics/instrumentations/batched_background_migration_failed_jobs_metric_spec.rb. Expected to take 1.89 seconds. Gitlab::Usage::Metrics::Instrumentations::BatchedBackgroundMigrationFailedJobsMetric behaves like a correct instrumented metric value and query behaves like a correct instrumented metric value has correct value behaves like a correct instrumented metric query has correct generate query # [RSpecRunTime] Finishing example group spec/lib/gitlab/usage/metrics/instrumentations/batched_background_migration_failed_jobs_metric_spec.rb. It took 0.38 second. Expected to take 1.89 seconds. # [RSpecRunTime] Starting example group spec/views/projects/merge_requests/creations/new.html.haml_spec.rb. Expected to take 1.85 seconds. projects/merge_requests/creations/new.html.haml when merge request is created from other project behaves like has conflicting merge request guard when there is conflicting merge request shows conflicting merge request alert when there is no conflicting merge request does not show conflicting merge request alert when merge request is created from the same project behaves like has conflicting merge request guard when there is conflicting merge request shows conflicting merge request alert when there is no conflicting merge request does not show conflicting merge request alert # [RSpecRunTime] Finishing example group spec/views/projects/merge_requests/creations/new.html.haml_spec.rb. It took 0.6 second. Expected to take 1.85 seconds. # [RSpecRunTime] Starting example group spec/services/projects/readme_renderer_service_spec.rb. Expected to take 1.84 seconds. Projects::ReadmeRendererService#execute renders the an ERB readme template with a custom template renders that template file with path traversal in mind template_name: "../path/traversal/bad", exception: [Gitlab::PathTraversal::PathTraversalAttackError, "Invalid path"], expected_path: nil raises the expected exception on bad paths template_name: "/bad/template", exception: [StandardError, "path /bad/template.md.tt is not allowed"], expected_path: nil raises the expected exception on bad paths template_name: "good/template", exception: nil, expected_path: "good/template.md.tt" raises the expected exception on bad paths # [RSpecRunTime] Finishing example group spec/services/projects/readme_renderer_service_spec.rb. It took 0.78 second. Expected to take 1.84 seconds. # [RSpecRunTime] Starting example group spec/components/pajamas/breadcrumb_component_spec.rb. Expected to take 1.8 seconds. Pajamas::BreadcrumbComponent uses the correct class on the root element adds the required classes to the list element renders one GlBreadcrumbItem per item slot applies any provided HTML attribute to the root element # [RSpecRunTime] Finishing example group spec/components/pajamas/breadcrumb_component_spec.rb. It took 0.42 second. Expected to take 1.8 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/ci/config/entry/id_token_spec.rb. Expected to take 1.77 seconds. Gitlab::Ci::Config::Entry::IdToken when given an unknown keyword is invalid when not given an `aud` is invalid when given `aud` is a variable is valid when given `aud` as a string is valid when given `aud` as an array with variables is valid and concatenates the values when given `aud` as an array is valid and concatenates the values when given `aud` includes a variable is valid # [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/config/entry/id_token_spec.rb. It took 0.61 second. Expected to take 1.77 seconds. # [RSpecRunTime] Starting example group spec/services/projects/forks_count_service_spec.rb. Expected to take 1.75 seconds. Projects::ForksCountService behaves like a counter caching service #count caches the count #refresh_cache refreshes the cache #delete_cache removes the cache #uncached_count does not cache the count #count returns the number of forks # [RSpecRunTime] Finishing example group spec/services/projects/forks_count_service_spec.rb. It took 0.57 second. Expected to take 1.75 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/usage/metrics/instrumentations/dormant_user_period_setting_metric_spec.rb. Expected to take 1.72 seconds. Gitlab::Usage::Metrics::Instrumentations::DormantUserPeriodSettingMetric deactivate_dormant_users_period_value: 90, expected_value: 90 behaves like a correct instrumented metric value has correct value deactivate_dormant_users_period_value: 365, expected_value: 365 behaves like a correct instrumented metric value has correct value # [RSpecRunTime] Finishing example group spec/lib/gitlab/usage/metrics/instrumentations/dormant_user_period_setting_metric_spec.rb. It took 1.03 seconds. Expected to take 1.72 seconds. # [RSpecRunTime] Starting example group spec/finders/vs_code/settings/settings_finder_spec.rb. Expected to take 1.69 seconds. VsCode::Settings::SettingsFinder #execute when nil is passed in as the list of settings when user has no settings returns an empty array when user has settings returns an array of settings when a list of settings is passed, filters by the setting when user has no settings with that type returns an empty array when user does have settings with the type returns the record when a single setting exists returns multiple records when more than one setting exists # [RSpecRunTime] Finishing example group spec/finders/vs_code/settings/settings_finder_spec.rb. It took 0.58 second. Expected to take 1.69 seconds. # [RSpecRunTime] Starting example group spec/services/achievements/update_user_achievement_priorities_service_spec.rb. Expected to take 1.66 seconds. Achievements::UpdateUserAchievementPrioritiesService #execute when user does not have permission returns an error when user has permission with empty input removes all priorities with prioritised achievements re-orders the achievements correctly when no achievement is prioritized and no prioritizations are made works without errors # [RSpecRunTime] Finishing example group spec/services/achievements/update_user_achievement_priorities_service_spec.rb. It took 1.02 seconds. Expected to take 1.66 seconds. # [RSpecRunTime] Starting example group spec/workers/google_cloud/create_cloudsql_instance_worker_spec.rb. Expected to take 1.64 seconds. GoogleCloud::CreateCloudsqlInstanceWorker when triggered calls CloudSeed::GoogleCloud::SetupCloudsqlInstanceService when CloudSeed::GoogleCloud::SetupCloudsqlInstanceService fails raises error # [RSpecRunTime] Finishing example group spec/workers/google_cloud/create_cloudsql_instance_worker_spec.rb. It took 1.03 seconds. Expected to take 1.64 seconds. # [RSpecRunTime] Starting example group spec/rubocop/cop/gitlab/event_store_subscriber_spec.rb. Expected to take 1.61 seconds. RuboCop::Cop::Gitlab::EventStoreSubscriber when a Sidekiq worker overrides #perform does not register an offense when an event store subscriber overrides #perform registers an offense when an event store subscriber does not override #perform does not register an offense when an event store subscriber does not implement #handle_event registers an offense when a Sidekiq worker implements #handle_event does not register an offense a non worker class does not register an offense # [RSpecRunTime] Finishing example group spec/rubocop/cop/gitlab/event_store_subscriber_spec.rb. It took 0.56 second. Expected to take 1.61 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/git/lfs_changes_spec.rb. Expected to take 1.58 seconds. Gitlab::Git::LfsChanges #new_pointers filters new objects to find lfs pointers limits new_objects using object_limit times out if given a small dynamic timeout # [RSpecRunTime] Finishing example group spec/lib/gitlab/git/lfs_changes_spec.rb. It took 0.8 second. Expected to take 1.58 seconds. # [RSpecRunTime] Starting example group spec/serializers/ci/dag_stage_entity_spec.rb. Expected to take 1.55 seconds. Ci::DagStageEntity #as_json contains valid name contains the job groups matches schema # [RSpecRunTime] Finishing example group spec/serializers/ci/dag_stage_entity_spec.rb. It took 0.9 second. Expected to take 1.55 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/view/presenter/factory_spec.rb. Expected to take 1.55 seconds. Gitlab::View::Presenter::Factory #initialize without optional parameters takes a subject and optional params with optional parameters takes a subject and optional params #fabricate! detects the presenter based on the given subject uses the presenter_class if given on #initialize # [RSpecRunTime] Finishing example group spec/lib/gitlab/view/presenter/factory_spec.rb. It took 0.51 second. Expected to take 1.55 seconds. # [RSpecRunTime] Starting example group spec/presenters/packages/nuget/v2/service_index_presenter_spec.rb. Expected to take 1.5 seconds. Packages::Nuget::V2::ServiceIndexPresenter #xml is expected to eq "service" includes the workspace and collection nodes sets the appropriate XML namespaces on the root node when the presenter is initialized with a project sets the XML base path correctly for a project scope when the presenter is initialized with a group sets the XML base path correctly for a group scope # [RSpecRunTime] Finishing example group spec/presenters/packages/nuget/v2/service_index_presenter_spec.rb. It took 0.52 second. Expected to take 1.5 seconds. # [RSpecRunTime] Starting example group spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb. Expected to take 1.49 seconds. Resolvers::Environments::NestedEnvironmentsResolver #resolve finds the nested environments when status matches finds the nested environments when searching by name finds the nested environments when name matches exactly # [RSpecRunTime] Finishing example group spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb. It took 1.02 seconds. Expected to take 1.49 seconds. # [RSpecRunTime] Starting example group spec/models/concerns/presentable_spec.rb. Expected to take 1.44 seconds. Presentable does not allow STI #present returns a presenter takes optional attributes # [RSpecRunTime] Finishing example group spec/models/concerns/presentable_spec.rb. It took 0.41 second. Expected to take 1.44 seconds. # [RSpecRunTime] Starting example group spec/rubocop/cop/rspec/shared_groups_metadata_spec.rb. Expected to take 1.43 seconds. RuboCop::Cop::RSpec::SharedGroupsMetadata does not flag if feature category is missing with hash metadata flags metadata in shared example flags metadata in shared context with symbol metadata flags metadata in shared example flags metadata in shared context # [RSpecRunTime] Finishing example group spec/rubocop/cop/rspec/shared_groups_metadata_spec.rb. It took 0.5 second. Expected to take 1.43 seconds. # [RSpecRunTime] Starting example group spec/models/work_items/widgets/notifications_spec.rb. Expected to take 1.38 seconds. WorkItems::Widgets::Notifications does not allow STI #subscribed? is expected to eq true .type is expected to eq :notifications #type is expected to eq :notifications # [RSpecRunTime] Finishing example group spec/models/work_items/widgets/notifications_spec.rb. It took 0.74 second. Expected to take 1.38 seconds. # [RSpecRunTime] Starting example group spec/initializers/cookies_serializer_spec.rb. Expected to take 1.36 seconds. Cookies serializer initializer uses JSON serializer by default uses the unsafe hybrid serializer when the environment variables is set # [RSpecRunTime] Finishing example group spec/initializers/cookies_serializer_spec.rb. It took 0.3 second. Expected to take 1.36 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/ci/mask_secret_spec.rb. Expected to take 1.33 seconds. Gitlab::Ci::MaskSecret #mask masks exact number of characters masks multiple occurrences does not mask if not found does support null token does not change a bytesize of a value # [RSpecRunTime] Finishing example group spec/lib/gitlab/ci/mask_secret_spec.rb. It took 0.49 second. Expected to take 1.33 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/usage_data_counters/source_code_counter_spec.rb. Expected to take 1.3 seconds. Gitlab::UsageDataCounters::SourceCodeCounter behaves like a redis usage counter .count(pushes) increments the Source Code pushes counter by 1 .read(pushes) returns the total number of pushes events behaves like a redis usage counter with totals totals can report all totals unknown events cannot increment cannot read # [RSpecRunTime] Finishing example group spec/lib/gitlab/usage_data_counters/source_code_counter_spec.rb. It took 0.55 second. Expected to take 1.3 seconds. # [RSpecRunTime] Starting example group spec/lib/generators/batched_background_migration/batched_background_migration_generator_spec.rb. Expected to take 1.28 seconds. BatchedBackgroundMigration::BatchedBackgroundMigrationGenerator when generating EE-only batched background migration generates expected common files generates expected files when generating FOSS batched background migration generates expected common files generates expected files # [RSpecRunTime] Finishing example group spec/lib/generators/batched_background_migration/batched_background_migration_generator_spec.rb. It took 0.49 second. Expected to take 1.28 seconds. # [RSpecRunTime] Starting example group spec/graphql/resolvers/concerns/resolves_groups_spec.rb. Expected to take 1.24 seconds. ResolvesGroups avoids N+1 queries on the preloaded fields # [RSpecRunTime] Finishing example group spec/graphql/resolvers/concerns/resolves_groups_spec.rb. It took 0.9 second. Expected to take 1.24 seconds. # [RSpecRunTime] Starting example group spec/services/webauthn/authenticate_service_spec.rb. Expected to take 1.21 seconds. Webauthn::AuthenticateService #execute returns true if the response is valid and a matching stored credential is present when response is valid but no matching stored credential is present returns false when device response includes invalid json returns false # [RSpecRunTime] Finishing example group spec/services/webauthn/authenticate_service_spec.rb. It took 0.56 second. Expected to take 1.21 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/auth/blocked_user_tracker_spec.rb. Expected to take 1.18 seconds. Gitlab::Auth::BlockedUserTracker #log_blocked_user_activity! when user is not blocked does not log blocked user activity when user is not blocked logs blocked user activity # [RSpecRunTime] Finishing example group spec/lib/gitlab/auth/blocked_user_tracker_spec.rb. It took 0.41 second. Expected to take 1.18 seconds. # [RSpecRunTime] Starting example group spec/services/pages_domains/delete_service_spec.rb. Expected to take 1.16 seconds. PagesDomains::DeleteService when the user has the required permissions when it updates the domain successfully deletes the domain and publishes a PagesDomainDeletedEvent when the user does not have the required permissions does not delete the pages domain and does not publish a PagesDomainDeletedEvent # [RSpecRunTime] Finishing example group spec/services/pages_domains/delete_service_spec.rb. It took 0.73 second. Expected to take 1.16 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/pagination/keyset/in_operator_optimization/strategies/order_values_loader_strategy_spec.rb. Expected to take 1.12 seconds. Gitlab::Pagination::Keyset::InOperatorOptimization::Strategies::OrderValuesLoaderStrategy #initializer_columns returns NULLs for each ORDER BY columns when an SQL expression is given when the sql_type attribute is missing raises error when the sql_type_attribute is present returns the initializer columns # [RSpecRunTime] Finishing example group spec/lib/gitlab/pagination/keyset/in_operator_optimization/strategies/order_values_loader_strategy_spec.rb. It took 0.35 second. Expected to take 1.12 seconds. # [RSpecRunTime] Starting example group spec/lib/gitlab/batch_worker_context_spec.rb. Expected to take 1.1 seconds. Gitlab::BatchWorkerContext #arguments returns all the expected arguments in arrays #context_for returns the correct application context for the arguments # [RSpecRunTime] Finishing example group spec/lib/gitlab/batch_worker_context_spec.rb. It took 0.32 second. Expected to take 1.1 seconds. # [RSpecRunTime] Starting example group spec/views/devise/confirmations/almost_there.html.haml_spec.rb. Expected to take 1.08 seconds. devise/confirmations/almost_there register again prompt is expected to have visible link "register again with a different email" with href "/users/sign_up" confirmations text when correct email is expected to have text "Please check your email (こんにちは@test) to confirm your account" when random text is expected to have text "Please check your email to confirm your account" # [RSpecRunTime] Finishing example group spec/views/devise/confirmations/almost_there.html.haml_spec.rb. It took 0.44 second. Expected to take 1.08 seconds. # [RSpecRunTime] Starting example group spec/workers/update_external_pull_requests_worker_spec.rb. Expected to take 1.06 seconds. UpdateExternalPullRequestsWorker #perform when ref is a branch runs CreatePipelineService for each pull request matching the source branch and repository when ref is not a branch does nothing # [RSpecRunTime] Finishing example group spec/workers/update_external_pull_requests_worker_spec.rb. It took 0.7 second. Expected to take 1.06 seconds. # [RSpecRunTime] Starting example group spec/lib/api/entities/ml/mlflow/search_runs_spec.rb. Expected to take 1.03 seconds. API::Entities::Ml::Mlflow::SearchRuns presents params presents metrics presents the candidates # [RSpecRunTime] Finishing example group spec/lib/api/entities/ml/mlflow/search_runs_spec.rb. It took 0.46 second. Expected to take 1.03 seconds. # [RSpecRunTime] Starting example group spec/graphql/types/ci/config/group_type_spec.rb. Expected to take 1.02 seconds. Types::Ci::Config::GroupType is expected to eq "CiConfigGroup" exposes the expected fields # [RSpecRunTime] Finishing example group spec/graphql/types/ci/config/group_type_spec.rb. It took 0.3 second. Expected to take 1.02 seconds. # [RSpecRunTime] Starting example group spec/graphql/resolvers/metrics/dashboards/annotation_resolver_spec.rb. Expected to take 0.98 second. Resolvers::Metrics::Dashboards::AnnotationResolver #resolve user with developer access with annotation records returns empty all the time # [RSpecRunTime] Finishing example group spec/graphql/resolvers/metrics/dashboards/annotation_resolver_spec.rb. It took 0.82 second. Expected to take 0.98 second. # [RSpecRunTime] Starting example group spec/initializers/rails_yaml_safe_load_spec.rb. Expected to take 0.98 second. Rails YAML safe load with default permitted classes deserializes data with unpermitted classes throws an exception # [RSpecRunTime] Finishing example group spec/initializers/rails_yaml_safe_load_spec.rb. It took 0.55 second. Expected to take 0.98 second. # [RSpecRunTime] Starting example group spec/lib/generators/gitlab/usage_metric_definition/redis_hll_generator_spec.rb. Expected to take 0.93 second. Gitlab::UsageMetricDefinition::RedisHllGenerator creates metric definition files with multiple events creates metric definition files with ee option creates metric definition files # [RSpecRunTime] Finishing example group spec/lib/generators/gitlab/usage_metric_definition/redis_hll_generator_spec.rb. It took 0.4 second. Expected to take 0.93 second. # [RSpecRunTime] Starting example group spec/models/discussion_note_spec.rb. Expected to take 0.91 second. DiscussionNote does not allow STI #to_ability_name is expected to eq "note" validations when noteable is an abuse report is expected to be valid # [RSpecRunTime] Finishing example group spec/models/discussion_note_spec.rb. It took 0.41 second. Expected to take 0.91 second. # [RSpecRunTime] Starting example group spec/routing/notifications_routing_spec.rb. Expected to take 0.89 second. notifications routing routes to #show routes to #update routes to group #update # [RSpecRunTime] Finishing example group spec/routing/notifications_routing_spec.rb. It took 0.36 second. Expected to take 0.89 second. # [RSpecRunTime] Starting example group spec/serializers/admin/reported_content_entity_spec.rb. Expected to take 0.86 second. Admin::ReportedContentEntity #as_json exposes correct attributes includes correct value for global_id correctly exposes `reporter` # [RSpecRunTime] Finishing example group spec/serializers/admin/reported_content_entity_spec.rb. It took 0.38 second. Expected to take 0.86 second. # [RSpecRunTime] Starting example group spec/lib/gitlab/memory/diagnostic_reports_logger_spec.rb. Expected to take 0.84 second. Gitlab::Memory::DiagnosticReportsLogger #format_message formats incoming hash properly # [RSpecRunTime] Finishing example group spec/lib/gitlab/memory/diagnostic_reports_logger_spec.rb. It took 0.24 second. Expected to take 0.84 second. # [RSpecRunTime] Starting example group spec/workers/gitlab/github_import/attachments/import_merge_request_worker_spec.rb. Expected to take 0.82 second. Gitlab::GithubImport::Attachments::ImportMergeRequestWorker #import imports an merge request attachments # [RSpecRunTime] Finishing example group spec/workers/gitlab/github_import/attachments/import_merge_request_worker_spec.rb. It took 0.65 second. Expected to take 0.82 second. # [RSpecRunTime] Starting example group spec/lib/sidebars/organizations/menus/scope_menu_spec.rb. Expected to take 0.8 second. Sidebars::Organizations::Menus::ScopeMenu behaves like serializable as super_sidebar_menu_args returns hash with provided attributes returns hash with an item_id # [RSpecRunTime] Finishing example group spec/lib/sidebars/organizations/menus/scope_menu_spec.rb. It took 0.32 second. Expected to take 0.8 second. # [RSpecRunTime] Starting example group spec/graphql/types/issue_status_count_type_spec.rb. Expected to take 0.76 second. Types::IssueStatusCountsType is expected to eq "IssueStatusCountsType" exposes the expected fields # [RSpecRunTime] Finishing example group spec/graphql/types/issue_status_count_type_spec.rb. It took 0.31 second. Expected to take 0.76 second. # [RSpecRunTime] Starting example group spec/rubocop/cop/migration/with_lock_retries_with_change_spec.rb. Expected to take 0.76 second. RuboCop::Cop::Migration::WithLockRetriesWithChange when in migration registers an offense when `with_lock_retries` is used inside a `change` method registers no offense when `with_lock_retries` is used inside an `up` method when outside of migration registers no offense # [RSpecRunTime] Finishing example group spec/rubocop/cop/migration/with_lock_retries_with_change_spec.rb. It took 0.39 second. Expected to take 0.76 second. # [RSpecRunTime] Starting example group spec/graphql/types/projects/service_type_spec.rb. Expected to take 0.7 second. Types::Projects::ServiceType is expected to have graphql fields :type, :service_type, and :active .resolve_type resolves the corresponding type for objects # [RSpecRunTime] Finishing example group spec/graphql/types/projects/service_type_spec.rb. It took 0.36 second. Expected to take 0.7 second. # [RSpecRunTime] Starting example group spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb. Expected to take 0.68 second. Analytics::CycleAnalytics::StageEntity exposes start and end event descriptions exposes start_event and end_event objects # [RSpecRunTime] Finishing example group spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb. It took 0.34 second. Expected to take 0.68 second. # [RSpecRunTime] Starting example group spec/graphql/types/tree/tree_entry_type_spec.rb. Expected to take 0.67 second. Types::Tree::TreeEntryType is expected to eq "TreeEntry" is expected to have graphql fields :id, :sha, :name, :type, :path, :flat_path, :web_url, and :web_path # [RSpecRunTime] Finishing example group spec/graphql/types/tree/tree_entry_type_spec.rb. It took 0.3 second. Expected to take 0.67 second. # [RSpecRunTime] Starting example group spec/graphql/types/work_items/widgets/current_user_todos_input_type_spec.rb. Expected to take 0.66 second. Types::WorkItems::Widgets::CurrentUserTodosInputType is expected to eq "WorkItemWidgetCurrentUserTodosInput" is expected to contain exactly "action" and "todoId" # [RSpecRunTime] Finishing example group spec/graphql/types/work_items/widgets/current_user_todos_input_type_spec.rb. It took 0.31 second. Expected to take 0.66 second. # [RSpecRunTime] Starting example group spec/graphql/types/issue_type_enum_spec.rb. Expected to take 0.64 second. Types::IssueTypeEnum is expected to eq "IssueType" exposes all the existing issue type values except epic # [RSpecRunTime] Finishing example group spec/graphql/types/issue_type_enum_spec.rb. It took 0.3 second. Expected to take 0.64 second. # [RSpecRunTime] Starting example group spec/graphql/types/jira_import_type_spec.rb. Expected to take 0.63 second. Types::JiraImportType is expected to eq "JiraImport" has the expected fields # [RSpecRunTime] Finishing example group spec/graphql/types/jira_import_type_spec.rb. It took 0.31 second. Expected to take 0.63 second. # [RSpecRunTime] Starting example group spec/scripts/generate_failed_package_and_test_mr_message_spec.rb. Expected to take 0.61 second. GenerateFailedPackageAndTestMrMessage #execute when package-and-test fails successfully creates a discussion when package-and-test is did not fail does not add a discussion # [RSpecRunTime] Finishing example group spec/scripts/generate_failed_package_and_test_mr_message_spec.rb. It took 0.3 second. Expected to take 0.61 second. # [RSpecRunTime] Starting example group spec/graphql/types/ci_configuration/sast/ui_component_size_enum_spec.rb. Expected to take 0.6 second. Types::CiConfiguration::Sast::UiComponentSizeEnum is expected to eq "SastUiComponentSize" exposes all sizes of ui components # [RSpecRunTime] Finishing example group spec/graphql/types/ci_configuration/sast/ui_component_size_enum_spec.rb. It took 0.32 second. Expected to take 0.6 second. # [RSpecRunTime] Starting example group spec/lib/bulk_imports/groups/extractors/subgroups_extractor_spec.rb. Expected to take 0.58 second. BulkImports::Groups::Extractors::SubgroupsExtractor #extract returns ExtractedData response # [RSpecRunTime] Finishing example group spec/lib/bulk_imports/groups/extractors/subgroups_extractor_spec.rb. It took 0.41 second. Expected to take 0.58 second. # [RSpecRunTime] Starting example group spec/views/layouts/_published_experiments.html.haml_spec.rb. Expected to take 0.57 second. layouts/_published_experiments renders out data for all non-excluded, published experiments # [RSpecRunTime] Finishing example group spec/views/layouts/_published_experiments.html.haml_spec.rb. It took 0.33 second. Expected to take 0.57 second. # [RSpecRunTime] Starting example group spec/lib/sidebars/uncategorized_menu_spec.rb. Expected to take 0.5 second. Sidebars::UncategorizedMenu has title and sprite_icon # [RSpecRunTime] Finishing example group spec/lib/sidebars/uncategorized_menu_spec.rb. It took 0.23 second. Expected to take 0.5 second. # [RSpecRunTime] Starting example group spec/graphql/types/packages/maven/metadatum_type_spec.rb. Expected to take 0.49 second. Types::Packages::Maven::MetadatumType includes maven metadatum fields # [RSpecRunTime] Finishing example group spec/graphql/types/packages/maven/metadatum_type_spec.rb. It took 0.24 second. Expected to take 0.49 second. # [RSpecRunTime] Starting example group spec/lib/gitlab/nav/top_nav_menu_item_spec.rb. Expected to take 0.46 second. Gitlab::Nav::TopNavMenuItem .build builds a hash from the given args # [RSpecRunTime] Finishing example group spec/lib/gitlab/nav/top_nav_menu_item_spec.rb. It took 0.29 second. Expected to take 0.46 second. # [RSpecRunTime] Starting example group spec/graphql/types/ci/pipeline_trigger_type_spec.rb. Expected to take 0.44 second. Types::Ci::PipelineTriggerType is expected to have graphql fields :can_access_project, :description, :has_token_exposed, :last_used, :id, :owner, and :token # [RSpecRunTime] Finishing example group spec/graphql/types/ci/pipeline_trigger_type_spec.rb. It took 0.24 second. Expected to take 0.44 second. # [RSpecRunTime] Starting example group spec/initializers/sidekiq_spec.rb. Expected to take 0.43 second. sidekiq load_cron_jobs! loads the cron jobs into sidekiq-cron # [RSpecRunTime] Finishing example group spec/initializers/sidekiq_spec.rb. It took 0.24 second. Expected to take 0.43 second. # [RSpecRunTime] Starting example group spec/helpers/routing/packages_helper_spec.rb. Expected to take 0.42 second. Routing::PackagesHelper #package_path creates package's path # [RSpecRunTime] Finishing example group spec/helpers/routing/packages_helper_spec.rb. It took 0.27 second. Expected to take 0.42 second. # [RSpecRunTime] Starting example group spec/lib/banzai/filter/html_entity_filter_spec.rb. Expected to take 0.41 second. Banzai::Filter::HtmlEntityFilter converts common entities to their HTML-escaped equivalents # [RSpecRunTime] Finishing example group spec/lib/banzai/filter/html_entity_filter_spec.rb. It took 0.24 second. Expected to take 0.41 second. # [RSpecRunTime] Starting example group spec/rubocop/cop/gitlab/change_timezone_spec.rb. Expected to take 0.4 second. RuboCop::Cop::Gitlab::ChangeTimezone Time.zone= registers an offense with no 2nd argument # [RSpecRunTime] Finishing example group spec/rubocop/cop/gitlab/change_timezone_spec.rb. It took 0.25 second. Expected to take 0.4 second. # [RSpecRunTime] Starting example group spec/lib/gitlab/action_cable/request_store_callbacks_spec.rb. Expected to take 0.39 second. Gitlab::ActionCable::RequestStoreCallbacks .wrapper enables RequestStore in the inner block # [RSpecRunTime] Finishing example group spec/lib/gitlab/action_cable/request_store_callbacks_spec.rb. It took 0.25 second. Expected to take 0.39 second. # [RSpecRunTime] Starting example group spec/tasks/gitlab/db/decomposition/migrate_rake_spec.rb. Missing expected duration from Knapsack report for spec/tasks/gitlab/db/decomposition/migrate_rake_spec.rb. gitlab:db:decomposition:migrate calls Gitlab::Database::Decomposition::Migrate#process! (PENDING: Skipping because database ci exists) when a Gitlab::Database::Decomposition::Migrate::Error is raised renders error (PENDING: Skipping because database ci exists) # [RSpecRunTime] Finishing example group spec/tasks/gitlab/db/decomposition/migrate_rake_spec.rb. It took 2.32 seconds. Missing expected duration from Knapsack report for spec/tasks/gitlab/db/decomposition/migrate_rake_spec.rb. # [RSpecRunTime] RSpec elapsed time: 17 minutes 58.15 seconds. Current RSS: ~1872M. load average: 1.28 1.17 1.23 1/292 13188 auto_explain log contains 1610 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-4-32.339.main.ndjson.gz took 16.541555363 auto_explain log contains 1611 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-4-32.339.ci.ndjson.gz took 16.064089988 [TEST PROF INFO] EventProf results for sql.active_record Total time: 03:21.558 of 17:53.994 (18.77%) Total events: 183386 Top 5 slowest suites (by time): Packages::GroupPackagesFinder (./spec/finders/packages/group_packages_finder_spec.rb:4) – 00:10.232 (8722 / 62) of 00:35.769 (28.61%) Projects::ForkService (./spec/services/projects/fork_service_spec.rb:5) – 00:10.012 (8218 / 45) of 00:40.271 (24.86%) Gitlab::Diff:...::LineStrategy (./spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb:5) – 00:09.780 (6914 / 46) of 01:07.005 (14.6%) Gitlab::Pagin...fsetPagination (./spec/lib/gitlab/pagination/offset_pagination_spec.rb:5) – 00:09.273 (7370 / 25) of 00:31.080 (29.84%) WorkItems::UpdateService (./spec/services/work_items/update_service_spec.rb:5) – 00:07.625 (6450 / 46) of 00:28.555 (26.7%) Knapsack report was generated. Preview: { "spec/lib/gitlab/middleware/path_traversal_check_spec.rb": 219.81218026600072, "spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb": 67.00561764200029, "spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb": 18.586482238000826, "spec/services/projects/fork_service_spec.rb": 40.27066802599984, "spec/finders/packages/group_packages_finder_spec.rb": 35.76870405199952, "spec/models/hooks/web_hook_spec.rb": 16.278185926999868, "spec/services/work_items/update_service_spec.rb": 28.555385677998856, "spec/lib/gitlab/pagination/offset_pagination_spec.rb": 31.079913716999727, "spec/lib/gitlab/closing_issue_extractor_spec.rb": 16.73579526999856, "spec/models/design_management/version_spec.rb": 19.780386815000384, "spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb": 23.204512291000356, "spec/policies/project_snippet_policy_spec.rb": 14.456632164999974, "spec/helpers/emails_helper_spec.rb": 12.644088962999376, "spec/graphql/mutations/merge_requests/set_locked_spec.rb": 22.0314767029995, "spec/helpers/diff_helper_spec.rb": 9.48969557899909, "spec/models/application_record_spec.rb": 17.778156282000054, "spec/lib/banzai/reference_parser/user_parser_spec.rb": 19.28546360600012, "spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb": 18.671538300000975, "spec/lib/gitlab/ci/templates/npm_spec.rb": 17.540622116001032, "spec/models/concerns/chronic_duration_attribute_spec.rb": 11.44098154600033, "spec/models/concerns/pg_full_text_searchable_spec.rb": 12.978861468000105, "spec/services/auto_merge_service_spec.rb": 14.40851147000103, "spec/services/projects/update_remote_mirror_service_spec.rb": 10.729211669999131, "spec/lib/gitlab/ci/config/entry/need_spec.rb": 5.219376820999969, "spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb": 11.71554814800038, "spec/models/container_expiration_policy_spec.rb": 6.539531993001219, "spec/graphql/mutations/discussions/toggle_resolve_spec.rb": 8.02546196000003, "spec/lib/gitlab/sql/pattern_spec.rb": 5.268184385000495, "spec/helpers/auth_helper_spec.rb": 3.800527157000033, "spec/serializers/diff_file_entity_spec.rb": 6.465503071000057, "spec/lib/gitlab/slash_commands/command_spec.rb": 10.694480463998843, "spec/rubocop/cop/rspec/misspelled_aggregate_failures_spec.rb": 3.4726463009992585, "spec/lib/banzai/filter/references/feature_flag_reference_filter_spec.rb": 4.990912584000398, "spec/services/projects/operations/update_service_spec.rb": 6.904229636000309, "spec/models/ci/build_trace_chunks/fog_spec.rb": 9.099366078999083, "spec/lib/gitlab/tracking_spec.rb": 3.8823118380005326, "spec/lib/banzai/pipeline/gfm_pipeline_spec.rb": 7.913532501999725, "spec/tasks/gitlab/artifacts/migrate_rake_spec.rb": 9.202360728999338, "spec/lib/gitlab/observability_spec.rb": 3.3230039660011244, "spec/models/ci_platform_metric_spec.rb": 5.935933746999581, "spec/models/protected_branch/merge_access_level_spec.rb": 3.9354857329999504, "spec/lib/gitlab/ci/status/build/retryable_spec.rb": 6.559417069000119, "spec/lib/gitlab/ci/build/context/global_spec.rb": 7.797448796000026, "spec/lib/gitlab_settings/options_spec.rb": 2.7939419579997775, "spec/services/security/ci_configuration/secret_detection_create_service_spec.rb": 5.110544450999441, "spec/lib/gitlab/sidekiq_middleware/client_metrics_spec.rb": 2.7561639549985557, "spec/lib/banzai/reference_redactor_spec.rb": 4.977219006001178, "spec/models/integrations/redmine_spec.rb": 3.561573930999657, "spec/finders/packages/maven/package_finder_spec.rb": 5.863608163999743, "spec/services/git/base_hooks_service_spec.rb": 4.032620562999, "spec/helpers/badges_helper_spec.rb": 2.4788796640004875, "spec/models/group_group_link_spec.rb": 3.699362077999467, "spec/services/projects/container_repository/cleanup_tags_service_spec.rb": 2.5831373329983762, "spec/models/prometheus_alert_spec.rb": 4.138708411999687, "spec/db/docs_spec.rb": 3.4676399919990217, "spec/lib/gitlab/internal_events_spec.rb": 2.5604551849992276, "spec/components/pajamas/badge_component_spec.rb": 2.1546817570015264, "spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb": 5.068613475999882, "spec/lib/sidebars/groups/menus/settings_menu_spec.rb": 2.762441695000234, "spec/models/board_group_recent_visit_spec.rb": 5.124610229999234, "spec/services/projects/group_links/update_service_spec.rb": 4.74890350899841, "spec/services/markup/rendering_service_spec.rb": 3.6100994470016303, "spec/lib/banzai/filter/asset_proxy_filter_spec.rb": 1.5931267750002007, "spec/lib/gitlab/database/partitioning/monthly_strategy_spec.rb": 2.3196221309990506, "spec/lib/gitlab/gl_repository/identifier_spec.rb": 1.7864734350005165, "spec/db/production/settings_spec.rb": 4.100209215999712, "spec/services/milestones/find_or_create_service_spec.rb": 4.07671703899905, "spec/lib/api/entities/project_import_status_spec.rb": 4.022752074000891, "spec/finders/releases/evidence_pipeline_finder_spec.rb": 3.067744062998827, "spec/lib/gitlab/ci/config/entry/port_spec.rb": 1.6613583580001432, "spec/tooling/lib/tooling/mappings/partial_to_views_mappings_spec.rb": 1.5234838919986942, "spec/rubocop/cop/rspec/factory_bot/inline_association_spec.rb": 1.525202831999195, "spec/sidekiq_cluster/sidekiq_cluster_spec.rb": 1.369158948000404, "spec/models/packages/npm/metadatum_spec.rb": 1.757600757999171, "spec/graphql/mutations/alert_management/update_alert_status_spec.rb": 2.341228007000609, "spec/workers/projects/inactive_projects_deletion_cron_worker_spec.rb": 2.7444582660009473, "spec/services/work_items/callbacks/description_spec.rb": 2.711583319998681, "spec/lib/gitlab/ci/pipeline/expression/lexeme/not_matches_spec.rb": 1.33259924199956, "spec/models/concerns/bulk_insertable_associations_spec.rb": 1.4044721749996825, "spec/models/ci/artifact_blob_spec.rb": 1.790702695001528, "spec/views/projects/diffs/_viewer.html.haml_spec.rb": 3.1009117599987803, "spec/lib/gitlab/database/load_balancing/rack_middleware_spec.rb": 1.1428114709997317, "spec/tasks/gitlab/feature_categories_rake_spec.rb": 4.200346264999098, "spec/policies/clusters/agents/activity_event_policy_spec.rb": 2.571878254000694, "spec/lib/bitbucket_server/connection_spec.rb": 1.2452182510005514, "spec/lib/gitlab/harbor/client_spec.rb": 1.366435829000693, "spec/graphql/mutations/security/ci_configuration/configure_sast_iac_spec.rb": 2.5467930159993557, "spec/graphql/mutations/users/set_namespace_commit_email_spec.rb": 2.785630651998872, "spec/models/users_statistics_spec.rb": 3.0189308280005207, "spec/services/security/ci_configuration/sast_parser_service_spec.rb": 2.256688936999126, "spec/lib/gitlab/database/reindexing/reindex_concurrently_spec.rb": 1.2452008010004647, "spec/graphql/resolvers/clusters/agent_tokens_resolver_spec.rb": 3.2654738830005954, "spec/models/merge_request_reviewer_spec.rb": 2.2729219350003405, "spec/lib/banzai/pipeline/incident_management/timeline_event_pipeline_spec.rb": 1.5602067090003402, "spec/workers/integrations/group_mention_worker_spec.rb": 2.0106508919998305, "spec/lib/json_web_token/rsa_token_spec.rb": 1.5387251909996849, "spec/lib/gitlab/github_import/importer/attachments/issues_importer_spec.rb": 1.185416037998948, "spec/rubocop/cop/graphql/id_type_spec.rb": 0.9496582619995024, "spec/models/packages/rpm/repository_file_spec.rb": 1.7017815040017013, "spec/graphql/mutations/todos/restore_spec.rb": 2.304683581998688, "spec/services/packages/debian/create_package_file_service_spec.rb": 1.1638110099993355, "spec/lib/gitlab/external_authorization/client_spec.rb": 1.0454498220005917, "spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb": 1.1177150450002955, "spec/lib/gitlab/ci/config/entry/include/rules_spec.rb": 0.975293909001266, "spec/lib/gitlab/ci/config/yaml/tags/reference_spec.rb": 1.0860730879994662, "spec/graphql/resolvers/container_repository_tags_resolver_spec.rb": 1.3565106400001241, "spec/graphql/resolvers/ci/group_runners_resolver_spec.rb": 2.1056702120004047, "spec/lib/gitlab/jira_import/issues_importer_spec.rb": 1.4133393739994062, "spec/models/snippet_input_action_collection_spec.rb": 0.6490904930014949, "spec/lib/gitlab/database/background_migration/batched_job_transition_log_spec.rb": 0.8018468070004019, "spec/models/abuse/user_trust_score_spec.rb": 1.2287592130014673, "spec/lib/sbom/package_url/normalizer_spec.rb": 0.7790287789994181, "spec/workers/update_highest_role_worker_spec.rb": 1.2776928880011837, "spec/graphql/resolvers/projects/services_resolver_spec.rb": 1.7817668259995116, "spec/lib/gitlab/analytics/usage_trends/workers_argument_builder_spec.rb": 1.3174729740003386, "spec/workers/authorized_project_update/user_refresh_from_replica_worker_spec.rb": 1.0119300959995599, "spec/services/work_items/callbacks/notifications_spec.rb": 1.651460319000762, "spec/lib/gitlab/hook_data/project_member_builder_spec.rb": 1.1903016369997204, "spec/services/personal_access_tokens/rotate_service_spec.rb": 0.8966747670001496, "spec/graphql/resolvers/group_milestones_resolver_spec.rb": 1.0560893310012034, "spec/views/admin/sessions/new.html.haml_spec.rb": 0.9651316999988921, "spec/lib/gitlab/database/query_analyzers/prevent_set_operator_mismatch_spec.rb": 0.8855935880001198, "spec/workers/projects/delete_branch_worker_spec.rb": 1.3009612759997253, "spec/lib/gitlab/string_placeholder_replacer_spec.rb": 0.48338999999941734, "spec/lib/gitlab/database/partitioning/int_range_strategy_spec.rb": 0.8999815570005012, "spec/services/packages/composer/composer_json_service_spec.rb": 1.918642421000186, "spec/graphql/types/container_repository_referrer_type_spec.rb": 0.49485079899932316, "spec/views/projects/settings/integrations/edit.html.haml_spec.rb": 1.5822152660002757, "spec/models/organizations/organization_detail_spec.rb": 1.0537243910002871, "spec/validators/ip_address_validator_spec.rb": 0.9163347449994035, "spec/lib/gitlab/branch_push_merge_commit_analyzer_spec.rb": 2.055300577001617, "spec/support_specs/helpers/keyset_pagination_helpers_spec.rb": 0.7146951959985017, "spec/services/branch_rules/update_service_spec.rb": 1.291107777000434, "spec/lib/gitlab/ci/status/scheduled_spec.rb": 0.5720286300002044, "spec/services/saved_replies/create_service_spec.rb": 0.750790952000898, "spec/tooling/lib/tooling/helpers/file_handler_spec.rb": 0.695954188999167, "spec/graphql/resolvers/ml/model_detail_resolver_spec.rb": 1.03271510400009, "spec/presenters/packages/composer/packages_presenter_spec.rb": 1.0535451020004984, "spec/rubocop/cop/graphql/enum_values_spec.rb": 0.5033603880001465, "spec/services/award_emojis/copy_service_spec.rb": 1.8021469539999089, "spec/lib/gitlab/code_navigation_path_spec.rb": 1.1000750759994844, "spec/services/projects/batch_open_issues_count_service_spec.rb": 1.2859230970007047, "spec/lib/gitlab/global_id/deprecations_spec.rb": 0.5289980260004086, "spec/lib/bulk_imports/common/pipelines/entity_finisher_spec.rb": 0.8164541829992231, "spec/services/terraform/states/trigger_destroy_service_spec.rb": 1.2856202089988074, "spec/models/concerns/safely_change_column_default_spec.rb": 0.7033799740001996, "spec/lib/bulk_imports/projects/pipelines/external_pull_requests_pipeline_spec.rb": 0.9448153109988198, "spec/rubocop/cop/rspec/factory_bot/local_static_assignment_spec.rb": 0.795272395000211, "spec/rubocop/cop/gitlab/keys_first_and_values_first_spec.rb": 0.5025486529993941, "spec/workers/database/monitor_locked_tables_worker_spec.rb": 0.622480710999298, "spec/services/ci/job_token_scope/add_group_or_project_service_spec.rb": 0.9961140759987757, "spec/components/pajamas/checkbox_tag_component_spec.rb": 0.5784873049997259, "spec/config/smime_signature_settings_spec.rb": 0.425338909999482, "spec/services/jira_connect_installations/destroy_service_spec.rb": 1.0297914929997205, "spec/bin/diagnostic_reports_uploader_spec.rb": 0.48691161399983685, "spec/lib/gitlab/usage/metrics/instrumentations/batched_background_migration_failed_jobs_metric_spec.rb": 0.3842133139987709, "spec/views/projects/merge_requests/creations/new.html.haml_spec.rb": 0.6029877439996199, "spec/services/projects/readme_renderer_service_spec.rb": 0.779653497000254, "spec/components/pajamas/breadcrumb_component_spec.rb": 0.41620238100040297, "spec/lib/gitlab/ci/config/entry/id_token_spec.rb": 0.6115885319995868, "spec/services/projects/forks_count_service_spec.rb": 0.567174617001001, "spec/lib/gitlab/usage/metrics/instrumentations/dormant_user_period_setting_metric_spec.rb": 1.0339739030005148, "spec/finders/vs_code/settings/settings_finder_spec.rb": 0.5824450950003666, "spec/services/achievements/update_user_achievement_priorities_service_spec.rb": 1.0156284239983506, "spec/workers/google_cloud/create_cloudsql_instance_worker_spec.rb": 1.0262681229996815, "spec/rubocop/cop/gitlab/event_store_subscriber_spec.rb": 0.5570062579990918, "spec/lib/gitlab/git/lfs_changes_spec.rb": 0.7962223849990551, "spec/serializers/ci/dag_stage_entity_spec.rb": 0.8949967560001824, "spec/lib/gitlab/view/presenter/factory_spec.rb": 0.5120299810005235, "spec/presenters/packages/nuget/v2/service_index_presenter_spec.rb": 0.5215576709997549, "spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb": 1.0185976440006925, "spec/models/concerns/presentable_spec.rb": 0.41214173099979234, "spec/rubocop/cop/rspec/shared_groups_metadata_spec.rb": 0.4954618740011938, "spec/models/work_items/widgets/notifications_spec.rb": 0.741788250999889, "spec/initializers/cookies_serializer_spec.rb": 0.3019576810002036, "spec/lib/gitlab/ci/mask_secret_spec.rb": 0.4886837640005979, "spec/lib/gitlab/usage_data_counters/source_code_counter_spec.rb": 0.544842379000329, "spec/lib/generators/batched_background_migration/batched_background_migration_generator_spec.rb": 0.48677300400049717, "spec/graphql/resolvers/concerns/resolves_groups_spec.rb": 0.8958479159991839, "spec/services/webauthn/authenticate_service_spec.rb": 0.5557674679985212, "spec/lib/gitlab/auth/blocked_user_tracker_spec.rb": 0.4096851609992882, "spec/services/pages_domains/delete_service_spec.rb": 0.7346980699985579, "spec/lib/gitlab/pagination/keyset/in_operator_optimization/strategies/order_values_loader_strategy_spec.rb": 0.352555436998955, "spec/lib/gitlab/batch_worker_context_spec.rb": 0.31869035999989137, "spec/views/devise/confirmations/almost_there.html.haml_spec.rb": 0.4386927289997402, "spec/workers/update_external_pull_requests_worker_spec.rb": 0.7020873040000879, "spec/lib/api/entities/ml/mlflow/search_runs_spec.rb": 0.46459285600030853, "spec/graphql/types/ci/config/group_type_spec.rb": 0.29675326199867413, "spec/graphql/resolvers/metrics/dashboards/annotation_resolver_spec.rb": 0.8237475019996054, "spec/initializers/rails_yaml_safe_load_spec.rb": 0.5448395180010266, "spec/lib/generators/gitlab/usage_metric_definition/redis_hll_generator_spec.rb": 0.39898315299979004, "spec/models/discussion_note_spec.rb": 0.40648783199867466, "spec/routing/notifications_routing_spec.rb": 0.3569313759999204, "spec/serializers/admin/reported_content_entity_spec.rb": 0.382690703998378, "spec/lib/gitlab/memory/diagnostic_reports_logger_spec.rb": 0.23634909800057358, "spec/workers/gitlab/github_import/attachments/import_merge_request_worker_spec.rb": 0.6487357090009027, "spec/lib/sidebars/organizations/menus/scope_menu_spec.rb": 0.31518882000091253, "spec/graphql/types/issue_status_count_type_spec.rb": 0.31013386100130447, "spec/rubocop/cop/migration/with_lock_retries_with_change_spec.rb": 0.3927207830001862, "spec/graphql/types/projects/service_type_spec.rb": 0.35511238599974604, "spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb": 0.3425423980006599, "spec/graphql/types/tree/tree_entry_type_spec.rb": 0.30151342200042563, "spec/graphql/types/work_items/widgets/current_user_todos_input_type_spec.rb": 0.305992811001488, "spec/graphql/types/issue_type_enum_spec.rb": 0.30360260199995537, "spec/graphql/types/jira_import_type_spec.rb": 0.306617461001224, "spec/scripts/generate_failed_package_and_test_mr_message_spec.rb": 0.3037623510008416, "spec/graphql/types/ci_configuration/sast/ui_component_size_enum_spec.rb": 0.3174630800003797, "spec/lib/bulk_imports/groups/extractors/subgroups_extractor_spec.rb": 0.41450998000073014, "spec/views/layouts/_published_experiments.html.haml_spec.rb": 0.32518339899979765, "spec/lib/sidebars/uncategorized_menu_spec.rb": 0.23242034800023248, "spec/graphql/types/packages/maven/metadatum_type_spec.rb": 0.24250661699988996, "spec/lib/gitlab/nav/top_nav_menu_item_spec.rb": 0.289233632000105, "spec/graphql/types/ci/pipeline_trigger_type_spec.rb": 0.24431234700023197, "spec/initializers/sidekiq_spec.rb": 0.23628916699999536, "spec/helpers/routing/packages_helper_spec.rb": 0.267184365000503, "spec/lib/banzai/filter/html_entity_filter_spec.rb": 0.24290697700052988, "spec/rubocop/cop/gitlab/change_timezone_spec.rb": 0.24504453699955775, "spec/lib/gitlab/action_cable/request_store_callbacks_spec.rb": 0.2459719969992875 } Knapsack global time execution for tests: 17m 51s Pending: (Failures listed here are expected and do not affect your suite's status) 1) Gitlab::GlRepository::Identifier project repository https://gitlab.com/gitlab-org/gitlab/-/issues/219192 # No reason given Failure/Error: it_behaves_like 'parsing gl_repository identifier' do let(:record_id) { project.id } let(:identifier) { "project-#{record_id}-code" } let(:expected_container) { project } let(:expected_type) { Gitlab::GlRepository::PROJECT } end `it_behaves_like` is not available from within an example (e.g. an `it` block) or from constructs that run in the scope of an example (e.g. `before`, `let`, etc). It is only available on an example group (e.g. a `describe` or `context` block). raise WrongScopeError, ^^^^^ # ./gems/gitlab-rspec/lib/gitlab/rspec/next_found_instance_of.rb:9:in `method_missing' # ./spec/lib/gitlab/gl_repository/identifier_spec.rb:19:in `block (3 levels) in <top (required)>' # ./spec/spec_helper.rb:437:in `block (3 levels) in <top (required)>' # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware' # ./spec/spec_helper.rb:428:in `block (2 levels) in <top (required)>' # ./spec/spec_helper.rb:424:in `block (3 levels) in <top (required)>' # ./lib/gitlab/application_context.rb:68:in `with_raw_context' # ./spec/spec_helper.rb:424:in `block (2 levels) in <top (required)>' # ./spec/spec_helper.rb:275:in `block (2 levels) in <top (required)>' # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>' # ./spec/support/fast_quarantine.rb:22:in `block (2 levels) in <top (required)>' # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>' # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented' # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>' 2) Organizations::OrganizationDetail with uploads behaves like model with uploads .destroy with not mounted uploads with local files deletes any FileUploader uploads which are not mounted # No reason given # ./spec/support/shared_examples/models/with_uploads_shared_examples.rb:23 3) Organizations::OrganizationDetail with uploads behaves like model with uploads .destroy with not mounted uploads with local files deletes local files # No reason given # ./spec/support/shared_examples/models/with_uploads_shared_examples.rb:27 4) Organizations::OrganizationDetail with uploads behaves like model with uploads .destroy with not mounted uploads with remote files deletes any FileUploader uploads which are not mounted # No reason given # ./spec/support/shared_examples/models/with_uploads_shared_examples.rb:37 5) Organizations::OrganizationDetail with uploads behaves like model with uploads .destroy with not mounted uploads with remote files deletes remote files # No reason given # ./spec/support/shared_examples/models/with_uploads_shared_examples.rb:41 6) Database::MonitorLockedTablesWorker#perform when running with single database skips executing the job # Skipping because database ci exists # ./spec/workers/database/monitor_locked_tables_worker_spec.rb:15 7) gitlab:db:decomposition:migrate calls Gitlab::Database::Decomposition::Migrate#process! # Skipping because database ci exists # ./spec/tasks/gitlab/db/decomposition/migrate_rake_spec.rb:20 8) gitlab:db:decomposition:migrate when a Gitlab::Database::Decomposition::Migrate::Error is raised renders error # Skipping because database ci exists # ./spec/tasks/gitlab/db/decomposition/migrate_rake_spec.rb:35 Failures: 1) Gitlab::Database::Partitioning::IntRangeStrategy simulates the merge_request_diff_commits partition creation redirects to the new partition Failure/Error: model.create!(merge_request_diff_id: 1, relative_order: 1, created_at: Time.zone.now) # Goes in partition 1 ActiveModel::UnknownAttributeError: unknown attribute 'merge_request_diff_id' for #<Class:0x00007a0339a76488>. raise UnknownAttributeError.new(self, k.to_s) ^^^^^ # ./gems/activerecord-gitlab/lib/active_record/gitlab_patches/rescue_from.rb:40:in `_assign_attributes' # ./spec/lib/gitlab/database/partitioning/int_range_strategy_spec.rb:292:in `block (4 levels) in <top (required)>' # ./spec/lib/gitlab/database/partitioning/int_range_strategy_spec.rb:291:in `block (3 levels) in <top (required)>' # ./spec/spec_helper.rb:437:in `block (3 levels) in <top (required)>' # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware' # ./spec/spec_helper.rb:428:in `block (2 levels) in <top (required)>' # ./spec/spec_helper.rb:424:in `block (3 levels) in <top (required)>' # ./lib/gitlab/application_context.rb:68:in `with_raw_context' # ./spec/spec_helper.rb:424:in `block (2 levels) in <top (required)>' # ./spec/spec_helper.rb:275:in `block (2 levels) in <top (required)>' # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>' # ./spec/support/fast_quarantine.rb:22:in `block (2 levels) in <top (required)>' # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>' # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented' # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>' Finished in 18 minutes 31 seconds (files took 51.85 seconds to load) 5973 examples, 1 failure, 8 pending Failed examples: rspec ./spec/lib/gitlab/database/partitioning/int_range_strategy_spec.rb:285 # Gitlab::Database::Partitioning::IntRangeStrategy simulates the merge_request_diff_commits partition creation redirects to the new partition Randomized with seed 38722 Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected [TEST PROF INFO] Time spent in factories: 05:35.039 (29.86% of total time) [0;33mRSpec exited with 1. [0m[job-metrics] Updating job metrics tag for the CI/CD job. [0;33mRSPEC_RETRIED_TESTS_REPORT_PATH: rspec/retried_tests-6218670763.txt [0m[0;33mRetrying the failing examples in a new RSpec process... [0m[0;32m$ gem install junit_merge --no-document --version 0.1.2 [0mSuccessfully installed nokogiri-1.16.2-x86_64-linux Successfully installed junit_merge-0.1.2 2 gems installed [0;32m==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 1 seconds. [0m[0;33mRunning RSpec command: bin/rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format Support::Formatters::JsonFormatter --out rspec/rspec-retry-6218670763.json --format RspecJunitFormatter --out rspec/rspec-retry-6218670763.xml --only-failures --pattern "spec/{bin,channels,components,config,contracts,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,keeps,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling,dot_gitlab_ci}{,/**/}*_spec.rb" [0mRun options: include {:last_run_status=>"failed"} # [RSpecRunTime] Starting RSpec timer... [TEST PROF INFO] EventProf enabled (sql.active_record) unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String. unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String. Test environment set up in 0.473234236 seconds # [RSpecRunTime] Starting example group spec/lib/gitlab/database/partitioning/int_range_strategy_spec.rb. Expected to take 2.92 seconds. Gitlab::Database::Partitioning::IntRangeStrategy simulates the merge_request_diff_commits partition creation redirects to the new partition # [RSpecRunTime] Finishing example group spec/lib/gitlab/database/partitioning/int_range_strategy_spec.rb. It took 1.34 seconds. Expected to take 2.92 seconds. auto_explain log contains 1613 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-4-32.13205.main.ndjson.gz took 16.102612624 auto_explain log contains 1613 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-4-32.13205.ci.ndjson.gz took 16.14165386 [TEST PROF INFO] EventProf results for sql.active_record Total time: 00:00.295 of 00:01.338 (22.06%) Total events: 153 Top 5 slowest suites (by time): Gitlab::Datab...tRangeStrategy (./spec/lib/gitlab/database/partitioning/int_range_strategy_spec.rb:5) – 00:00.295 (153 / 1) of 00:01.338 (22.06%) Finished in 37.92 seconds (files took 46.89 seconds to load) 1 example, 0 failures Randomized with seed 249 [TEST PROF INFO] Time spent in factories: 00:00.019 (0.05% of total time) Loading rspec/rspec-6218670763.json... Merged rspec/rspec-retry-6218670763.json adding 5 results. Saved rspec/rspec-6218670763.json. [0;33mA test was flaky and succeeded after being retried. Checking to see if flaky test is part of this MR... [0m[0;33mFlaky test was not part of this MR. [0msection_end:1708472388:step_script [0Ksection_start:1708472388:after_script [0K[0K[36;1mRunning after_script[0;m[0;m [32;1mRunning after script...[0;m [32;1m$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"[0;m [0Ksection_start:1708472388:report_results_section[collapsed=true] [0KReport results [32;1m$ bundle exec gem list gitlab_quality-test_tooling[0;m gitlab_quality-test_tooling (1.15.0) [32;1m$ if [ "$CREATE_RAILS_TEST_FAILURE_ISSUES" == "true" ]; then # collapsed multi-line command[0;m Reporting test failures in `rspec/rspec-*.json` as issues in project `gitlab-org/gitlab` via the API at `https://gitlab.com/api/v4`. => Reporting 1 tests in rspec/rspec-6218670763.json => Reporting 1 tests in rspec/rspec-retry-6218670763.json Reporting slow tests in `rspec/rspec-*.json` as issues in project `gitlab-org/gitlab` via the API at `https://gitlab.com/api/v4`. => Reporting 1 tests in rspec/rspec-6218670763.json => Reporting 1 tests in rspec/rspec-retry-6218670763.json Reporting spec file exceeding Knapsack expectaton issues in project `gitlab-org/gitlab` via the API at `https://gitlab.com/api/v4`. => Reporting 0 spec files exceeding Knapsack expectation. [32;1m$ echo -e "\e[0Ksection_end:`date +%s`:report_results_section\r\e[0K"[0;m [0Ksection_end:1708472393:report_results_section [0K [32;1m$ tooling/bin/push_job_metrics || true[0;m [job-metrics] Pushing job metrics file for the CI/CD job. [job-metrics] Pushed 4 CI job metric entries to InfluxDB. section_end:1708472394:after_script [0Ksection_start:1708472394:archive_cache [0K[0K[36;1mSaving cache for successful job[0;m[0;m [32;1mNot uploading cache ruby-gems-debian-bookworm-ruby-3.1-16 due to policy[0;m section_end:1708472395:archive_cache [0Ksection_start:1708472395:upload_artifacts_on_success [0K[0K[36;1mUploading artifacts for successful job[0;m[0;m [32;1mUploading artifacts...[0;m auto_explain/: found 5 matching artifact files and directories[0;m coverage/: found 4 matching artifact files and directories[0;m [0;33mWARNING: crystalball/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab)[0;m [0;33mWARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab)[0;m knapsack/: found 4 matching artifact files and directories[0;m rspec/: found 15 matching artifact files and directories[0;m [0;33mWARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab)[0;m log/*.log: found 17 matching artifact files and directories[0;m [0;33mWARNING: Upload request redirected [0;m [0;33mlocation[0;m=https://gitlab.com/api/v4/jobs/6218670763/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d [0;33mnew-url[0;m=https://gitlab.com [0;33mWARNING: Retrying... [0;m [0;33mcontext[0;m=artifacts-uploader [0;33merror[0;m=request redirected Uploading artifacts as "archive" to coordinator... 201 Created[0;m id[0;m=6218670763 responseStatus[0;m=201 Created token[0;m=glcbt-65 [32;1mUploading artifacts...[0;m rspec/rspec-*.xml: found 2 matching artifact files and directories[0;m [0;33mWARNING: Upload request redirected [0;m [0;33mlocation[0;m=https://gitlab.com/api/v4/jobs/6218670763/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d [0;33mnew-url[0;m=https://gitlab.com [0;33mWARNING: Retrying... [0;m [0;33mcontext[0;m=artifacts-uploader [0;33merror[0;m=request redirected Uploading artifacts as "junit" to coordinator... 201 Created[0;m id[0;m=6218670763 responseStatus[0;m=201 Created token[0;m=glcbt-65 section_end:1708472400:upload_artifacts_on_success [0Ksection_start:1708472400:cleanup_file_variables [0K[0K[36;1mCleaning up project directory and file based variables[0;m[0;m section_end:1708472400:cleanup_file_variables [0K[32;1mJob succeeded[0;m