rspec unit pg14 22/24
Passed Started
by
@seggenberger

Sascha Eggenberger
1WARNING: Shared example group 'does not expose relationship' has been previously defined at:2 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:333...and you are now defining it at:4 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:335The new definition will overwrite the original one.6WARNING: Shared example group 'exposes relationship' has been previously defined at:7 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:398...and you are now defining it at:9 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:3910The new definition will overwrite the original one.11WARNING: Shared example group 'does not expose relationship' has been previously defined at:12 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:3313...and you are now defining it at:14 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:3315The new definition will overwrite the original one.16WARNING: Shared example group 'exposes relationship' has been previously defined at:17 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:3918...and you are now defining it at:19 /builds/gitlab-org/gitlab/spec/lib/api/entities/user_spec.rb:3920The new definition will overwrite the original one.21Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true, :real_ai_request=>true}22unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.23unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.24Test environment set up in 0.967710782 seconds25Glfm::UpdateExampleSnapshots#process26 glfm_example_status.yml27 when skip_update_example_snapshots entry is truthy28 still writes the example to examples_index.yml29 still writes the example to markdown.yml30 when any other skip_update_example_snapshot_* is also truthy31 raises an error32 writing examples_index.yml33 writes the correct content34 with full processing of static and WYSIWYG HTML35 manually-curated input specification config files36 can be empty37 writing html.yml and prosemirror_json.yml38 writes the correct content39 writing markdown.yml40 writes the correct content41 error handling when manually-curated input specification config files contain invalid example names:42 for glfm_example_status.yml43 raises error44 for glfm_example_metadata.yml45 raises error46 for glfm_example_normalizations.yml47 raises error48Gitlab::Asciidoc49 without project50 converts the input using Asciidoctor and default options51 with asciidoc_opts52 merges the options with default ones53 with requested path54 ignores {docname} when not available55 sets {docname} for root56 sets {docname} for just a filename57 sets {docname} for a directory58 sets {docname} for a complete path59 XSS60 does not convert dangerous link with extra attribute into HTML61 does not convert dangerous link with unsafe scheme into HTML62 does not convert dangerous image with onerror into HTML63asciidoctor: WARNING: <stdin>: line 1: unterminated listing block64 does not convert dangerous fenced code with inline script into HTML65 does not allow locked attributes to be overridden66 images67 does lazy load and link image68 does not automatically link image if link is explicitly defined69 with admonition70 preserves classes71 with passthrough72 removes non heading ids73 removes non footnote def ids74 removes non footnote ref ids75 with footnotes76 preserves ids and links77 with section anchors78 preserves ids and links79 with xrefs80 preserves ids81 with checklist82 preserves classes83 with marks84 preserves classes85 with fenced block86 highlights syntax87 with listing block88 highlights syntax89 with stem block90 does not apply syntax highlighting91 external links92 adds the `rel` attribute to the link93 LaTex code94 adds class js-render-math to the output95 outfilesuffix96 defaults to adoc97 with mermaid diagrams98 adds class js-render-mermaid to the output99 applies subs in diagram block100 with Kroki enabled101 converts a graphviz diagram to image102 does not convert a blockdiag diagram to image103 does not allow kroki-plantuml-include to be overridden104 does not allow kroki-server-url to be overridden105 with Kroki and BlockDiag (additional format) enabled106 converts a blockdiag diagram to image107 with project108 include directive109 cyclic imports110 completes successfully111 with path to non-existing file112 renders Unresolved directive placeholder113 with path to a binary file114 does not read the blob115 renders Unresolved directive placeholder116 with path to file in external storage117 does not read the blob118 renders Unresolved directive placeholder119 with a URI that returns 404120 renders Unresolved directive placeholder121 with path to a textual file122 when requested path is a file in the repo123 the file is specified by absolute path124 includes content of the file125 the file is specified by relative path126 includes content of the file127 the file is specified by relative path with leading ./128 includes content of the file129 the file is specified by relative path to a file up one directory130 includes content of the file131 the file is specified by relative path for a file up multiple directories132 includes content of the file133 without a commit (only ref)134 the file is specified by absolute path135 includes content of the file136 the file is specified by relative path137 includes content of the file138 the file is specified by relative path with leading ./139 includes content of the file140 the file is specified by relative path to a file up one directory141 includes content of the file142 the file is specified by relative path for a file up multiple directories143 includes content of the file144 when requested path is a directory in the repo145 the file is specified by absolute path146 includes content of the file147 the file is specified by relative path148 includes content of the file149 the file is specified by relative path with leading ./150 includes content of the file151 the file is specified by relative path to a file up one directory152 includes content of the file153 the file is specified by relative path for a file up multiple directories154 includes content of the file155 without a commit (only ref)156 the file is specified by absolute path157 includes content of the file158 the file is specified by relative path159 includes content of the file160 the file is specified by relative path with leading ./161 includes content of the file162 the file is specified by relative path to a file up one directory163 includes content of the file164 the file is specified by relative path for a file up multiple directories165 includes content of the file166 when repository is passed into the context167 when the file exists168 is expected to include "<p>Content from wiki</p>"169 when the file does not exist170 is expected to include "[ERROR: include::wiki_file.adoc[] - unresolved directive]"171 the effect of max-includes172 includes the content of all sources173 when the document includes more than MAX_INCLUDES174 includes only the content of the first 2 sources175 recursive includes with relative paths176 includes content of the included files recursively177Clusters::Platforms::Kubernetes178 is expected to belong to cluster required: false179 is expected to be a kind of Gitlab::Kubernetes180 is expected to respond to #ca_pem181 is expected to validate that :namespace is not ‹"gitlab-managed-apps"›182 is expected to validate that :api_url cannot be empty/falsy183 is expected to validate that :token cannot be empty/falsy184 is expected to delegate #enabled? to the #cluster object185 is expected to delegate #provided_by_user? to the #cluster object186 is expected to nullify if blank :namespace187 behaves like having unique enum values188 has unique values in "authorization_type"189 default values190 is expected to eq "rbac"191 before_validation192 when namespace includes upper case193 converts to lower case194 validation195 when validates namespace196 when namespace is nil197 is expected to be truthy198 when namespace is longer than 63199 is expected to be falsey200 when namespace includes invalid character201 is expected to be falsey202 when namespace is vaild203 is expected to be truthy204 for group cluster205 is expected to be falsey206 when validates api_url207 when api_url is invalid url208 is expected to be falsey209 when api_url is nil210 is expected to be falsey211 when api_url is valid url212 is expected to be truthy213 when api_url is localhost214 is expected to be falsey215 Application settings allows local requests216 is expected to be truthy217 when validates token218 when token is nil219 is expected to be falsey220 ca_cert221 with a valid certificate222 is expected to be truthy223 with an invalid certificate224 is expected to be falsey225 but the certificate is not being updated226 is expected to be truthy227 with no certificate228 is expected to be truthy229 when using reserved namespaces230 when no namespace is manually assigned231 is expected to be valid232 when no reserved namespace is assigned233 is expected to be valid234 when reserved namespace is assigned235 is expected not to be valid236 #kubeclient237 is expected to be an instance of Gitlab::Kubernetes::KubeClient238 ca_pem is a single certificate239 adds it to cert_store240 ca_pem is a chain241 fixture_path: "spec/fixtures/clusters/root_certificate.pem"242 includes chain of certificates243 fixture_path: "spec/fixtures/clusters/intermediate_certificate.pem"244 includes chain of certificates245 fixture_path: "spec/fixtures/clusters/leaf_certificate.pem"246 includes chain of certificates247 #rbac?248 is expected to be truthy249 #predefined_variables250 is expected to include {:key => "KUBE_URL", :value => "https://kubernetes.example.com", :public => true}251 platform has a CA certificate252 is expected to include {:key => "KUBE_CA_PEM", :value => "-----BEGIN CERTIFICATE-----\nMIIFtTCCA52gAwIBAgIJAOutg3Kf2y5dMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTcxMDI5MTgxOTU3WhcNMTgxMDI5MTgxOTU3WjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\nCgKCAgEAvQysroM3TLxaavadSPnFIltrYnxCnU4PvCR8971HMWXsq7Z4ShU4BbbE\n8yp7oUFjulSwW6DhdIvnQb8ihLKictLmrA0isQqrD/iNpKZ6/lI4DGWw4QzrvMnW\nV4yy2QZNpg9tzQHd4+xkeeIoG23RijDU/sPd5dqxF+rPHBfCVInmYvSzLvMhneNj\nBt6gV02gU9e9hsnMatsDvEbvWKp7wcbPot0nWrfZulx2QAWyXy+zG9mJQUds6yc0\n4agAeT9JEb/xtRgR/kS0aUHSGnfSnhZiEn17s0PhTmbu7qSHgzgB+7oJrC9jPoUh\nS2Wo3n0xykAjHrA8wC/Ddw3L38S41VQ58GEfNchistPswyMmXo/Oenv9P3s/kCOI\nfndiksFNdqVo51y9Vjngj589hpOseFDyKmWPIEQZ9kxW/crjP6RZWWLHgz26KtxZ\nuJaoYL8VBbYfrk/bucw0Ma2GEOp8rTsBE7SvgejXZa78q+381Kzc/utW6VwSXqzY\nxeIitft0rXi17SZ+XoiTkIXtHn0ZwMtOXNDBADTpFmKa6wVACQilvcpOYD8gUHyH\npB+EDRdST3M4Fiq1MBAVhk8Lj3tHSJ/1ymeF1PWSu57AnJlzerzq2fcfPotNNd37\nZPNkPh0kxPLwxbAyrHflzx9qVVdI1irY9055mNSnhzlec4qJ9cECAwEAAaOBpzCB\npDAdBgNVHQ4EFgQUnVa5dYPoIG/3+qXml0bX8+N16GwwdQYDVR0jBG4wbIAUnVa5\ndYPoIG/3+qXml0bX8+N16GyhSaRHMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpT\nb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGSCCQDr\nrYNyn9suXTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4ICAQAUg4cyxXi1\nVR8ejTpaAruRyJ1pEG9Kc3kiIRXODy60z3hJXnx9LkScPkWGiuL5XacfZ2rMd4bw\noVXIyi8U1UHWfAH8EZdrFKkU92jCiL5soHUONxLAvQEJ/FTR/qijrpzLCxXBdVQE\nxFEDWUu6rxLFyjEwzwnRTLgpjR606fdb7qXHkuAMvZ/ezJj8j97hok3Odpn4lr2H\n6hMTpK7HmDBX+kmdJJ+yBrm9hG1Pzpl7QU0dkxZ+qJNFjYMLnziiTwkv0c5ZaA9E\nNykZUcOv3Sjb6spu1A/E2BSq4WTjkIjrogFlfimE1vmUmObTRJOqUB0Vky1kHEwN\npg7QqIJQmof1EAIaSM/YpUWXyumBwGLDUEud1JUz05In9Q4IZjEwZSJwbQW4fUia\nA93m9rk3Lw3xsFcaUdPMFIXk0rPoF1IgmV/oqb0gK95lOWRLbN+AV8qpKPpcKXOc\nTkIdFE47ZisEDhIdF6wC1izEMLeMEsPAO7/Y6MY4nRxsinSe95lRaw+yQpzx+mvJ\nQ7n1kiHI9Pd5M3+CiQda0d/GO1o5ORJnUGJRvr9HKuNmE7Lif0As/N0AlywjzE7A\n6Z8AEiWyRV1ffshu1k2UKmzvZuZeGGKRtrIjbJIRAtpRVtVZZGzhq5/sojCLoJ+u\ntexqFBUo/4mFRZa4pDItUdyOlDy2/LO/ag==\n-----END CERTIFICATE-----", :public => true}253 is expected to include {:key => "KUBE_CA_PEM_FILE", :value => "-----BEGIN CERTIFICATE-----\nMIIFtTCCA52gAwIBAgIJAOutg3Kf2y5dMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTcxMDI5MTgxOTU3WhcNMTgxMDI5MTgxOTU3WjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\nCgKCAgEAvQysroM3TLxaavadSPnFIltrYnxCnU4PvCR8971HMWXsq7Z4ShU4BbbE\n8yp7oUFjulSwW6DhdIvnQb8ihLKictLmrA0isQqrD/iNpKZ6/lI4DGWw4QzrvMnW\nV4yy2QZNpg9tzQHd4+xkeeIoG23RijDU/sPd5dqxF+rPHBfCVInmYvSzLvMhneNj\nBt6gV02gU9e9hsnMatsDvEbvWKp7wcbPot0nWrfZulx2QAWyXy+zG9mJQUds6yc0\n4agAeT9JEb/xtRgR/kS0aUHSGnfSnhZiEn17s0PhTmbu7qSHgzgB+7oJrC9jPoUh\nS2Wo3n0xykAjHrA8wC/Ddw3L38S41VQ58GEfNchistPswyMmXo/Oenv9P3s/kCOI\nfndiksFNdqVo51y9Vjngj589hpOseFDyKmWPIEQZ9kxW/crjP6RZWWLHgz26KtxZ\nuJaoYL8VBbYfrk/bucw0Ma2GEOp8rTsBE7SvgejXZa78q+381Kzc/utW6VwSXqzY\nxeIitft0rXi17SZ+XoiTkIXtHn0ZwMtOXNDBADTpFmKa6wVACQilvcpOYD8gUHyH\npB+EDRdST3M4Fiq1MBAVhk8Lj3tHSJ/1ymeF1PWSu57AnJlzerzq2fcfPotNNd37\nZPNkPh0kxPLwxbAyrHflzx9qVVdI1irY9055mNSnhzlec4qJ9cECAwEAAaOBpzCB\npDAdBgNVHQ4EFgQUnVa5dYPoIG/3+qXml0bX8+N16GwwdQYDVR0jBG4wbIAUnVa5\ndYPoIG/3+qXml0bX8+N16GyhSaRHMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpT\nb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGSCCQDr\nrYNyn9suXTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4ICAQAUg4cyxXi1\nVR8ejTpaAruRyJ1pEG9Kc3kiIRXODy60z3hJXnx9LkScPkWGiuL5XacfZ2rMd4bw\noVXIyi8U1UHWfAH8EZdrFKkU92jCiL5soHUONxLAvQEJ/FTR/qijrpzLCxXBdVQE\nxFEDWUu6rxLFyjEwzwnRTLgpjR606fdb7qXHkuAMvZ/ezJj8j97hok3Odpn4lr2H\n6hMTpK7HmDBX+kmdJJ+yBrm9hG1Pzpl7QU0dkxZ+qJNFjYMLnziiTwkv0c5ZaA9E\nNykZUcOv3Sjb6spu1A/E2BSq4WTjkIjrogFlfimE1vmUmObTRJOqUB0Vky1kHEwN\npg7QqIJQmof1EAIaSM/YpUWXyumBwGLDUEud1JUz05In9Q4IZjEwZSJwbQW4fUia\nA93m9rk3Lw3xsFcaUdPMFIXk0rPoF1IgmV/oqb0gK95lOWRLbN+AV8qpKPpcKXOc\nTkIdFE47ZisEDhIdF6wC1izEMLeMEsPAO7/Y6MY4nRxsinSe95lRaw+yQpzx+mvJ\nQ7n1kiHI9Pd5M3+CiQda0d/GO1o5ORJnUGJRvr9HKuNmE7Lif0As/N0AlywjzE7A\n6Z8AEiWyRV1ffshu1k2UKmzvZuZeGGKRtrIjbJIRAtpRVtVZZGzhq5/sojCLoJ+u\ntexqFBUo/4mFRZa4pDItUdyOlDy2/LO/ag==\n-----END CERTIFICATE-----", :public => true, :file => true}254 cluster is managed by project255 is expected to include {:key => "KUBE_TOKEN", :value => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", :public => false, :masked => true}256 is expected to include {:key => "KUBE_NAMESPACE", :value => "kubernetes-namespace"}257 is expected to include {:key => "KUBECONFIG", :value => "kubeconfig", :public => false, :file => true}258 kubernetes namespace exists259 is expected to include {:key => :fake_key, :value => "fake_value"}260 kubernetes namespace does not exist261 is expected not to include {:key => "KUBE_TOKEN", :value => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", :public => false, :masked => true}262 is expected not to include {:key => "KUBE_NAMESPACE", :value => "kubernetes-namespace"}263 is expected not to include {:key => "KUBECONFIG", :value => "kubeconfig", :public => false, :file => true}264 cluster is unmanaged265 is expected to include {:key => "KUBE_TOKEN", :value => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", :public => false, :masked => true}266 is expected to include {:key => "KUBE_NAMESPACE", :value => "kubernetes-namespace"}267 is expected to include {:key => "KUBECONFIG", :value => "kubeconfig", :public => false, :file => true}268 custom namespace is provided269 is expected to include {:key => "KUBE_TOKEN", :value => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", :public => false, :masked => true}270 is expected to include {:key => "KUBE_NAMESPACE", :value => "custom-namespace"}271 is expected to include {:key => "KUBECONFIG", :value => "kubeconfig", :public => false, :file => true}272 cluster variables273 is expected to include {:key => :fake_key, :value => "fake_value"}274 #terminals275 with invalid pods276 returns no terminals277 with valid pods278 returns terminals279 uses max session time from settings280 #calculate_reactive_cache_for281 when kubernetes responds with valid deployments282 on a project level cluster283 is expected to include {:pods => [{"metadata" => {"name" => "kube-pod", "generateName" => "generated-name-with-suffix", "creationTimestamp" => "2016-11-25T19:55:19Z", "annotations" => {"app.gitlab.com/env" => "production", "app.gitlab.com/app" => "project-path-slug"}, "labels" => {}}, "spec" => {"containers" => [{"name" => "container-0"}, {"name" => "container-0-1"}]}, "status" => {"phase" => "Running"}}], :deployments => [{"metadata" => {"name" => "kube-deployment", "generation" => 4, "annotations" => {"app.gitlab.com/env" => "production", "app.gitlab.com/app" => "project-path-slug"}, "labels" => {}}, "spec" => {"replicas" => 3}, "status" => {"observedGeneration" => 4}}], :ingresses => [{"metadata" => {"name" => "production-auto-deploy", "labels" => {"app" => "production", "app.kubernetes.io/managed-by" => "Helm", "chart" => "auto-deploy-app-2.0.0-beta.2", "heritage" => "Helm", "release" => "production"}, "annotations" => {"kubernetes.io/ingress.class" => "nginx", "kubernetes.io/tls-acme" => "true", "meta.helm.sh/release-name" => "production", "meta.helm.sh/release-namespace" => "awesome-app-1-production"}}}]}284 when reading ingress raises NoMethodError285 when version request succeeds286 when server min version is < 23287 does not raise error288 returns empty array for the K8s component keys289 when server min version is >= 23290 does raise error291 when the version request fails292 tracks error and returns empty arrays293 on a group level cluster294 is expected to include {:pods => [{"metadata" => {"name" => "kube-pod", "generateName" => "generated-name-with-suffix", "creationTimestamp" => "2016-11-25T19:55:19Z", "annotations" => {"app.gitlab.com/env" => "production", "app.gitlab.com/app" => "project-path-slug"}, "labels" => {}}, "spec" => {"containers" => [{"name" => "container-0"}, {"name" => "container-0-1"}]}, "status" => {"phase" => "Running"}}], :deployments => [{"metadata" => {"name" => "kube-deployment", "generation" => 4, "annotations" => {"app.gitlab.com/env" => "production", "app.gitlab.com/app" => "project-path-slug"}, "labels" => {}}, "spec" => {"replicas" => 3}, "status" => {"observedGeneration" => 4}}], :ingresses => [{"metadata" => {"name" => "production-auto-deploy", "labels" => {"app" => "production", "app.kubernetes.io/managed-by" => "Helm", "chart" => "auto-deploy-app-2.0.0-beta.2", "heritage" => "Helm", "release" => "production"}, "annotations" => {"kubernetes.io/ingress.class" => "nginx", "kubernetes.io/tls-acme" => "true", "meta.helm.sh/release-name" => "production", "meta.helm.sh/release-namespace" => "awesome-app-1-production"}}}]}295 on an instance level cluster296 is expected to include {:pods => [{"metadata" => {"name" => "kube-pod", "generateName" => "generated-name-with-suffix", "creationTimestamp" => "2016-11-25T19:55:19Z", "annotations" => {"app.gitlab.com/env" => "production", "app.gitlab.com/app" => "project-path-slug"}, "labels" => {}}, "spec" => {"containers" => [{"name" => "container-0"}, {"name" => "container-0-1"}]}, "status" => {"phase" => "Running"}}], :deployments => [{"metadata" => {"name" => "kube-deployment", "generation" => 4, "annotations" => {"app.gitlab.com/env" => "production", "app.gitlab.com/app" => "project-path-slug"}, "labels" => {}}, "spec" => {"replicas" => 3}, "status" => {"observedGeneration" => 4}}], :ingresses => [{"metadata" => {"name" => "production-auto-deploy", "labels" => {"app" => "production", "app.kubernetes.io/managed-by" => "Helm", "chart" => "auto-deploy-app-2.0.0-beta.2", "heritage" => "Helm", "release" => "production"}, "annotations" => {"kubernetes.io/ingress.class" => "nginx", "kubernetes.io/tls-acme" => "true", "meta.helm.sh/release-name" => "production", "meta.helm.sh/release-namespace" => "awesome-app-1-production"}}}]}297 when the kubernetes integration is disabled298 is expected to be nil299 when there are ignored K8s connections errors300 Gitlab::HTTP_V2::UrlBlocker::BlockedUrlError301 does not raise error302 returns empty array for the K8s component keys303 logs the error304 Kubeclient::HttpError305 does not raise error306 returns empty array for the K8s component keys307 logs the error308 Errno::ECONNREFUSED309 does not raise error310 returns empty array for the K8s component keys311 logs the error312 URI::InvalidURIError313 does not raise error314 returns empty array for the K8s component keys315 logs the error316 Errno::EHOSTUNREACH317 does not raise error318 returns empty array for the K8s component keys319 logs the error320 OpenSSL::X509::StoreError321 does not raise error322 returns empty array for the K8s component keys323 logs the error324 OpenSSL::SSL::SSLError325 does not raise error326 returns empty array for the K8s component keys327 logs the error328 when kubernetes responds with 500s329 does not raise kubeclient http error330 when kubernetes responds with 404s331 is expected to eq {:deployments=>[], :ingresses=>[], :pods=>[]}332 #rollout_status333 legacy deployments based on app label334 only legacy deployments335 contains nothing336 deployment with no pods337 returns a valid status with matching deployments338 new deployment based on annotations339 contains only matching deployments340 with no deployments but there are pods341 returns an empty array342 with valid deployments343 creates a matching RolloutStatus344 with canary ingress345 has canary ingress346 with empty list of deployments347 creates a matching RolloutStatus348 when the pod track does not match the deployment track349 does not return the pod350 when the pod track is not stable351 the pod is not stable352 when the pod track is stable353 the pod is stable354 when the pod track is not provided355 the pod is stable356 when the number of matching pods does not match the number of replicas357 returns a pending pod for each missing replica358 when pending pods are returned for missing replicas359 returns the correct track for the pending pods360 when two deployments with the same track are missing instances361 returns the correct number of pending pods362 with multiple matching deployments363 returns each pod once364 when cache keys are defaulted365 does not raise error366 #ingresses367 when there is an ingress in the namespace368 returns an ingress369 when there are no ingresss in the namespace370 returns nothing371 #patch_ingress372 when there is an ingress in the namespace373 returns an ingress374 when there are no ingresss in the namespace375 raises an error376 #authorization_type377 behaves like having enum with nil value378 has enum with nil value379Gitlab::UsageDataCounters::CiTemplateUniqueCounter380 .track_unique_project_event381 expands short template names382 with explicit includes383 for 5-Minute-Production-App.gitlab-ci.yml384 has an event defined for template385 tracks template386 behaves like internal event tracking387 logs to Snowplow388 for AWS/CF-Provision-and-Deploy-EC2.gitlab-ci.yml389 has an event defined for template390 tracks template391 behaves like internal event tracking392 logs to Snowplow393 for AWS/Deploy-ECS.gitlab-ci.yml394 has an event defined for template395 tracks template396 behaves like internal event tracking397 logs to Snowplow398 for Android-Fastlane.gitlab-ci.yml399 has an event defined for template400 tracks template401 behaves like internal event tracking402 logs to Snowplow403 for Android.gitlab-ci.yml404 has an event defined for template405 tracks template406 behaves like internal event tracking407 logs to Snowplow408 for Android.latest.gitlab-ci.yml409 has an event defined for template410 tracks template411 behaves like internal event tracking412 logs to Snowplow413 for Auto-DevOps.gitlab-ci.yml414 has an event defined for template415 tracks template416 behaves like internal event tracking417 logs to Snowplow418 for Bash.gitlab-ci.yml419 has an event defined for template420 tracks template421 behaves like internal event tracking422 logs to Snowplow423 for C++.gitlab-ci.yml424 has an event defined for template425 tracks template426 behaves like internal event tracking427 logs to Snowplow428 for Chef.gitlab-ci.yml429 has an event defined for template430 tracks template431 behaves like internal event tracking432 logs to Snowplow433 for Clojure.gitlab-ci.yml434 has an event defined for template435 tracks template436 behaves like internal event tracking437 logs to Snowplow438 for Code-Quality.gitlab-ci.yml439 has an event defined for template440 tracks template441 behaves like internal event tracking442 logs to Snowplow443 for Composer.gitlab-ci.yml444 has an event defined for template445 tracks template446 behaves like internal event tracking447 logs to Snowplow448 for Cosign.gitlab-ci.yml449 has an event defined for template450 tracks template451 behaves like internal event tracking452 logs to Snowplow453 for Crystal.gitlab-ci.yml454 has an event defined for template455 tracks template456 behaves like internal event tracking457 logs to Snowplow458 for Dart.gitlab-ci.yml459 has an event defined for template460 tracks template461 behaves like internal event tracking462 logs to Snowplow463 for Deploy-ECS.gitlab-ci.yml464 has an event defined for template465 tracks template466 behaves like internal event tracking467 logs to Snowplow468 for Django.gitlab-ci.yml469 has an event defined for template470 tracks template471 behaves like internal event tracking472 logs to Snowplow473 for Docker.gitlab-ci.yml474 has an event defined for template475 tracks template476 behaves like internal event tracking477 logs to Snowplow478 for Elixir.gitlab-ci.yml479 has an event defined for template480 tracks template481 behaves like internal event tracking482 logs to Snowplow483 for Flutter.gitlab-ci.yml484 has an event defined for template485 tracks template486 behaves like internal event tracking487 logs to Snowplow488 for Getting-Started.gitlab-ci.yml489 has an event defined for template490 tracks template491 behaves like internal event tracking492 logs to Snowplow493 for Go.gitlab-ci.yml494 has an event defined for template495 tracks template496 behaves like internal event tracking497 logs to Snowplow498 for Gradle.gitlab-ci.yml499 has an event defined for template500 tracks template501 behaves like internal event tracking502 logs to Snowplow503 for Grails.gitlab-ci.yml504 has an event defined for template505 tracks template506 behaves like internal event tracking507 logs to Snowplow508 for Indeni.Cloudrail.gitlab-ci.yml509 has an event defined for template510 tracks template511 behaves like internal event tracking512 logs to Snowplow513 for Jobs/Browser-Performance-Testing.gitlab-ci.yml514 has an event defined for template515 tracks template516 behaves like internal event tracking517 logs to Snowplow518 for Jobs/Browser-Performance-Testing.latest.gitlab-ci.yml519 has an event defined for template520 tracks template521 behaves like internal event tracking522 logs to Snowplow523 for Jobs/Build.gitlab-ci.yml524 has an event defined for template525 tracks template526 behaves like internal event tracking527 logs to Snowplow528 for Jobs/Build.latest.gitlab-ci.yml529 has an event defined for template530 tracks template531 behaves like internal event tracking532 logs to Snowplow533 for Jobs/CF-Provision.gitlab-ci.yml534 has an event defined for template535 tracks template536 behaves like internal event tracking537 logs to Snowplow538 for Jobs/Code-Intelligence.gitlab-ci.yml539 has an event defined for template540 tracks template541 behaves like internal event tracking542 logs to Snowplow543 for Jobs/Code-Quality.gitlab-ci.yml544 has an event defined for template545 tracks template546 behaves like internal event tracking547 logs to Snowplow548 for Jobs/Container-Scanning.gitlab-ci.yml549 has an event defined for template550 tracks template551 behaves like internal event tracking552 logs to Snowplow553 for Jobs/Container-Scanning.latest.gitlab-ci.yml554 has an event defined for template555 tracks template556 behaves like internal event tracking557 logs to Snowplow558 for Jobs/DAST-Default-Branch-Deploy.gitlab-ci.yml559 has an event defined for template560 tracks template561 behaves like internal event tracking562 logs to Snowplow563 for Jobs/Dependency-Scanning.gitlab-ci.yml564 has an event defined for template565 tracks template566 behaves like internal event tracking567 logs to Snowplow568 for Jobs/Dependency-Scanning.latest.gitlab-ci.yml569 has an event defined for template570 tracks template571 behaves like internal event tracking572 logs to Snowplow573 for Jobs/Deploy/EC2.gitlab-ci.yml574 has an event defined for template575 tracks template576 behaves like internal event tracking577 logs to Snowplow578 for Jobs/Deploy/ECS.gitlab-ci.yml579 has an event defined for template580 tracks template581 behaves like internal event tracking582 logs to Snowplow583 for Jobs/Deploy.gitlab-ci.yml584 has an event defined for template585 tracks template586 behaves like internal event tracking587 logs to Snowplow588 for Jobs/Deploy.latest.gitlab-ci.yml589 has an event defined for template590 tracks template591 behaves like internal event tracking592 logs to Snowplow593 for Jobs/Helm-2to3.gitlab-ci.yml594 has an event defined for template595 tracks template596 behaves like internal event tracking597 logs to Snowplow598 for Jobs/License-Scanning.gitlab-ci.yml599 has an event defined for template600 tracks template601 behaves like internal event tracking602 logs to Snowplow603 for Jobs/License-Scanning.latest.gitlab-ci.yml604 has an event defined for template605 tracks template606 behaves like internal event tracking607 logs to Snowplow608 for Jobs/Load-Performance-Testing.gitlab-ci.yml609 has an event defined for template610 tracks template611 behaves like internal event tracking612 logs to Snowplow613 for Jobs/SAST-IaC.gitlab-ci.yml614 has an event defined for template615 tracks template616 behaves like internal event tracking617 logs to Snowplow618 for Jobs/SAST-IaC.latest.gitlab-ci.yml619 has an event defined for template620 tracks template621 behaves like internal event tracking622 logs to Snowplow623 for Jobs/SAST.gitlab-ci.yml624 has an event defined for template625 tracks template626 behaves like internal event tracking627 logs to Snowplow628 for Jobs/SAST.latest.gitlab-ci.yml629 has an event defined for template630 tracks template631 behaves like internal event tracking632 logs to Snowplow633 for Jobs/Secret-Detection.gitlab-ci.yml634 has an event defined for template635 tracks template636 behaves like internal event tracking637 logs to Snowplow638 for Jobs/Secret-Detection.latest.gitlab-ci.yml639 has an event defined for template640 tracks template641 behaves like internal event tracking642 logs to Snowplow643 for Jobs/Test.gitlab-ci.yml644 has an event defined for template645 tracks template646 behaves like internal event tracking647 logs to Snowplow648 for Julia.gitlab-ci.yml649 has an event defined for template650 tracks template651 behaves like internal event tracking652 logs to Snowplow653 for Kaniko.gitlab-ci.yml654 has an event defined for template655 tracks template656 behaves like internal event tracking657 logs to Snowplow658 for Katalon.gitlab-ci.yml659 has an event defined for template660 tracks template661 behaves like internal event tracking662 logs to Snowplow663 for LaTeX.gitlab-ci.yml664 has an event defined for template665 tracks template666 behaves like internal event tracking667 logs to Snowplow668 for Laravel.gitlab-ci.yml669 has an event defined for template670 tracks template671 behaves like internal event tracking672 logs to Snowplow673 for MATLAB.gitlab-ci.yml674 has an event defined for template675 tracks template676 behaves like internal event tracking677 logs to Snowplow678 for Maven.gitlab-ci.yml679 has an event defined for template680 tracks template681 behaves like internal event tracking682 logs to Snowplow683 for Mono.gitlab-ci.yml684 has an event defined for template685 tracks template686 behaves like internal event tracking687 logs to Snowplow688 for Nodejs.gitlab-ci.yml689 has an event defined for template690 tracks template691 behaves like internal event tracking692 logs to Snowplow693 for OpenShift.gitlab-ci.yml694 has an event defined for template695 tracks template696 behaves like internal event tracking697 logs to Snowplow698 for PHP.gitlab-ci.yml699 has an event defined for template700 tracks template701 behaves like internal event tracking702 logs to Snowplow703 for Packer.gitlab-ci.yml704 has an event defined for template705 tracks template706 behaves like internal event tracking707 logs to Snowplow708 for Pages/Brunch.gitlab-ci.yml709 has an event defined for template710 tracks template711 behaves like internal event tracking712 logs to Snowplow713 for Pages/Doxygen.gitlab-ci.yml714 has an event defined for template715 tracks template716 behaves like internal event tracking717 logs to Snowplow718 for Pages/Gatsby.gitlab-ci.yml719 has an event defined for template720 tracks template721 behaves like internal event tracking722 logs to Snowplow723 for Pages/HTML.gitlab-ci.yml724 has an event defined for template725 tracks template726 behaves like internal event tracking727 logs to Snowplow728 for Pages/Harp.gitlab-ci.yml729 has an event defined for template730 tracks template731 behaves like internal event tracking732 logs to Snowplow733 for Pages/Hexo.gitlab-ci.yml734 has an event defined for template735 tracks template736 behaves like internal event tracking737 logs to Snowplow738 for Pages/Hugo.gitlab-ci.yml739 has an event defined for template740 tracks template741 behaves like internal event tracking742 logs to Snowplow743 for Pages/Hyde.gitlab-ci.yml744 has an event defined for template745 tracks template746 behaves like internal event tracking747 logs to Snowplow748 for Pages/JBake.gitlab-ci.yml749 has an event defined for template750 tracks template751 behaves like internal event tracking752 logs to Snowplow753 for Pages/Jekyll.gitlab-ci.yml754 has an event defined for template755 tracks template756 behaves like internal event tracking757 logs to Snowplow758 for Pages/Jigsaw.gitlab-ci.yml759 has an event defined for template760 tracks template761 behaves like internal event tracking762 logs to Snowplow763 for Pages/Lektor.gitlab-ci.yml764 has an event defined for template765 tracks template766 behaves like internal event tracking767 logs to Snowplow768 for Pages/Metalsmith.gitlab-ci.yml769 has an event defined for template770 tracks template771 behaves like internal event tracking772 logs to Snowplow773 for Pages/Middleman.gitlab-ci.yml774 has an event defined for template775 tracks template776 behaves like internal event tracking777 logs to Snowplow778 for Pages/Nanoc.gitlab-ci.yml779 has an event defined for template780 tracks template781 behaves like internal event tracking782 logs to Snowplow783 for Pages/Octopress.gitlab-ci.yml784 has an event defined for template785 tracks template786 behaves like internal event tracking787 logs to Snowplow788 for Pages/Pelican.gitlab-ci.yml789 has an event defined for template790 tracks template791 behaves like internal event tracking792 logs to Snowplow793 for Pages/SwaggerUI.gitlab-ci.yml794 has an event defined for template795 tracks template796 behaves like internal event tracking797 logs to Snowplow798 for Pages/Zola.gitlab-ci.yml799 has an event defined for template800 tracks template801 behaves like internal event tracking802 logs to Snowplow803 for Python.gitlab-ci.yml804 has an event defined for template805 tracks template806 behaves like internal event tracking807 logs to Snowplow808 for Qualys-IaC-Security.gitlab-ci.yml809 has an event defined for template810 tracks template811 behaves like internal event tracking812 logs to Snowplow813 for Ruby.gitlab-ci.yml814 has an event defined for template815 tracks template816 behaves like internal event tracking817 logs to Snowplow818 for Rust.gitlab-ci.yml819 has an event defined for template820 tracks template821 behaves like internal event tracking822 logs to Snowplow823 for Scala.gitlab-ci.yml824 has an event defined for template825 tracks template826 behaves like internal event tracking827 logs to Snowplow828 for Security/API-Discovery.gitlab-ci.yml829 has an event defined for template830 tracks template831 behaves like internal event tracking832 logs to Snowplow833 for Security/API-Fuzzing.gitlab-ci.yml834 has an event defined for template835 tracks template836 behaves like internal event tracking837 logs to Snowplow838 for Security/API-Fuzzing.latest.gitlab-ci.yml839 has an event defined for template840 tracks template841 behaves like internal event tracking842 logs to Snowplow843 for Security/BAS.latest.gitlab-ci.yml844 has an event defined for template845 tracks template846 behaves like internal event tracking847 logs to Snowplow848 for Security/Container-Scanning.gitlab-ci.yml849 has an event defined for template850 tracks template851 behaves like internal event tracking852 logs to Snowplow853 for Security/Container-Scanning.latest.gitlab-ci.yml854 has an event defined for template855 tracks template856 behaves like internal event tracking857 logs to Snowplow858 for Security/Coverage-Fuzzing.gitlab-ci.yml859 has an event defined for template860 tracks template861 behaves like internal event tracking862 logs to Snowplow863 for Security/Coverage-Fuzzing.latest.gitlab-ci.yml864 has an event defined for template865 tracks template866 behaves like internal event tracking867 logs to Snowplow868 for Security/DAST-API.gitlab-ci.yml869 has an event defined for template870 tracks template871 behaves like internal event tracking872 logs to Snowplow873 for Security/DAST-API.latest.gitlab-ci.yml874 has an event defined for template875 tracks template876 behaves like internal event tracking877 logs to Snowplow878 for Security/DAST-On-Demand-API-Scan.gitlab-ci.yml879 has an event defined for template880 tracks template881 behaves like internal event tracking882 logs to Snowplow883 for Security/DAST-On-Demand-Scan.gitlab-ci.yml884 has an event defined for template885 tracks template886 behaves like internal event tracking887 logs to Snowplow888 for Security/DAST-Runner-Validation.gitlab-ci.yml889 has an event defined for template890 tracks template891 behaves like internal event tracking892 logs to Snowplow893 for Security/DAST.gitlab-ci.yml894 has an event defined for template895 tracks template896 behaves like internal event tracking897 logs to Snowplow898 for Security/DAST.latest.gitlab-ci.yml899 has an event defined for template900 tracks template901 behaves like internal event tracking902 logs to Snowplow903 for Security/Dependency-Scanning.gitlab-ci.yml904 has an event defined for template905 tracks template906 behaves like internal event tracking907 logs to Snowplow908 for Security/Fortify-FoD-sast.gitlab-ci.yml909 has an event defined for template910 tracks template911 behaves like internal event tracking912 logs to Snowplow913 for Security/License-Scanning.gitlab-ci.yml914 has an event defined for template915 tracks template916 behaves like internal event tracking917 logs to Snowplow918 for Security/SAST-IaC.gitlab-ci.yml919 has an event defined for template920 tracks template921 behaves like internal event tracking922 logs to Snowplow923 for Security/SAST-IaC.latest.gitlab-ci.yml924 has an event defined for template925 tracks template926 behaves like internal event tracking927 logs to Snowplow928 for Security/SAST.gitlab-ci.yml929 has an event defined for template930 tracks template931 behaves like internal event tracking932 logs to Snowplow933 for Security/Secret-Detection.gitlab-ci.yml934 has an event defined for template935 tracks template936 behaves like internal event tracking937 logs to Snowplow938 for Security/Secure-Binaries.gitlab-ci.yml939 has an event defined for template940 tracks template941 behaves like internal event tracking942 logs to Snowplow943 for Swift.gitlab-ci.yml944 has an event defined for template945 tracks template946 behaves like internal event tracking947 logs to Snowplow948 for Terraform/Base.gitlab-ci.yml949 has an event defined for template950 tracks template951 behaves like internal event tracking952 logs to Snowplow953 for Terraform/Base.latest.gitlab-ci.yml954 has an event defined for template955 tracks template956 behaves like internal event tracking957 logs to Snowplow958 for Terraform/Module-Base.gitlab-ci.yml959 has an event defined for template960 tracks template961 behaves like internal event tracking962 logs to Snowplow963 for Terraform-Module.gitlab-ci.yml964 has an event defined for template965 tracks template966 behaves like internal event tracking967 logs to Snowplow968 for Terraform.gitlab-ci.yml969 has an event defined for template970 tracks template971 behaves like internal event tracking972 logs to Snowplow973 for Terraform.latest.gitlab-ci.yml974 has an event defined for template975 tracks template976 behaves like internal event tracking977 logs to Snowplow978 for ThemeKit.gitlab-ci.yml979 has an event defined for template980 tracks template981 behaves like internal event tracking982 logs to Snowplow983 for Verify/Accessibility.gitlab-ci.yml984 has an event defined for template985 tracks template986 behaves like internal event tracking987 logs to Snowplow988 for Verify/FailFast.gitlab-ci.yml989 has an event defined for template990 tracks template991 behaves like internal event tracking992 logs to Snowplow993 for Verify/Load-Performance-Testing.gitlab-ci.yml994 has an event defined for template995 tracks template996 behaves like internal event tracking997 logs to Snowplow998 for Workflows/Branch-Pipelines.gitlab-ci.yml999 has an event defined for template1000 tracks template1001 behaves like internal event tracking1002 logs to Snowplow1003 for Workflows/MergeRequest-Pipelines.gitlab-ci.yml1004 has an event defined for template1005 tracks template1006 behaves like internal event tracking1007 logs to Snowplow1008 for dotNET-Core.gitlab-ci.yml1009 has an event defined for template1010 tracks template1011 behaves like internal event tracking1012 logs to Snowplow1013 for dotNET.gitlab-ci.yml1014 has an event defined for template1015 tracks template1016 behaves like internal event tracking1017 logs to Snowplow1018 for iOS-Fastlane.gitlab-ci.yml1019 has an event defined for template1020 tracks template1021 behaves like internal event tracking1022 logs to Snowplow1023 for liquibase.gitlab-ci.yml1024 has an event defined for template1025 tracks template1026 behaves like internal event tracking1027 logs to Snowplow1028 for npm.gitlab-ci.yml1029 has an event defined for template1030 tracks template1031 behaves like internal event tracking1032 logs to Snowplow1033 with implicit includes1034 for Auto-DevOps.gitlab-ci.yml1035 has an event defined for template1036 tracks template1037 behaves like internal event tracking1038 logs to Snowplow1039 for Jobs/Build.gitlab-ci.yml1040 has an event defined for template1041 tracks template1042 behaves like internal event tracking1043 logs to Snowplow1044 for Jobs/Test.gitlab-ci.yml1045 has an event defined for template1046 tracks template1047 behaves like internal event tracking1048 logs to Snowplow1049 for Jobs/Code-Quality.gitlab-ci.yml1050 has an event defined for template1051 tracks template1052 behaves like internal event tracking1053 logs to Snowplow1054 for Jobs/Code-Intelligence.gitlab-ci.yml1055 has an event defined for template1056 tracks template1057 behaves like internal event tracking1058 logs to Snowplow1059 for Jobs/Deploy.gitlab-ci.yml1060 has an event defined for template1061 tracks template1062 behaves like internal event tracking1063 logs to Snowplow1064 for Jobs/Deploy/ECS.gitlab-ci.yml1065 has an event defined for template1066 tracks template1067 behaves like internal event tracking1068 logs to Snowplow1069 for Jobs/Deploy/EC2.gitlab-ci.yml1070 has an event defined for template1071 tracks template1072 behaves like internal event tracking1073 logs to Snowplow1074 for Jobs/DAST-Default-Branch-Deploy.gitlab-ci.yml1075 has an event defined for template1076 tracks template1077 behaves like internal event tracking1078 logs to Snowplow1079 for Jobs/Browser-Performance-Testing.gitlab-ci.yml1080 has an event defined for template1081 tracks template1082 behaves like internal event tracking1083 logs to Snowplow1084 for Jobs/Helm-2to3.gitlab-ci.yml1085 has an event defined for template1086 tracks template1087 behaves like internal event tracking1088 logs to Snowplow1089 for Security/DAST.gitlab-ci.yml1090 has an event defined for template1091 tracks template1092 behaves like internal event tracking1093 logs to Snowplow1094 for Jobs/Container-Scanning.gitlab-ci.yml1095 has an event defined for template1096 tracks template1097 behaves like internal event tracking1098 logs to Snowplow1099 for Jobs/Dependency-Scanning.gitlab-ci.yml1100 has an event defined for template1101 tracks template1102 behaves like internal event tracking1103 logs to Snowplow1104 for Jobs/SAST.gitlab-ci.yml1105 has an event defined for template1106 tracks template1107 behaves like internal event tracking1108 logs to Snowplow1109 for Jobs/License-Scanning.gitlab-ci.yml1110 has an event defined for template1111 tracks template1112 behaves like internal event tracking1113 logs to Snowplow1114 for Jobs/Secret-Detection.gitlab-ci.yml1115 has an event defined for template1116 tracks template1117 behaves like internal event tracking1118 logs to Snowplow1119Mentionable1120 references1121 excludes Jira references1122Issue Mentionable1123 #mentioned_users1124 is expected to contain exactly #<User id:258 @stranger>1125 when a note on personal snippet1126 is expected to contain exactly #<User id:262 @stranger> and #<User id:264 @jim>1127 #referenced_mentionables1128 with an issue on a private project1129 when the current user can see the issue1130 includes the reference1131 when the current user cannot see the issue1132 does not include the reference1133 when there is no current user1134 does not include the reference1135 #create_cross_references!1136 correctly removes already-mentioned Commits1137 #create_new_cross_references!1138 before changes are persisted1139 ignores pre-existing references1140 notifies new references1141 after changes are persisted1142 ignores pre-existing references1143 notifies new references1144 notifies new references from project snippet note1145 #store_mentions!1146 behaves like mentions in description1147 when storing user mentions1148 when mentionable description has no mentions1149 stores no mentions1150 when mentionable description contains mentions1151 when `disable_all_mention` FF is disabled1152 stores mentions1153 when `disable_all_mention` FF is enabled1154 stores mentions1155 behaves like mentions in notes1156 when mentionable notes contain mentions1157 when `disable_all_mention` FF is enabled1158 returns all mentionable mentions1159 when `disable_all_mention` FF is disabled1160 returns all mentionable mentions1161 and note is confidential1162 returns only mentioned users that has permissions1163 load mentions1164 behaves like load mentions from DB1165 load stored mentions (when `disable_all_mention` is disabled)1166 when stored user mention contains ids of inexistent records1167 filters out inexistent mentions1168 and note is confidential1169 stores only mentioned users that has permissions1170 when private projects and groups are mentioned1171 when user has no access to some mentions1172 filters out inaccessible mentions1173 when user has access to all mentions1174 returns all mentions1175 when `disable_all_mention` is enabled1176 load stored mentions1177 when stored user mention contains ids of inexistent records1178 filters out inexistent mentions1179 and note is confidential1180 stores only mentioned users that has permissions1181 when private projects and groups are mentioned1182 when user has no access to some mentions1183 filters out inaccessible mentions1184 when user has access to the private project and group mentions1185 returns all mentions1186Commit Mentionable1187 #matches_cross_reference_regex?1188 is false when message doesn't reference anything1189 is true if issue #number mentioned in title1190 is true if references an MR1191 is true if references a commit1192 is true if issue referenced by url1193 with external issue tracker1194 is true if external issues referenced1195 is true if internal issues referenced1196 #store_mentions!1197 behaves like mentions in notes1198 when mentionable notes contain mentions1199 when `disable_all_mention` FF is enabled1200 returns all mentionable mentions1201 when `disable_all_mention` FF is disabled1202 returns all mentionable mentions1203 load mentions1204 behaves like load mentions from DB1205 load stored mentions (when `disable_all_mention` is disabled)1206 when stored user mention contains ids of inexistent records1207 filters out inexistent mentions1208 when private projects and groups are mentioned1209 when user has no access to some mentions1210 filters out inaccessible mentions1211 when user has access to all mentions1212 returns all mentions1213 when `disable_all_mention` is enabled1214 load stored mentions1215 when stored user mention contains ids of inexistent records1216 filters out inexistent mentions1217 when private projects and groups are mentioned1218 when user has no access to some mentions1219 filters out inaccessible mentions1220 when user has access to the private project and group mentions1221 returns all mentions1222MergeRequest Mentionable1223 #store_mentions!1224 behaves like mentions in description1225 when storing user mentions1226 when mentionable description has no mentions1227 stores no mentions1228 when mentionable description contains mentions1229 when `disable_all_mention` FF is disabled1230 stores mentions1231 when `disable_all_mention` FF is enabled1232 stores mentions1233 behaves like mentions in notes1234 when mentionable notes contain mentions1235 when `disable_all_mention` FF is enabled1236 returns all mentionable mentions1237 when `disable_all_mention` FF is disabled1238 returns all mentionable mentions1239 load mentions1240 behaves like load mentions from DB1241 load stored mentions (when `disable_all_mention` is disabled)1242 when stored user mention contains ids of inexistent records1243 filters out inexistent mentions1244 when private projects and groups are mentioned1245 when user has no access to some mentions1246 filters out inaccessible mentions1247 when user has access to all mentions1248 returns all mentions1249 when `disable_all_mention` is enabled1250 load stored mentions1251 when stored user mention contains ids of inexistent records1252 filters out inexistent mentions1253 when private projects and groups are mentioned1254 when user has no access to some mentions1255 filters out inaccessible mentions1256 when user has access to the private project and group mentions1257 returns all mentions1258Snippet Mentionable1259 #store_mentions!1260 behaves like mentions in description1261 when storing user mentions1262 when mentionable description has no mentions1263 stores no mentions1264 when mentionable description contains mentions1265 when `disable_all_mention` FF is disabled1266 stores mentions1267 when `disable_all_mention` FF is enabled1268 stores mentions1269 behaves like mentions in notes1270 when mentionable notes contain mentions1271 when `disable_all_mention` FF is enabled1272 returns all mentionable mentions1273 when `disable_all_mention` FF is disabled1274 returns all mentionable mentions1275 load mentions1276 behaves like load mentions from DB1277 load stored mentions (when `disable_all_mention` is disabled)1278 when stored user mention contains ids of inexistent records1279 filters out inexistent mentions1280 when private projects and groups are mentioned1281 when user has no access to some mentions1282 filters out inaccessible mentions1283 when user has access to all mentions1284 returns all mentions1285 when `disable_all_mention` is enabled1286 load stored mentions1287 when stored user mention contains ids of inexistent records1288 filters out inexistent mentions1289 when private projects and groups are mentioned1290 when user has no access to some mentions1291 filters out inaccessible mentions1292 when user has access to the private project and group mentions1293 returns all mentions1294PersonalSnippet Mentionable1295 #store_mentions!1296 behaves like mentions in description1297 when storing user mentions1298 when mentionable description has no mentions1299 stores no mentions1300 when mentionable description contains mentions1301 when `disable_all_mention` FF is disabled1302 stores mentions1303 when `disable_all_mention` FF is enabled1304 stores mentions1305 behaves like mentions in notes1306 when mentionable notes contain mentions1307 when `disable_all_mention` FF is enabled1308 returns all mentionable mentions1309 when `disable_all_mention` FF is disabled1310 returns all mentionable mentions1311 load mentions1312 behaves like load mentions from DB1313 load stored mentions (when `disable_all_mention` is disabled)1314 when stored user mention contains ids of inexistent records1315 filters out inexistent mentions1316 when private projects and groups are mentioned1317 when user has no access to some mentions1318 filters out inaccessible mentions1319 when user has access to all mentions1320 returns all mentions1321 when `disable_all_mention` is enabled1322 load stored mentions1323 when stored user mention contains ids of inexistent records1324 filters out inexistent mentions1325 when private projects and groups are mentioned1326 when user has no access to some mentions1327 filters out inaccessible mentions1328 when user has access to the private project and group mentions1329 returns all mentions1330DesignManagement::Design1331 #store_mentions!1332 behaves like mentions in notes1333 when mentionable notes contain mentions1334 when `disable_all_mention` FF is enabled1335 returns all mentionable mentions1336 when `disable_all_mention` FF is disabled1337 returns all mentionable mentions1338 load mentions1339 behaves like load mentions from DB1340 load stored mentions (when `disable_all_mention` is disabled)1341 when stored user mention contains ids of inexistent records1342 filters out inexistent mentions1343 when private projects and groups are mentioned1344 when user has no access to some mentions1345 filters out inaccessible mentions1346 when user has access to all mentions1347 returns all mentions1348 when `disable_all_mention` is enabled1349 load stored mentions1350 when stored user mention contains ids of inexistent records1351 filters out inexistent mentions1352 when private projects and groups are mentioned1353 when user has no access to some mentions1354 filters out inaccessible mentions1355 when user has access to the private project and group mentions1356 returns all mentions1357IssuesFinder1358 behaves like issues or work items finder1359 #execute1360 scope: all1361 returns all items1362 finds items user can access due to group1363 user does not have read permissions1364 when filtering by project id1365 returns no items1366 when there are group-level work items1367 returns no items1368 when filtering by group id1369 returns no items1370 assignee filtering1371 behaves like assignee ID filter1372 returns issuables assigned to that user1373 behaves like assignee NOT ID filter1374 returns issuables not assigned to that user1375 behaves like assignee OR filter1376 returns issuables assigned to the given users1377 when assignee_id does not exist1378 behaves like assignee NOT ID filter1379 returns issuables not assigned to that user1380 filter by username1381 behaves like assignee username filter1382 returns issuables assigned to those users1383 behaves like assignee NOT username filter1384 returns issuables not assigned to those users1385 behaves like assignee OR filter1386 returns issuables assigned to the given users1387 when assignee_username does not exist1388 behaves like assignee NOT username filter1389 returns issuables not assigned to those users1390 behaves like no assignee filter1391 returns issuables not assigned to any assignee1392 returns issuables not assigned to any assignee1393 returns issuables not assigned to any assignee1394 behaves like any assignee filter1396 returns issuables assigned to any assignee1397 returns issuables assigned to any assignee1398 returns issuables assigned to any assignee1399 filtering by release1400 when filter by none1401 returns items without releases1402 when sort by milestone1403 returns items without any releases1404 when filter by any1405 returns items with any releases1406 when sort by milestone1407 returns items without any releases1408 when filter by a release_tag1409 returns the items associated with the release tag1410 when sort by milestone1411 returns the items associated with the release tag1412 when filter by a negated release_tag1413 returns the items not associated with the release1414 when sort by milestone1415 returns the items not associated with the release1416 filtering by projects1417 when projects are passed in a list of ids1418 returns the item belonging to the projects1419 when projects are passed in a subquery1420 returns the item belonging to the projects1421 filtering by group_id1422 when include_subgroup param not set1423 returns all group items1424 when projects outside the group are passed1425 returns no items1426 when projects of the group are passed1427 returns the item within the group and projects1428 when projects of the group are passed as a subquery1429 returns the item within the group and projects1430 when release_tag is passed as a parameter1431 ignores the release_tag parameter1432 when include_subgroup param is true1433 returns all group and subgroup items1434 when mixed projects are passed1435 returns the item within the group and projects1436 filtering by author1437 by author ID1438 returns items created by that user1439 using OR1440 returns items created by any of the given users1441 when feature flag is disabled1442 does not add any filter1443 filtering by NOT author ID1444 returns items not created by that user1445 filtering by nonexistent author ID and issue term using CTE for search1446 returns no results1447 filtering by milestone1448 returns items assigned to that milestone1449 filtering by not milestone1450 returns items not assigned to that milestone1451 with multiple milestones1452 returns items not assigned to both milestones1453 filtering by group milestone1454 returns items assigned to that group milestone1455 using NOT1456 returns items not assigned to that group milestone1457 filtering by no milestone1458 returns items with no milestone1459 returns items with no milestone (deprecated)1460 filtering by any milestone1461 returns items with any assigned milestone1462 returns items with any assigned milestone (deprecated)1463 filtering by upcoming milestone1464 returns items in the upcoming milestone for each project or group1465 using NOT1466 returns items not in upcoming milestones for each project or group, but must have a due date1467 filtering by started milestone1468 returns items in the started milestones for each project1469 using NOT1470 returns items not in the started milestones for each project1471 filtering by label1472 returns items with that label1473 using NOT1474 returns items that do not have that label1475 shadowing the same outside param1476 does not take precedence over labels outside NOT1477 further filtering outside params1478 further filters on the returned resultset1479 filtering by multiple labels1480 returns the unique items with all those labels1481 using NOT1482 returns items that do not have any of the labels provided1483 using OR1484 returns items that have at least one of the given labels1485 when feature flag is disabled1486 does not add any filter1487 filtering by a label that includes any or none in the title1488 returns the unique items with all those labels1489 using NOT1490 returns items that do not have ANY ONE of the labels provided1491 filtering by no label1492 returns items with no labels1493 filtering by any label1494 returns items that have one or more label1495 when the same label exists on project and group levels1496 finds both item records1497 filtering by item term1498 with latin search term1499 returns matching items1500 with non-latin search term1501 returns matching items1502 filtering by item term in title1503 returns items with title match for search term1504 filtering by items iids1505 returns items where iids match1506 using NOT1507 returns items with no iids match1508 filtering by state1509 with opened1510 returns only opened items1511 with closed1512 returns only closed items1513 with all1514 returns all items1515 with invalid state1516 returns all items1517 filtering by created_at1518 through created_after1519 returns items created on or after the given date1520 through created_before1521 returns items created on or before the given date1522 through created_after and created_before1523 returns items created between the given dates1524 filtering by updated_at1525 through updated_after1526 returns items updated on or after the given date1527 through updated_before1528 returns items updated on or before the given date1529 through updated_after and updated_before1530 returns items updated between the given dates1531 filtering by closed_at1532 through closed_after1533 returns items closed on or after the given date1534 through closed_before1535 returns items closed on or before the given date1536 through closed_after and closed_before1537 returns items closed between the given dates1538 filtering by reaction name1539 user searches by no reaction1540 returns items that the user did not react to1541 user searches by any reaction1542 returns items that the user reacted to1543 user searches by "thumbsup" reaction1544 returns items that the user thumbsup to1545 using NOT1546 returns items that the user did not thumbsup to1547 user2 searches by "thumbsup" reaction1548 returns items that the user2 thumbsup to1549 using NOT1550 returns items that the user2 thumbsup to1551 user searches by "thumbsdown" reaction1552 returns items that the user thumbsdown to1553 using NOT1554 returns items that the user thumbsdown to1555 filtering by confidential1556 no filtering1557 returns all items1558 user filters confidential items1559 returns only confidential items1560 user filters only public items1561 returns only public items1562 filtering by item type1563 no type given1564 returns all items1565 incident type1566 returns incident items1567 objective type1568 returns incident items1569 key_result type1570 returns incident items1571 item type1572 returns all items with type issue1573 multiple params1574 returns all items1575 without array1576 returns incident items1577 invalid params1578 returns no items1579 crm filtering1580 filtering by crm contact1581 when the user can read crm contacts1582 returns for that contact1583 when the user can not read crm contacts1584 does not filter by contact1585 filtering by crm organization1586 when the user can read crm organization1587 returns for that crm organization1588 when the user can not read crm organization1589 does not filter by crm organization1590 when the user is unauthorized1591 returns no results1592 when the user can see some, but not all, items1593 returns only items they can see1594 personal scope1595 returns item assigned to the user1596 filtering by project1597 returns items assigned to the user in that project1598 when project restricts items1599 doesn't return team-only items to non team members1600 doesn't return items if feature disabled1601 external authorization1602 behaves like a finder with external authorization service1603 finds the subject1604 with an external authorization service1605 does not include the subject when no project was given1606 includes the subject when a project id was given1607 filtering by due date1608 with param set to no due date1609 returns items with no due date1610 with param set to any due date1611 returns items with any due date1612 with param set to due today1613 returns items due today1614 with param set to due tomorrow1615 returns items due today1616 with param set to overdue1617 returns overdue items1618 with param set to next month and previous two weeks1619 returns items due in the previous two weeks and next month1620 with invalid param1621 returns no items1622 #row_count1623 returns -1 if the query times out1624 when admin mode is enabled1625 returns the number of rows for the default state1626 returns the number of rows for a given state1627 when admin mode is disabled1628 returns no rows1629 #with_confidentiality_access_check1630 when no project filter is given1631 for an anonymous user1632 behaves like returns public, does not return hidden or confidential1633 returns only public items1634 for a user without project membership1635 behaves like returns public, does not return hidden or confidential1636 returns only public items1637 for a guest user1638 behaves like returns public, does not return hidden or confidential1639 returns only public items1640 for a project member with access to view confidential items1641 behaves like returns public and confidential, does not return hidden1642 returns only public and confidential items1643 for an admin1644 when admin mode is enabled1645 behaves like returns public, confidential, and hidden1646 returns all items1647 when admin mode is disabled1648 behaves like returns public, does not return hidden or confidential1649 returns only public items1650 when searching within a specific project1651 for an anonymous user1652 does not filter by confidentiality1653 behaves like returns public, does not return hidden or confidential1654 returns only public items1655 for a user without project membership1656 filters by confidentiality1657 behaves like returns public, does not return hidden or confidential1658 returns only public items1659 for a guest user1660 filters by confidentiality1661 behaves like returns public, does not return hidden or confidential1662 returns only public items1663 for a project member with access to view confidential items1664 does not filter by confidentiality1665 behaves like returns public and confidential, does not return hidden1666 returns only public and confidential items1667 for an admin1668 when admin mode is enabled1669 does not filter by confidentiality1670 behaves like returns public, confidential, and hidden1671 returns all items1672 when admin mode is disabled1673 filters by confidentiality1674 behaves like returns public, does not return hidden or confidential1675 returns only public items1676 #use_cte_for_search?1677 when there is no search param1678 returns false1679 when the force_cte param is falsey1680 returns false1681 when a non-simple sort is given1682 returns false1683 when all conditions are met1684 uses group search optimization1685 returns true1686 uses project search optimization1687 returns true1688 with simple sort1689 returns true1690 with simple sort as a symbol1691 returns true1692 #parent_param=1693 klass: :Project, param: :project_id1694 sets the params1695 klass: :Group, param: :group_id1696 sets the params1697 unexpected parent1698 raises an error1699Gitlab::Database::QueryAnalyzers::PreventSetOperatorMismatch::SelectStmt1700 with lateral join1701 example at ./spec/lib/gitlab/database/query_analyzers/prevent_set_operator_mismatch/select_stmt_spec.rb:340 (PENDING: Not yet implemented)1702 with INTERSECT1703 for basic INTERSECT queries1704 query_name: "set operator with static columns", behavior: "valid SQL"1705 behaves like valid SQL1706 is expected not to include :invalid1707 query_name: "set operator with static referenced columns", behavior: "valid SQL"1708 behaves like valid SQL1709 is expected not to include :invalid1710 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"1711 behaves like valid SQL1712 is expected not to include :invalid1713 query_name: "set operator with dynamic columns", behavior: "valid SQL"1714 behaves like valid SQL1715 is expected not to include :invalid1716 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"1717 behaves like valid SQL1718 is expected not to include :invalid1719 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"1720 behaves like valid SQL1721 is expected not to include :invalid1722 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"1723 behaves like invalid SQL1724 is expected to include :invalid1725 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"1726 behaves like valid SQL1727 is expected not to include :invalid1728 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"1729 behaves like invalid SQL1730 is expected to include :invalid1731 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"1732 behaves like invalid SQL1733 is expected to include :invalid1734 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"1735 behaves like invalid SQL1736 is expected to include :invalid1737 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"1738 behaves like invalid SQL1739 is expected to include :invalid1740 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"1741 behaves like invalid SQL1742 is expected to include :invalid1743 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"1744 behaves like valid SQL1745 is expected not to include :invalid1746 query_name: "set operator without references", behavior: "valid SQL"1747 behaves like valid SQL1748 is expected not to include :invalid1749 for subquery1750 with INTERSECT1751 select_columns: "*"1752 query_name: "set operator with static columns", behavior: "valid SQL"1753 behaves like valid SQL1754 is expected not to include :invalid1755 query_name: "set operator with static referenced columns", behavior: "valid SQL"1756 behaves like valid SQL1757 is expected not to include :invalid1758 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"1759 behaves like valid SQL1760 is expected not to include :invalid1761 query_name: "set operator with dynamic columns", behavior: "valid SQL"1762 behaves like valid SQL1763 is expected not to include :invalid1764 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"1765 behaves like valid SQL1766 is expected not to include :invalid1767 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"1768 behaves like valid SQL1769 is expected not to include :invalid1770 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"1771 behaves like invalid SQL1772 is expected to include :invalid1773 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"1774 behaves like valid SQL1775 is expected not to include :invalid1776 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"1777 behaves like invalid SQL1778 is expected to include :invalid1779 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"1780 behaves like invalid SQL1781 is expected to include :invalid1782 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"1783 behaves like invalid SQL1784 is expected to include :invalid1785 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"1786 behaves like invalid SQL1787 is expected to include :invalid1788 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"1789 behaves like invalid SQL1790 is expected to include :invalid1791 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"1792 behaves like valid SQL1793 is expected not to include :invalid1794 query_name: "set operator without references", behavior: "valid SQL"1795 behaves like valid SQL1796 is expected not to include :invalid1797 select_columns: "sub.*"1798 query_name: "set operator with static columns", behavior: "valid SQL"1799 behaves like valid SQL1800 is expected not to include :invalid1801 query_name: "set operator with static referenced columns", behavior: "valid SQL"1802 behaves like valid SQL1803 is expected not to include :invalid1804 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"1805 behaves like valid SQL1806 is expected not to include :invalid1807 query_name: "set operator with dynamic columns", behavior: "valid SQL"1808 behaves like valid SQL1809 is expected not to include :invalid1810 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"1811 behaves like valid SQL1812 is expected not to include :invalid1813 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"1814 behaves like valid SQL1815 is expected not to include :invalid1816 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"1817 behaves like invalid SQL1818 is expected to include :invalid1819 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"1820 behaves like valid SQL1821 is expected not to include :invalid1822 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"1823 behaves like invalid SQL1824 is expected to include :invalid1825 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"1826 behaves like invalid SQL1827 is expected to include :invalid1828 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"1829 behaves like invalid SQL1830 is expected to include :invalid1831 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"1832 behaves like invalid SQL1833 is expected to include :invalid1834 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"1835 behaves like invalid SQL1836 is expected to include :invalid1837 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"1838 behaves like valid SQL1839 is expected not to include :invalid1840 query_name: "set operator without references", behavior: "valid SQL"1841 behaves like valid SQL1842 is expected not to include :invalid1843 select_columns: "sub"1844 query_name: "set operator with static columns", behavior: "valid SQL"1845 behaves like valid SQL1846 is expected not to include :invalid1847 query_name: "set operator with static referenced columns", behavior: "valid SQL"1848 behaves like valid SQL1849 is expected not to include :invalid1850 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"1851 behaves like valid SQL1852 is expected not to include :invalid1853 query_name: "set operator with dynamic columns", behavior: "valid SQL"1854 behaves like valid SQL1855 is expected not to include :invalid1856 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"1857 behaves like valid SQL1858 is expected not to include :invalid1859 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"1860 behaves like valid SQL1861 is expected not to include :invalid1862 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"1863 behaves like invalid SQL1864 is expected to include :invalid1865 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"1866 behaves like valid SQL1867 is expected not to include :invalid1868 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"1869 behaves like invalid SQL1870 is expected to include :invalid1871 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"1872 behaves like invalid SQL1873 is expected to include :invalid1874 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"1875 behaves like invalid SQL1876 is expected to include :invalid1877 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"1878 behaves like invalid SQL1879 is expected to include :invalid1880 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"1881 behaves like invalid SQL1882 is expected to include :invalid1883 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"1884 behaves like valid SQL1885 is expected not to include :invalid1886 query_name: "set operator without references", behavior: "valid SQL"1887 behaves like valid SQL1888 is expected not to include :invalid1889 select_columns: "sub.id"1890 query_name: "set operator with static columns", behavior: "valid SQL"1891 behaves like valid SQL1892 is expected not to include :invalid1893 query_name: "set operator with static referenced columns", behavior: "valid SQL"1894 behaves like valid SQL1895 is expected not to include :invalid1896 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"1897 behaves like valid SQL1898 is expected not to include :invalid1899 query_name: "set operator with dynamic columns", behavior: "valid SQL"1900 behaves like valid SQL1901 is expected not to include :invalid1902 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"1903 behaves like valid SQL1904 is expected not to include :invalid1905 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"1906 behaves like valid SQL1907 is expected not to include :invalid1908 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"1909 behaves like invalid SQL1910 is expected to include :invalid1911 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"1912 behaves like valid SQL1913 is expected not to include :invalid1914 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"1915 behaves like invalid SQL1916 is expected to include :invalid1917 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"1918 behaves like invalid SQL1919 is expected to include :invalid1920 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"1921 behaves like invalid SQL1922 is expected to include :invalid1923 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"1924 behaves like invalid SQL1925 is expected to include :invalid1926 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"1927 behaves like invalid SQL1928 is expected to include :invalid1929 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"1930 behaves like valid SQL1931 is expected not to include :invalid1932 query_name: "set operator without references", behavior: "valid SQL"1933 behaves like valid SQL1934 is expected not to include :invalid1935 when used by one side of INTERSECT1936 union1: "*", union2: "*", subquery: "*", expected: "valid SQL"1937 behaves like valid SQL1938 is expected not to include :invalid1939 union1: static_namespace_columns, union2: "*", subquery: "*", expected: "invalid SQL"1940 behaves like invalid SQL1941 is expected to include :invalid1942 union1: "*", union2: static_namespace_columns, subquery: "*", expected: "invalid SQL"1943 behaves like invalid SQL1944 is expected to include :invalid1945 union1: "*", union2: "*", subquery: static_namespace_columns, expected: "invalid SQL"1946 behaves like invalid SQL1947 is expected to include :invalid1948 union1: static_namespace_columns, union2: static_namespace_columns, subquery: "*", expected: "valid SQL"1949 behaves like valid SQL1950 is expected not to include :invalid1951 union1: static_namespace_columns, union2: "*", subquery: static_namespace_columns, expected: "invalid SQL"1952 behaves like invalid SQL1953 is expected to include :invalid1954 union1: "*", union2: static_namespace_columns, subquery: static_namespace_columns, expected: "valid SQL"1955 behaves like valid SQL1956 is expected not to include :invalid1957 union1: "namespaces", union2: "namespaces", subquery: "namespaces", expected: "valid SQL"1958 behaves like valid SQL1959 is expected not to include :invalid1960 union1: "NULL :: namespaces", union2: "namespaces", subquery: "id, name", expected: "valid SQL"1961 behaves like valid SQL1962 is expected not to include :invalid1963 union1: "NULL :: namespaces, id, name", union2: "namespaces, id, name", subquery: "namespaces", expected: "valid SQL"1964 behaves like valid SQL1965 is expected not to include :invalid1966 for CTE1967 when INTERSECT1968 select_columns: "*"1969 query_name: "set operator with static columns", behavior: "valid SQL"1970 behaves like valid SQL1971 is expected not to include :invalid1972 query_name: "set operator with static referenced columns", behavior: "valid SQL"1973 behaves like valid SQL1974 is expected not to include :invalid1975 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"1976 behaves like valid SQL1977 is expected not to include :invalid1978 query_name: "set operator with dynamic columns", behavior: "valid SQL"1979 behaves like valid SQL1980 is expected not to include :invalid1981 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"1982 behaves like valid SQL1983 is expected not to include :invalid1984 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"1985 behaves like valid SQL1986 is expected not to include :invalid1987 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"1988 behaves like invalid SQL1989 is expected to include :invalid1990 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"1991 behaves like valid SQL1992 is expected not to include :invalid1993 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"1994 behaves like invalid SQL1995 is expected to include :invalid1996 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"1997 behaves like invalid SQL1998 is expected to include :invalid1999 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2000 behaves like invalid SQL2001 is expected to include :invalid2002 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2003 behaves like invalid SQL2004 is expected to include :invalid2005 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2006 behaves like invalid SQL2007 is expected to include :invalid2008 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2009 behaves like valid SQL2010 is expected not to include :invalid2011 query_name: "set operator without references", behavior: "valid SQL"2012 behaves like valid SQL2013 is expected not to include :invalid2014 select_columns: "namespaces_cte.*"2015 query_name: "set operator with static columns", behavior: "valid SQL"2016 behaves like valid SQL2017 is expected not to include :invalid2018 query_name: "set operator with static referenced columns", behavior: "valid SQL"2019 behaves like valid SQL2020 is expected not to include :invalid2021 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2022 behaves like valid SQL2023 is expected not to include :invalid2024 query_name: "set operator with dynamic columns", behavior: "valid SQL"2025 behaves like valid SQL2026 is expected not to include :invalid2027 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2028 behaves like valid SQL2029 is expected not to include :invalid2030 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2031 behaves like valid SQL2032 is expected not to include :invalid2033 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2034 behaves like invalid SQL2035 is expected to include :invalid2036 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2037 behaves like valid SQL2038 is expected not to include :invalid2039 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2040 behaves like invalid SQL2041 is expected to include :invalid2042 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2043 behaves like invalid SQL2044 is expected to include :invalid2045 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2046 behaves like invalid SQL2047 is expected to include :invalid2048 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2049 behaves like invalid SQL2050 is expected to include :invalid2051 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2052 behaves like invalid SQL2053 is expected to include :invalid2054 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2055 behaves like valid SQL2056 is expected not to include :invalid2057 query_name: "set operator without references", behavior: "valid SQL"2058 behaves like valid SQL2059 is expected not to include :invalid2060 select_columns: "namespaces_cte.id"2061 query_name: "set operator with static columns", behavior: "valid SQL"2062 behaves like valid SQL2063 is expected not to include :invalid2064 query_name: "set operator with static referenced columns", behavior: "valid SQL"2065 behaves like valid SQL2066 is expected not to include :invalid2067 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2068 behaves like valid SQL2069 is expected not to include :invalid2070 query_name: "set operator with dynamic columns", behavior: "valid SQL"2071 behaves like valid SQL2072 is expected not to include :invalid2073 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2074 behaves like valid SQL2075 is expected not to include :invalid2076 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2077 behaves like valid SQL2078 is expected not to include :invalid2079 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2080 behaves like invalid SQL2081 is expected to include :invalid2082 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2083 behaves like valid SQL2084 is expected not to include :invalid2085 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2086 behaves like invalid SQL2087 is expected to include :invalid2088 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2089 behaves like invalid SQL2090 is expected to include :invalid2091 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2092 behaves like invalid SQL2093 is expected to include :invalid2094 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2095 behaves like invalid SQL2096 is expected to include :invalid2097 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2098 behaves like invalid SQL2099 is expected to include :invalid2100 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2101 behaves like valid SQL2102 is expected not to include :invalid2103 query_name: "set operator without references", behavior: "valid SQL"2104 behaves like valid SQL2105 is expected not to include :invalid2106 when used by one side of INTERSECT2107 cte_select_columns: "*", select_columns: "*", cte_name: "some_cte", expected: "valid SQL"2108 behaves like valid SQL2109 is expected not to include :invalid2110 cte_select_columns: static_namespace_columns, select_columns: "*", cte_name: "some_cte", expected: "invalid SQL"2111 behaves like invalid SQL2112 is expected to include :invalid2113 cte_select_columns: "*", select_columns: static_namespace_columns, cte_name: "some_cte", expected: "invalid SQL"2114 behaves like invalid SQL2115 is expected to include :invalid2116 cte_select_columns: static_namespace_columns, select_columns: static_namespace_columns, cte_name: "some_cte", expected: "invalid SQL"2117 behaves like invalid SQL2118 is expected to include :invalid2119 cte_select_columns: "*", select_columns: "*", cte_name: "some_cte", expected: "valid SQL"2120 behaves like valid SQL2121 is expected not to include :invalid2122 cte_select_columns: "*", select_columns: "*", cte_name: "namespaces", expected: "valid SQL"2123 behaves like valid SQL2124 is expected not to include :invalid2125 cte_select_columns: static_namespace_columns, select_columns: "*", cte_name: "namespaces", expected: "valid SQL"2126 behaves like valid SQL2127 is expected not to include :invalid2128 cte_select_columns: "*", select_columns: static_namespace_columns, cte_name: "namespaces", expected: "invalid SQL"2129 behaves like invalid SQL2130 is expected to include :invalid2131 cte_select_columns: static_namespace_columns, select_columns: static_namespace_columns, cte_name: "namespaces", expected: "valid SQL"2132 behaves like valid SQL2133 is expected not to include :invalid2134 cte_select_columns: "*", select_columns: "*", cte_name: "namespaces", expected: "valid SQL"2135 behaves like valid SQL2136 is expected not to include :invalid2137 when recursive2138 select1: "id", select2: "id", expected: "valid SQL"2139 behaves like valid SQL2140 is expected not to include :invalid2141 select1: static_namespace_columns, select2: "*", expected: "valid SQL"2142 behaves like valid SQL2143 is expected not to include :invalid2144 select1: "*", select2: static_namespace_columns, expected: "invalid SQL"2145 behaves like invalid SQL2146 is expected to include :invalid2147 for subselect2148 with set operator2149 behaves like valid SQL2150 is expected not to include :invalid2151 when columns are not referenced2152 behaves like invalid SQL2153 is expected to include :invalid2154 with UNION2155 for basic UNION queries2156 query_name: "set operator with static columns", behavior: "valid SQL"2157 behaves like valid SQL2158 is expected not to include :invalid2159 query_name: "set operator with static referenced columns", behavior: "valid SQL"2160 behaves like valid SQL2161 is expected not to include :invalid2162 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2163 behaves like valid SQL2164 is expected not to include :invalid2165 query_name: "set operator with dynamic columns", behavior: "valid SQL"2166 behaves like valid SQL2167 is expected not to include :invalid2168 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2169 behaves like valid SQL2170 is expected not to include :invalid2171 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2172 behaves like valid SQL2173 is expected not to include :invalid2174 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2175 behaves like invalid SQL2176 is expected to include :invalid2177 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2178 behaves like valid SQL2179 is expected not to include :invalid2180 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2181 behaves like invalid SQL2182 is expected to include :invalid2183 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2184 behaves like invalid SQL2185 is expected to include :invalid2186 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2187 behaves like invalid SQL2188 is expected to include :invalid2189 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2190 behaves like invalid SQL2191 is expected to include :invalid2192 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2193 behaves like invalid SQL2194 is expected to include :invalid2195 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2196 behaves like valid SQL2197 is expected not to include :invalid2198 query_name: "set operator without references", behavior: "valid SQL"2199 behaves like valid SQL2200 is expected not to include :invalid2201 for subquery2202 with UNION2203 select_columns: "*"2204 query_name: "set operator with static columns", behavior: "valid SQL"2205 behaves like valid SQL2206 is expected not to include :invalid2207 query_name: "set operator with static referenced columns", behavior: "valid SQL"2208 behaves like valid SQL2209 is expected not to include :invalid2210 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2211 behaves like valid SQL2212 is expected not to include :invalid2213 query_name: "set operator with dynamic columns", behavior: "valid SQL"2214 behaves like valid SQL2215 is expected not to include :invalid2216 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2217 behaves like valid SQL2218 is expected not to include :invalid2219 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2220 behaves like valid SQL2221 is expected not to include :invalid2222 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2223 behaves like invalid SQL2224 is expected to include :invalid2225 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2226 behaves like valid SQL2227 is expected not to include :invalid2228 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2229 behaves like invalid SQL2230 is expected to include :invalid2231 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2232 behaves like invalid SQL2233 is expected to include :invalid2234 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2235 behaves like invalid SQL2236 is expected to include :invalid2237 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2238 behaves like invalid SQL2239 is expected to include :invalid2240 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2241 behaves like invalid SQL2242 is expected to include :invalid2243 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2244 behaves like valid SQL2245 is expected not to include :invalid2246 query_name: "set operator without references", behavior: "valid SQL"2247 behaves like valid SQL2248 is expected not to include :invalid2249 select_columns: "sub.*"2250 query_name: "set operator with static columns", behavior: "valid SQL"2251 behaves like valid SQL2252 is expected not to include :invalid2253 query_name: "set operator with static referenced columns", behavior: "valid SQL"2254 behaves like valid SQL2255 is expected not to include :invalid2256 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2257 behaves like valid SQL2258 is expected not to include :invalid2259 query_name: "set operator with dynamic columns", behavior: "valid SQL"2260 behaves like valid SQL2261 is expected not to include :invalid2262 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2263 behaves like valid SQL2264 is expected not to include :invalid2265 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2266 behaves like valid SQL2267 is expected not to include :invalid2268 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2269 behaves like invalid SQL2270 is expected to include :invalid2271 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2272 behaves like valid SQL2273 is expected not to include :invalid2274 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2275 behaves like invalid SQL2276 is expected to include :invalid2277 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2278 behaves like invalid SQL2279 is expected to include :invalid2280 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2281 behaves like invalid SQL2282 is expected to include :invalid2283 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2284 behaves like invalid SQL2285 is expected to include :invalid2286 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2287 behaves like invalid SQL2288 is expected to include :invalid2289 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2290 behaves like valid SQL2291 is expected not to include :invalid2292 query_name: "set operator without references", behavior: "valid SQL"2293 behaves like valid SQL2294 is expected not to include :invalid2295 select_columns: "sub"2296 query_name: "set operator with static columns", behavior: "valid SQL"2297 behaves like valid SQL2298 is expected not to include :invalid2299 query_name: "set operator with static referenced columns", behavior: "valid SQL"2300 behaves like valid SQL2301 is expected not to include :invalid2302 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2303 behaves like valid SQL2304 is expected not to include :invalid2305 query_name: "set operator with dynamic columns", behavior: "valid SQL"2306 behaves like valid SQL2307 is expected not to include :invalid2308 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2309 behaves like valid SQL2310 is expected not to include :invalid2311 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2312 behaves like valid SQL2313 is expected not to include :invalid2314 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2315 behaves like invalid SQL2316 is expected to include :invalid2317 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2318 behaves like valid SQL2319 is expected not to include :invalid2320 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2321 behaves like invalid SQL2322 is expected to include :invalid2323 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2324 behaves like invalid SQL2325 is expected to include :invalid2326 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2327 behaves like invalid SQL2328 is expected to include :invalid2329 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2330 behaves like invalid SQL2331 is expected to include :invalid2332 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2333 behaves like invalid SQL2334 is expected to include :invalid2335 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2336 behaves like valid SQL2337 is expected not to include :invalid2338 query_name: "set operator without references", behavior: "valid SQL"2339 behaves like valid SQL2340 is expected not to include :invalid2341 select_columns: "sub.id"2342 query_name: "set operator with static columns", behavior: "valid SQL"2343 behaves like valid SQL2344 is expected not to include :invalid2345 query_name: "set operator with static referenced columns", behavior: "valid SQL"2346 behaves like valid SQL2347 is expected not to include :invalid2348 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2349 behaves like valid SQL2350 is expected not to include :invalid2351 query_name: "set operator with dynamic columns", behavior: "valid SQL"2352 behaves like valid SQL2353 is expected not to include :invalid2354 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2355 behaves like valid SQL2356 is expected not to include :invalid2357 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2358 behaves like valid SQL2359 is expected not to include :invalid2360 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2361 behaves like invalid SQL2362 is expected to include :invalid2363 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2364 behaves like valid SQL2365 is expected not to include :invalid2366 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2367 behaves like invalid SQL2368 is expected to include :invalid2369 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2370 behaves like invalid SQL2371 is expected to include :invalid2372 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2373 behaves like invalid SQL2374 is expected to include :invalid2375 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2376 behaves like invalid SQL2377 is expected to include :invalid2378 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2379 behaves like invalid SQL2380 is expected to include :invalid2381 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2382 behaves like valid SQL2383 is expected not to include :invalid2384 query_name: "set operator without references", behavior: "valid SQL"2385 behaves like valid SQL2386 is expected not to include :invalid2387 when used by one side of UNION2388 union1: "*", union2: "*", subquery: "*", expected: "valid SQL"2389 behaves like valid SQL2390 is expected not to include :invalid2391 union1: static_namespace_columns, union2: "*", subquery: "*", expected: "invalid SQL"2392 behaves like invalid SQL2393 is expected to include :invalid2394 union1: "*", union2: static_namespace_columns, subquery: "*", expected: "invalid SQL"2395 behaves like invalid SQL2396 is expected to include :invalid2397 union1: "*", union2: "*", subquery: static_namespace_columns, expected: "invalid SQL"2398 behaves like invalid SQL2399 is expected to include :invalid2400 union1: static_namespace_columns, union2: static_namespace_columns, subquery: "*", expected: "valid SQL"2401 behaves like valid SQL2402 is expected not to include :invalid2403 union1: static_namespace_columns, union2: "*", subquery: static_namespace_columns, expected: "invalid SQL"2404 behaves like invalid SQL2405 is expected to include :invalid2406 union1: "*", union2: static_namespace_columns, subquery: static_namespace_columns, expected: "valid SQL"2407 behaves like valid SQL2408 is expected not to include :invalid2409 union1: "namespaces", union2: "namespaces", subquery: "namespaces", expected: "valid SQL"2410 behaves like valid SQL2411 is expected not to include :invalid2412 union1: "NULL :: namespaces", union2: "namespaces", subquery: "id, name", expected: "valid SQL"2413 behaves like valid SQL2414 is expected not to include :invalid2415 union1: "NULL :: namespaces, id, name", union2: "namespaces, id, name", subquery: "namespaces", expected: "valid SQL"2416 behaves like valid SQL2417 is expected not to include :invalid2418 for CTE2419 when UNION2420 select_columns: "*"2421 query_name: "set operator with static columns", behavior: "valid SQL"2422 behaves like valid SQL2423 is expected not to include :invalid2424 query_name: "set operator with static referenced columns", behavior: "valid SQL"2425 behaves like valid SQL2426 is expected not to include :invalid2427 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2428 behaves like valid SQL2429 is expected not to include :invalid2430 query_name: "set operator with dynamic columns", behavior: "valid SQL"2431 behaves like valid SQL2432 is expected not to include :invalid2433 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2434 behaves like valid SQL2435 is expected not to include :invalid2436 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2437 behaves like valid SQL2438 is expected not to include :invalid2439 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2440 behaves like invalid SQL2441 is expected to include :invalid2442 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2443 behaves like valid SQL2444 is expected not to include :invalid2445 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2446 behaves like invalid SQL2447 is expected to include :invalid2448 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2449 behaves like invalid SQL2450 is expected to include :invalid2451 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2452 behaves like invalid SQL2453 is expected to include :invalid2454 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2455 behaves like invalid SQL2456 is expected to include :invalid2457 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2458 behaves like invalid SQL2459 is expected to include :invalid2460 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2461 behaves like valid SQL2462 is expected not to include :invalid2463 query_name: "set operator without references", behavior: "valid SQL"2464 behaves like valid SQL2465 is expected not to include :invalid2466 select_columns: "namespaces_cte.*"2467 query_name: "set operator with static columns", behavior: "valid SQL"2468 behaves like valid SQL2469 is expected not to include :invalid2470 query_name: "set operator with static referenced columns", behavior: "valid SQL"2471 behaves like valid SQL2472 is expected not to include :invalid2473 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2474 behaves like valid SQL2475 is expected not to include :invalid2476 query_name: "set operator with dynamic columns", behavior: "valid SQL"2477 behaves like valid SQL2478 is expected not to include :invalid2479 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2480 behaves like valid SQL2481 is expected not to include :invalid2482 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2483 behaves like valid SQL2484 is expected not to include :invalid2485 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2486 behaves like invalid SQL2487 is expected to include :invalid2488 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2489 behaves like valid SQL2490 is expected not to include :invalid2491 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2492 behaves like invalid SQL2493 is expected to include :invalid2494 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2495 behaves like invalid SQL2496 is expected to include :invalid2497 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2498 behaves like invalid SQL2499 is expected to include :invalid2500 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2501 behaves like invalid SQL2502 is expected to include :invalid2503 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2504 behaves like invalid SQL2505 is expected to include :invalid2506 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2507 behaves like valid SQL2508 is expected not to include :invalid2509 query_name: "set operator without references", behavior: "valid SQL"2510 behaves like valid SQL2511 is expected not to include :invalid2512 select_columns: "namespaces_cte.id"2513 query_name: "set operator with static columns", behavior: "valid SQL"2514 behaves like valid SQL2515 is expected not to include :invalid2516 query_name: "set operator with static referenced columns", behavior: "valid SQL"2517 behaves like valid SQL2518 is expected not to include :invalid2519 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2520 behaves like valid SQL2521 is expected not to include :invalid2522 query_name: "set operator with dynamic columns", behavior: "valid SQL"2523 behaves like valid SQL2524 is expected not to include :invalid2525 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2526 behaves like valid SQL2527 is expected not to include :invalid2528 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2529 behaves like valid SQL2530 is expected not to include :invalid2531 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2532 behaves like invalid SQL2533 is expected to include :invalid2534 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2535 behaves like valid SQL2536 is expected not to include :invalid2537 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2538 behaves like invalid SQL2539 is expected to include :invalid2540 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2541 behaves like invalid SQL2542 is expected to include :invalid2543 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2544 behaves like invalid SQL2545 is expected to include :invalid2546 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2547 behaves like invalid SQL2548 is expected to include :invalid2549 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2550 behaves like invalid SQL2551 is expected to include :invalid2552 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2553 behaves like valid SQL2554 is expected not to include :invalid2555 query_name: "set operator without references", behavior: "valid SQL"2556 behaves like valid SQL2557 is expected not to include :invalid2558 when used by one side of UNION2559 cte_select_columns: "*", select_columns: "*", cte_name: "some_cte", expected: "valid SQL"2560 behaves like valid SQL2561 is expected not to include :invalid2562 cte_select_columns: static_namespace_columns, select_columns: "*", cte_name: "some_cte", expected: "invalid SQL"2563 behaves like invalid SQL2564 is expected to include :invalid2565 cte_select_columns: "*", select_columns: static_namespace_columns, cte_name: "some_cte", expected: "invalid SQL"2566 behaves like invalid SQL2567 is expected to include :invalid2568 cte_select_columns: static_namespace_columns, select_columns: static_namespace_columns, cte_name: "some_cte", expected: "invalid SQL"2569 behaves like invalid SQL2570 is expected to include :invalid2571 cte_select_columns: "*", select_columns: "*", cte_name: "some_cte", expected: "valid SQL"2572 behaves like valid SQL2573 is expected not to include :invalid2574 cte_select_columns: "*", select_columns: "*", cte_name: "namespaces", expected: "valid SQL"2575 behaves like valid SQL2576 is expected not to include :invalid2577 cte_select_columns: static_namespace_columns, select_columns: "*", cte_name: "namespaces", expected: "valid SQL"2578 behaves like valid SQL2579 is expected not to include :invalid2580 cte_select_columns: "*", select_columns: static_namespace_columns, cte_name: "namespaces", expected: "invalid SQL"2581 behaves like invalid SQL2582 is expected to include :invalid2583 cte_select_columns: static_namespace_columns, select_columns: static_namespace_columns, cte_name: "namespaces", expected: "valid SQL"2584 behaves like valid SQL2585 is expected not to include :invalid2586 cte_select_columns: "*", select_columns: "*", cte_name: "namespaces", expected: "valid SQL"2587 behaves like valid SQL2588 is expected not to include :invalid2589 when recursive2590 select1: "id", select2: "id", expected: "valid SQL"2591 behaves like valid SQL2592 is expected not to include :invalid2593 select1: static_namespace_columns, select2: "*", expected: "valid SQL"2594 behaves like valid SQL2595 is expected not to include :invalid2596 select1: "*", select2: static_namespace_columns, expected: "invalid SQL"2597 behaves like invalid SQL2598 is expected to include :invalid2599 for subselect2600 with set operator2601 behaves like valid SQL2602 is expected not to include :invalid2603 with EXCEPT2604 for basic EXCEPT queries2605 query_name: "set operator with static columns", behavior: "valid SQL"2606 behaves like valid SQL2607 is expected not to include :invalid2608 query_name: "set operator with static referenced columns", behavior: "valid SQL"2609 behaves like valid SQL2610 is expected not to include :invalid2611 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2612 behaves like valid SQL2613 is expected not to include :invalid2614 query_name: "set operator with dynamic columns", behavior: "valid SQL"2615 behaves like valid SQL2616 is expected not to include :invalid2617 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2618 behaves like valid SQL2619 is expected not to include :invalid2620 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2621 behaves like valid SQL2622 is expected not to include :invalid2623 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2624 behaves like invalid SQL2625 is expected to include :invalid2626 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2627 behaves like valid SQL2628 is expected not to include :invalid2629 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2630 behaves like invalid SQL2631 is expected to include :invalid2632 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2633 behaves like invalid SQL2634 is expected to include :invalid2635 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2636 behaves like invalid SQL2637 is expected to include :invalid2638 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2639 behaves like invalid SQL2640 is expected to include :invalid2641 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2642 behaves like invalid SQL2643 is expected to include :invalid2644 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2645 behaves like valid SQL2646 is expected not to include :invalid2647 query_name: "set operator without references", behavior: "valid SQL"2648 behaves like valid SQL2649 is expected not to include :invalid2650 for subquery2651 with EXCEPT2652 select_columns: "*"2653 query_name: "set operator with static columns", behavior: "valid SQL"2654 behaves like valid SQL2655 is expected not to include :invalid2656 query_name: "set operator with static referenced columns", behavior: "valid SQL"2657 behaves like valid SQL2658 is expected not to include :invalid2659 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2660 behaves like valid SQL2661 is expected not to include :invalid2662 query_name: "set operator with dynamic columns", behavior: "valid SQL"2663 behaves like valid SQL2664 is expected not to include :invalid2665 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2666 behaves like valid SQL2667 is expected not to include :invalid2668 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2669 behaves like valid SQL2670 is expected not to include :invalid2671 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2672 behaves like invalid SQL2673 is expected to include :invalid2674 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2675 behaves like valid SQL2676 is expected not to include :invalid2677 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2678 behaves like invalid SQL2679 is expected to include :invalid2680 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2681 behaves like invalid SQL2682 is expected to include :invalid2683 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2684 behaves like invalid SQL2685 is expected to include :invalid2686 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2687 behaves like invalid SQL2688 is expected to include :invalid2689 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2690 behaves like invalid SQL2691 is expected to include :invalid2692 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2693 behaves like valid SQL2694 is expected not to include :invalid2695 query_name: "set operator without references", behavior: "valid SQL"2696 behaves like valid SQL2697 is expected not to include :invalid2698 select_columns: "sub.*"2699 query_name: "set operator with static columns", behavior: "valid SQL"2700 behaves like valid SQL2701 is expected not to include :invalid2702 query_name: "set operator with static referenced columns", behavior: "valid SQL"2703 behaves like valid SQL2704 is expected not to include :invalid2705 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2706 behaves like valid SQL2707 is expected not to include :invalid2708 query_name: "set operator with dynamic columns", behavior: "valid SQL"2709 behaves like valid SQL2710 is expected not to include :invalid2711 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2712 behaves like valid SQL2713 is expected not to include :invalid2714 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2715 behaves like valid SQL2716 is expected not to include :invalid2717 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2718 behaves like invalid SQL2719 is expected to include :invalid2720 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2721 behaves like valid SQL2722 is expected not to include :invalid2723 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2724 behaves like invalid SQL2725 is expected to include :invalid2726 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2727 behaves like invalid SQL2728 is expected to include :invalid2729 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2730 behaves like invalid SQL2731 is expected to include :invalid2732 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2733 behaves like invalid SQL2734 is expected to include :invalid2735 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2736 behaves like invalid SQL2737 is expected to include :invalid2738 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2739 behaves like valid SQL2740 is expected not to include :invalid2741 query_name: "set operator without references", behavior: "valid SQL"2742 behaves like valid SQL2743 is expected not to include :invalid2744 select_columns: "sub"2745 query_name: "set operator with static columns", behavior: "valid SQL"2746 behaves like valid SQL2747 is expected not to include :invalid2748 query_name: "set operator with static referenced columns", behavior: "valid SQL"2749 behaves like valid SQL2750 is expected not to include :invalid2751 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2752 behaves like valid SQL2753 is expected not to include :invalid2754 query_name: "set operator with dynamic columns", behavior: "valid SQL"2755 behaves like valid SQL2756 is expected not to include :invalid2757 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2758 behaves like valid SQL2759 is expected not to include :invalid2760 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2761 behaves like valid SQL2762 is expected not to include :invalid2763 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2764 behaves like invalid SQL2765 is expected to include :invalid2766 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2767 behaves like valid SQL2768 is expected not to include :invalid2769 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2770 behaves like invalid SQL2771 is expected to include :invalid2772 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2773 behaves like invalid SQL2774 is expected to include :invalid2775 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2776 behaves like invalid SQL2777 is expected to include :invalid2778 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2779 behaves like invalid SQL2780 is expected to include :invalid2781 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2782 behaves like invalid SQL2783 is expected to include :invalid2784 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2785 behaves like valid SQL2786 is expected not to include :invalid2787 query_name: "set operator without references", behavior: "valid SQL"2788 behaves like valid SQL2789 is expected not to include :invalid2790 select_columns: "sub.id"2791 query_name: "set operator with static columns", behavior: "valid SQL"2792 behaves like valid SQL2793 is expected not to include :invalid2794 query_name: "set operator with static referenced columns", behavior: "valid SQL"2795 behaves like valid SQL2796 is expected not to include :invalid2797 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2798 behaves like valid SQL2799 is expected not to include :invalid2800 query_name: "set operator with dynamic columns", behavior: "valid SQL"2801 behaves like valid SQL2802 is expected not to include :invalid2803 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2804 behaves like valid SQL2805 is expected not to include :invalid2806 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2807 behaves like valid SQL2808 is expected not to include :invalid2809 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2810 behaves like invalid SQL2811 is expected to include :invalid2812 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2813 behaves like valid SQL2814 is expected not to include :invalid2815 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2816 behaves like invalid SQL2817 is expected to include :invalid2818 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2819 behaves like invalid SQL2820 is expected to include :invalid2821 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2822 behaves like invalid SQL2823 is expected to include :invalid2824 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2825 behaves like invalid SQL2826 is expected to include :invalid2827 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2828 behaves like invalid SQL2829 is expected to include :invalid2830 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2831 behaves like valid SQL2832 is expected not to include :invalid2833 query_name: "set operator without references", behavior: "valid SQL"2834 behaves like valid SQL2835 is expected not to include :invalid2836 when used by one side of EXCEPT2837 union1: "*", union2: "*", subquery: "*", expected: "valid SQL"2838 behaves like valid SQL2839 is expected not to include :invalid2840 union1: static_namespace_columns, union2: "*", subquery: "*", expected: "invalid SQL"2841 behaves like invalid SQL2842 is expected to include :invalid2843 union1: "*", union2: static_namespace_columns, subquery: "*", expected: "invalid SQL"2844 behaves like invalid SQL2845 is expected to include :invalid2846 union1: "*", union2: "*", subquery: static_namespace_columns, expected: "invalid SQL"2847 behaves like invalid SQL2848 is expected to include :invalid2849 union1: static_namespace_columns, union2: static_namespace_columns, subquery: "*", expected: "valid SQL"2850 behaves like valid SQL2851 is expected not to include :invalid2852 union1: static_namespace_columns, union2: "*", subquery: static_namespace_columns, expected: "invalid SQL"2853 behaves like invalid SQL2854 is expected to include :invalid2855 union1: "*", union2: static_namespace_columns, subquery: static_namespace_columns, expected: "valid SQL"2856 behaves like valid SQL2857 is expected not to include :invalid2858 union1: "namespaces", union2: "namespaces", subquery: "namespaces", expected: "valid SQL"2859 behaves like valid SQL2860 is expected not to include :invalid2861 union1: "NULL :: namespaces", union2: "namespaces", subquery: "id, name", expected: "valid SQL"2862 behaves like valid SQL2863 is expected not to include :invalid2864 union1: "NULL :: namespaces, id, name", union2: "namespaces, id, name", subquery: "namespaces", expected: "valid SQL"2865 behaves like valid SQL2866 is expected not to include :invalid2867 for CTE2868 when EXCEPT2869 select_columns: "*"2870 query_name: "set operator with static columns", behavior: "valid SQL"2871 behaves like valid SQL2872 is expected not to include :invalid2873 query_name: "set operator with static referenced columns", behavior: "valid SQL"2874 behaves like valid SQL2875 is expected not to include :invalid2876 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2877 behaves like valid SQL2878 is expected not to include :invalid2879 query_name: "set operator with dynamic columns", behavior: "valid SQL"2880 behaves like valid SQL2881 is expected not to include :invalid2882 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2883 behaves like valid SQL2884 is expected not to include :invalid2885 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2886 behaves like valid SQL2887 is expected not to include :invalid2888 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2889 behaves like invalid SQL2890 is expected to include :invalid2891 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2892 behaves like valid SQL2893 is expected not to include :invalid2894 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2895 behaves like invalid SQL2896 is expected to include :invalid2897 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2898 behaves like invalid SQL2899 is expected to include :invalid2900 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2901 behaves like invalid SQL2902 is expected to include :invalid2903 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2904 behaves like invalid SQL2905 is expected to include :invalid2906 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2907 behaves like invalid SQL2908 is expected to include :invalid2909 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2910 behaves like valid SQL2911 is expected not to include :invalid2912 query_name: "set operator without references", behavior: "valid SQL"2913 behaves like valid SQL2914 is expected not to include :invalid2915 select_columns: "namespaces_cte.*"2916 query_name: "set operator with static columns", behavior: "valid SQL"2917 behaves like valid SQL2918 is expected not to include :invalid2919 query_name: "set operator with static referenced columns", behavior: "valid SQL"2920 behaves like valid SQL2921 is expected not to include :invalid2922 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2923 behaves like valid SQL2924 is expected not to include :invalid2925 query_name: "set operator with dynamic columns", behavior: "valid SQL"2926 behaves like valid SQL2927 is expected not to include :invalid2928 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2929 behaves like valid SQL2930 is expected not to include :invalid2931 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2932 behaves like valid SQL2933 is expected not to include :invalid2934 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2935 behaves like invalid SQL2936 is expected to include :invalid2937 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2938 behaves like valid SQL2939 is expected not to include :invalid2940 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2941 behaves like invalid SQL2942 is expected to include :invalid2943 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2944 behaves like invalid SQL2945 is expected to include :invalid2946 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2947 behaves like invalid SQL2948 is expected to include :invalid2949 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2950 behaves like invalid SQL2951 is expected to include :invalid2952 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2953 behaves like invalid SQL2954 is expected to include :invalid2955 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"2956 behaves like valid SQL2957 is expected not to include :invalid2958 query_name: "set operator without references", behavior: "valid SQL"2959 behaves like valid SQL2960 is expected not to include :invalid2961 select_columns: "namespaces_cte.id"2962 query_name: "set operator with static columns", behavior: "valid SQL"2963 behaves like valid SQL2964 is expected not to include :invalid2965 query_name: "set operator with static referenced columns", behavior: "valid SQL"2966 behaves like valid SQL2967 is expected not to include :invalid2968 query_name: "set operator with static alias referenced columns", behavior: "valid SQL"2969 behaves like valid SQL2970 is expected not to include :invalid2971 query_name: "set operator with dynamic columns", behavior: "valid SQL"2972 behaves like valid SQL2973 is expected not to include :invalid2974 query_name: "set operator with dynamic referenced columns", behavior: "valid SQL"2975 behaves like valid SQL2976 is expected not to include :invalid2977 query_name: "set operator with dynamic referenced aliased columns", behavior: "valid SQL"2978 behaves like valid SQL2979 is expected not to include :invalid2980 query_name: "set operator with dynamic columns without using star", behavior: "invalid SQL"2981 behaves like invalid SQL2982 is expected to include :invalid2983 query_name: "set operator with single dynamic referenced columns", behavior: "valid SQL"2984 behaves like valid SQL2985 is expected not to include :invalid2986 query_name: "set operator with static and dynamic columns", behavior: "invalid SQL"2987 behaves like invalid SQL2988 is expected to include :invalid2989 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2990 behaves like invalid SQL2991 is expected to include :invalid2992 query_name: "set operator with static aliased columns and dynamic columns", behavior: "invalid SQL"2993 behaves like invalid SQL2994 is expected to include :invalid2995 query_name: "set operator with static columns and dynamic aliased columns", behavior: "invalid SQL"2996 behaves like invalid SQL2997 is expected to include :invalid2998 query_name: "set operator with static and dynamic aliased columns", behavior: "invalid SQL"2999 behaves like invalid SQL3000 is expected to include :invalid3001 query_name: "set operator with mixed dynamic and static columns", behavior: "valid SQL"3002 behaves like valid SQL3003 is expected not to include :invalid3004 query_name: "set operator without references", behavior: "valid SQL"3005 behaves like valid SQL3006 is expected not to include :invalid3007 when used by one side of EXCEPT3008 cte_select_columns: "*", select_columns: "*", cte_name: "some_cte", expected: "valid SQL"3009 behaves like valid SQL3010 is expected not to include :invalid3011 cte_select_columns: static_namespace_columns, select_columns: "*", cte_name: "some_cte", expected: "invalid SQL"3012 behaves like invalid SQL3013 is expected to include :invalid3014 cte_select_columns: "*", select_columns: static_namespace_columns, cte_name: "some_cte", expected: "invalid SQL"3015 behaves like invalid SQL3016 is expected to include :invalid3017 cte_select_columns: static_namespace_columns, select_columns: static_namespace_columns, cte_name: "some_cte", expected: "invalid SQL"3018 behaves like invalid SQL3019 is expected to include :invalid3020 cte_select_columns: "*", select_columns: "*", cte_name: "some_cte", expected: "valid SQL"3021 behaves like valid SQL3022 is expected not to include :invalid3023 cte_select_columns: "*", select_columns: "*", cte_name: "namespaces", expected: "valid SQL"3024 behaves like valid SQL3025 is expected not to include :invalid3026 cte_select_columns: static_namespace_columns, select_columns: "*", cte_name: "namespaces", expected: "valid SQL"3027 behaves like valid SQL3028 is expected not to include :invalid3029 cte_select_columns: "*", select_columns: static_namespace_columns, cte_name: "namespaces", expected: "invalid SQL"3030 behaves like invalid SQL3031 is expected to include :invalid3032 cte_select_columns: static_namespace_columns, select_columns: static_namespace_columns, cte_name: "namespaces", expected: "valid SQL"3033 behaves like valid SQL3034 is expected not to include :invalid3035 cte_select_columns: "*", select_columns: "*", cte_name: "namespaces", expected: "valid SQL"3036 behaves like valid SQL3037 is expected not to include :invalid3038 when recursive3039 select1: "id", select2: "id", expected: "valid SQL"3040 behaves like valid SQL3041 is expected not to include :invalid3042 select1: static_namespace_columns, select2: "*", expected: "valid SQL"3043 behaves like valid SQL3044 is expected not to include :invalid3045 select1: "*", select2: static_namespace_columns, expected: "invalid SQL"3046 behaves like invalid SQL3047 is expected to include :invalid3048 for subselect3049 with set operator3050 behaves like valid SQL3051 is expected not to include :invalid3052ReleaseHighlight3053 .paginated_query3054 with page param3055 when there is another page of results3056 responds with paginated query results3057 when there is NOT another page of results3058 responds with paginated query results and no next_page3059 when that specific page does not exist3060 returns nil3061 .paginated3062 with no page param3063 uses multiple levels of cache3064 returns platform specific items3065 parses the description as markdown and returns html, and links are target="_blank"3066 logs an error if theres an error parsing markdown for an item, and skips it3067 when Gitlab.com3068 responds with a different set of data3069 YAML parsing throws an exception3070 fails gracefully and logs an error3071 .most_recent_item_count3072 uses process memory cache3073 when recent release items exist3074 returns the count from the most recent file3075 when recent release items do NOT exist3076 returns nil3077 .most_recent_version_digest3078 uses process memory cache3079 when recent release items exist3080 returns a digest from the release of the first item of the most recent file3081 when recent release items do NOT exist3082 returns nil3083 .load_items3084 whats new for all tiers3085 returns all items3086 whats new for current tier only3087 returns items with package=Free3088 YAML parsing throws an exception3089 fails gracefully and logs an error3090 QueryResult3091 responds to map3092 .current_package3093 returns Free3094 .file_paths3095 joins relative file paths with the root path to avoid caching the root url3096ObjectStorage::DirectUpload3097 #has_length3098 is known3099 maximum size is not required3100 is unknown3101 and maximum size is specified3102 does not raise an error3103 and maximum size is not specified3104 raises an error3105 #get_url3106 when AWS is used3107 calls the proper method3108 when Google is used3109 calls the proper method3110 #to_hash3111 when AWS is used3112 when length is known3113 behaves like a valid S3 upload without multipart data3114 behaves like a valid S3 upload3115 sets Workhorse client data3116 behaves like a valid upload3117 returns valid structure3118 with an object with UTF-8 characters3119 returns an escaped path3120 when no region is specified3121 defaults to us-east-13122 when V2 signatures are used3123 does not enable Workhorse client3124 when V4 signatures are used3125 enables the Workhorse client for instance profiles3126 when consolidated settings are used3127 enables the Workhorse client3128 when only server side encryption is used3129 sends server side encryption settings3130 when SSE-KMS is used3131 sends server side encryption settings3132 behaves like a valid upload without multipart data3133 returns valid structure3134 behaves like a valid upload3135 returns valid structure3136 with an object with UTF-8 characters3137 returns an escaped path3138 when path style is true3139 behaves like a valid S3 upload without multipart data3140 behaves like a valid S3 upload3141 sets Workhorse client data3142 behaves like a valid upload3143 returns valid structure3144 with an object with UTF-8 characters3145 returns an escaped path3146 when no region is specified3147 defaults to us-east-13148 when V2 signatures are used3149 does not enable Workhorse client3150 when V4 signatures are used3151 enables the Workhorse client for instance profiles3152 when consolidated settings are used3153 enables the Workhorse client3154 when only server side encryption is used3155 sends server side encryption settings3156 when SSE-KMS is used3157 sends server side encryption settings3158 behaves like a valid upload without multipart data3159 returns valid structure3160 behaves like a valid upload3161 returns valid structure3162 with an object with UTF-8 characters3163 returns an escaped path3164 when IAM profile is true3165 behaves like a valid S3 upload without multipart data3166 behaves like a valid S3 upload3167 sets Workhorse client data3168 behaves like a valid upload3169 returns valid structure3170 with an object with UTF-8 characters3171 returns an escaped path3172 when no region is specified3173 defaults to us-east-13174 when V2 signatures are used3175 does not enable Workhorse client3176 when V4 signatures are used3177 enables the Workhorse client for instance profiles3178 when consolidated settings are used3179 enables the Workhorse client3180 when only server side encryption is used3181 sends server side encryption settings3182 when SSE-KMS is used3183 sends server side encryption settings3184 behaves like a valid upload without multipart data3185 returns valid structure3186 behaves like a valid upload3187 returns valid structure3188 with an object with UTF-8 characters3189 returns an escaped path3190 when IMSDv2 is available3191 behaves like a valid S3 upload without multipart data3192 behaves like a valid S3 upload3193 sets Workhorse client data3194 behaves like a valid upload3195 returns valid structure3196 with an object with UTF-8 characters3197 returns an escaped path3198 when no region is specified3199 defaults to us-east-13200 when V2 signatures are used3201 does not enable Workhorse client3202 when V4 signatures are used3203 enables the Workhorse client for instance profiles3204 when consolidated settings are used3205 enables the Workhorse client3206 when only server side encryption is used3207 sends server side encryption settings3208 when SSE-KMS is used3209 sends server side encryption settings3210 behaves like a valid upload without multipart data3211 returns valid structure3212 behaves like a valid upload3213 returns valid structure3214 with an object with UTF-8 characters3215 returns an escaped path3216 when length is unknown3217 behaves like a valid S3 upload with multipart data3218 behaves like a valid S3 upload3219 sets Workhorse client data3220 behaves like a valid upload3221 returns valid structure3222 with an object with UTF-8 characters3223 returns an escaped path3224 when no region is specified3225 defaults to us-east-13226 when V2 signatures are used3227 does not enable Workhorse client3228 when V4 signatures are used3229 enables the Workhorse client for instance profiles3230 when consolidated settings are used3231 enables the Workhorse client3232 when only server side encryption is used3233 sends server side encryption settings3234 when SSE-KMS is used3235 sends server side encryption settings3236 behaves like a valid upload with multipart data3237 returns valid structure3238 uses only strings in query parameters3239 behaves like a valid upload3240 returns valid structure3241 with an object with UTF-8 characters3242 returns an escaped path3243 when maximum upload size is 03244 returns maximum number of parts3245 part size is minimum, 5MB3246 when maximum upload size is < 5 MiB3247 returns only 1 part3248 part size is minimum, 5MB3249 when maximum upload size is 10MB3250 returns only 2 parts3251 part size is minimum, 5MB3252 when maximum upload size is 12MB3253 returns only 3 parts3254 part size is rounded-up to 5MB3255 when maximum upload size is 49GB3256 returns maximum, 100 parts3257 part size is rounded-up to 5MB3258 when Google is used3259 with google_application_default3260 when length is known3261 behaves like a valid Google upload3262 enables the Workhorse client3263 behaves like a valid upload3264 returns valid structure3265 with an object with UTF-8 characters3266 returns an escaped path3267 with workhorse_google_client disabled3268 does not set Workhorse client data3269 behaves like a valid upload without multipart data3270 returns valid structure3271 behaves like a valid upload3272 returns valid structure3273 with an object with UTF-8 characters3274 returns an escaped path3275 when length is unknown3276 behaves like a valid Google upload3277 enables the Workhorse client3278 behaves like a valid upload3279 returns valid structure3280 with an object with UTF-8 characters3281 returns an escaped path3282 with workhorse_google_client disabled3283 does not set Workhorse client data3284 behaves like a valid upload without multipart data3285 returns valid structure3286 behaves like a valid upload3287 returns valid structure3288 with an object with UTF-8 characters3289 returns an escaped path3290 with google_json_key_location3291 when length is known3292 behaves like a valid Google upload3293 enables the Workhorse client3294 behaves like a valid upload3295 returns valid structure3296 with an object with UTF-8 characters3297 returns an escaped path3298 with workhorse_google_client disabled3299 does not set Workhorse client data3300 behaves like a valid upload without multipart data3301 returns valid structure3302 behaves like a valid upload3303 returns valid structure3304 with an object with UTF-8 characters3305 returns an escaped path3306 when length is unknown3307 behaves like a valid Google upload3308 enables the Workhorse client3309 behaves like a valid upload3310 returns valid structure3311 with an object with UTF-8 characters3312 returns an escaped path3313 with workhorse_google_client disabled3314 does not set Workhorse client data3315 behaves like a valid upload without multipart data3316 returns valid structure3317 behaves like a valid upload3318 returns valid structure3319 with an object with UTF-8 characters3320 returns an escaped path3321 with google_json_key_string3322 when length is known3323 behaves like a valid Google upload3324 enables the Workhorse client3325 behaves like a valid upload3326 returns valid structure3327 with an object with UTF-8 characters3328 returns an escaped path3329 with workhorse_google_client disabled3330 does not set Workhorse client data3331 behaves like a valid upload without multipart data3332 returns valid structure3333 behaves like a valid upload3334 returns valid structure3335 with an object with UTF-8 characters3336 returns an escaped path3337 when length is unknown3338 behaves like a valid Google upload3339 enables the Workhorse client3340 behaves like a valid upload3341 returns valid structure3342 with an object with UTF-8 characters3343 returns an escaped path3344 with workhorse_google_client disabled3345 does not set Workhorse client data3346 behaves like a valid upload without multipart data3347 returns valid structure3348 behaves like a valid upload3349 returns valid structure3350 with an object with UTF-8 characters3351 returns an escaped path3352 when AzureRM is used3353 behaves like a valid AzureRM upload3354 enables the Workhorse client3355 behaves like a valid upload3356 returns valid structure3357 with an object with UTF-8 characters3358 returns an escaped path3359 behaves like a valid upload without multipart data3360 returns valid structure3361 behaves like a valid upload3362 returns valid structure3363 with an object with UTF-8 characters3364 returns an escaped path3365 when a custom storage domain is used3366 behaves like a valid AzureRM upload3367 enables the Workhorse client3368 behaves like a valid upload3369 returns valid structure3370 with an object with UTF-8 characters3371 returns an escaped path3372 #use_workhorse_google_client?3373 with consolidated_settings3374 with google_application_default3375 is expected to be truthy3376 with google_json_key_string3377 is expected to be truthy3378 with google_json_key_location3379 is expected to be truthy3380 without any google setting3381 is expected to be falsey3382 without consolidated_settings3383 is expected to be falsey3384Ci::RetryPipelineService#execute3385 when user has full ability to modify pipeline3386 closes all todos about failed jobs for pipeline3387 reprocesses the pipeline3388 when there are already retried jobs present3389 does not retry jobs that has already been retried3390 when there are failed builds in the last stage3391 enqueues all builds in the last stage3392 when there are failed or canceled builds in the first stage3393 retries builds failed builds and marks subsequent for processing3394 changes ownership of subsequent builds3395 when there is failed build present which was run on failure3396 retries builds only in the first stage3397 creates a new job for report job in this case3398 when there is a failed test in a DAG3399 retries the test3400 when there is a failed DAG test without needs3401 retries the test3402 when the last stage was skipped3403 retries builds only in the first stage3404 when pipeline contains manual actions3405 when there are optional manual actions only3406 when there is a canceled manual action in first stage3407 retries failed builds and marks subsequent for processing3408 changes ownership of subsequent builds3409 when pipeline has blocking manual actions defined3410 when pipeline retry should enqueue builds3411 retries failed builds3412 when pipeline retry should block pipeline immediately3413 reprocesses blocking manual action and blocks pipeline3414 when there is a skipped manual action in last stage3415 retries canceled job and reprocesses manual actions3416 when there is a created manual action in the last stage3417 retries canceled job and does not update the manual action3418 when there is a created manual action in the first stage3419 retries canceled job and processes the manual action3420 when there is a failed manual action3421 processes the manual action3422 when pipeline has processables with nil scheduling_type3423 populates scheduling_type of processables3424 when the pipeline is a downstream pipeline and the bridge is depended3425 without permission3426 does nothing to the bridge3427 with permission3428 marks source bridge as pending3429 assigns the current user to the source bridge3430 when there are skipped jobs in later stages3431 retries failed jobs and processes skipped jobs3432 when user is not allowed to retry build3433 returns an error3434 when user is not allowed to retry pipeline3435 returns an error3436 when user is not allowed to trigger manual action3437 when there is a failed manual action present3438 returns an error3439 when there is a failed manual action in later stage3440 returns an error3441 when maintainer is allowed to push to forked project3442 allows to retry failed pipeline3443Gitlab::Auth::AuthFinders3444 #find_user_from_bearer_token3445 when the token is passed as an oauth token3446 behaves like find user from job token3447 when route is allowed to be authenticated3448 for an invalid token3449 returns an Unauthorized exception3450 with a running job3451 return user3452 with a job that is not running3453 returns an Unauthorized exception3454 when route is not allowed to be authenticated3455 with a running job3456 returns an Unauthorized exception3457 with oauth token3458 is expected to eq #<User id:532 @user756>3459 with a personal access token3460 is expected to eq #<User id:532 @user756>3461 #find_user_from_warden3462 with CSRF token3463 with invalid credentials3464 returns nil3465 with valid credentials3466 returns the user3467 without CSRF token3468 returns nil3469 #find_user_from_feed_token3470 when the request format is atom3471 when old format feed_token param is provided3472 returns user if valid feed_token3473 returns nil if valid feed_token and disabled3474 returns nil if feed_token is blank3475 returns exception if invalid feed_token3476 when path-dependent format feed_token param is provided3477 returns user if valid feed_token3478 returns nil if valid feed_token and disabled3479 returns exception if token has same HMAC but different user ID3480 returns exception if token has wrong HMAC but same user ID3481 returns exception if user does not exist3482 when old format rss_token param is provided3483 returns user if valid rss_token3484 returns nil if rss_token is blank3485 returns exception if invalid rss_token3486 when the request format is not atom3487 returns nil3488 when the request format is empty3489 the method call does not modify the original value3490 #find_user_from_static_object_token3491 when request format is archive3492 behaves like static object request3493 when token header param is present3494 when token is correct3495 returns the user3496 when token is incorrect3497 returns the user3498 when token query param is present3499 when token is correct3500 returns the user3501 when token is incorrect3502 returns the user3503 when request format is blob3504 behaves like static object request3505 when token header param is present3506 when token is correct3507 returns the user3508 when token is incorrect3509 returns the user3510 when token query param is present3511 when token is correct3512 returns the user3513 when token is incorrect3514 returns the user3515 when request format is not archive nor blob3516 returns nil3517 #deploy_token_from_request3518 is expected to be nil3519 with deploy token headers3520 with valid deploy token3521 is expected to eq #<DeployToken id: 1, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-11...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>3522 behaves like an unauthenticated route3523 when route is not allowed to use deploy_tokens3524 is expected to be nil3525 with incorrect token3526 is expected to be nil3527 with oauth headers3528 with valid token3529 is expected to eq #<DeployToken id: 1, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-11...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>3530 behaves like an unauthenticated route3531 when route is not allowed to use deploy_tokens3532 is expected to be nil3533 with invalid token3534 is expected to be nil3535 with basic auth headers3536 is expected to eq #<DeployToken id: 1, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-11...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>3537 behaves like an unauthenticated route3538 when route is not allowed to use deploy_tokens3539 is expected to be nil3540 with incorrect token3541 is expected to be nil3542 when the the deploy token is restricted with external_authorization3543 is expected to be nil3544 #find_user_from_access_token3545 returns nil if no access_token present3546 when run for kubernetes internal API endpoint3547 returns nil3548 when validate_access_token! returns valid3549 returns user3550 returns exception if token has no user3551 with OAuth headers3552 with valid personal access token3553 returns user3554 with invalid personal_access_token3555 returns exception3556 when using a non-prefixed access token3557 returns user3558 automatic reuse detection3559 when a revoked token is used3560 with url related to access tokens3561 revokes the latest rotated token3562 with url not related to access tokens3563 does not revoke the latest rotated token3564 #find_user_from_web_access_token3565 returns exception if token has no user3566 returns the user for RSS requests3567 returns the user for ICS requests3568 returns the user for ARCHIVE requests3569 returns the user for DOWNLOAD requests3570 no feed, API, archive or download requests3571 returns nil if the request is not RSS3572 returns nil if the request is not ICS3573 returns nil if the request is not API3574 returns nil if the request is not ARCHIVE3575 returns nil if the request is not DOWNLOAD3576 for API requests3577 returns the user3578 returns nil if URL does not start with /api/3579 when the token has read_api scope3580 raises InsufficientScopeError by default3581 finds the user when the read_api scope is passed3582 when relative_url_root is set3583 returns the user3584 #find_personal_access_token3585 returns nil if no personal_access_token3586 returns exception if invalid personal_access_token3587 passed as header3588 returns token if valid personal_access_token3589 passed as param3590 returns token if valid personal_access_token3591 #find_oauth_access_token3592 returns nil if no oauth_access_token3593 passed as header3594 returns token if valid oauth_access_token3595 passed as param3596 returns user if valid oauth_access_token3597 with invalid token3598 returns exception if invalid oauth_access_token3599 #find_personal_access_token_from_http_basic_auth3600 access token is valid3601 finds the token from basic auth3602 access token is not valid3603 returns nil3604 route_setting is not set3605 returns nil3606 route_setting is not correct3607 returns nil3608 #find_user_from_basic_auth_job3609 when the request does not have AUTHORIZATION header3610 is expected to be nil3611 with wrong credentials3612 returns nil without user and password3613 returns nil without password3614 returns nil without user3615 returns nil without CI username3616 with CI username3617 behaves like find user from job token3618 when route is allowed to be authenticated3619 for an invalid token3620 returns an Unauthorized exception3621 with a running job3622 return user3623 with a job that is not running3624 returns an Unauthorized exception3625 when route is not allowed to be authenticated3626 with a running job3627 returns the user3628 #find_user_from_basic_auth_password3629 returns nil without user and password3630 returns nil without password3631 returns nil without user3632 returns nil with CI username3633 returns nil with wrong password3634 returns user with correct credentials3635 when the request does not have AUTHORIZATION header3636 is expected to be nil3637 #find_user_from_lfs_token3638 returns nil without user and token3639 returns nil without token3640 returns nil without user3641 returns nil with wrong token3642 returns user with correct user and correct token3643 returns nil with wrong user and correct token3644 when the request does not have AUTHORIZATION header3645 is expected to be nil3646 #find_user_from_personal_access_token3647 returns nil without access token3648 returns user with correct access token3649 returns exception if access token has no user3650 #validate_access_token!3651 returns nil if no access_token present3652 with a job token3653 does not raise an error3654 token is not valid3655 returns Gitlab::Auth::ExpiredError if token expired3656 returns Gitlab::Auth::RevokedError if token revoked3657 returns Gitlab::Auth::InsufficientScopeError if invalid token scope3658 with impersonation token3659 when impersonation is disabled3660 returns Gitlab::Auth::ImpersonationDisabled3661 #find_user_from_job_token3662 when route setting allows job_token3663 when the token is in the headers3664 behaves like find user from job token3665 when route is allowed to be authenticated3666 for an invalid token3667 returns an Unauthorized exception3668 with a running job3669 return user3670 with a job that is not running3671 returns an Unauthorized exception3672 when route is not allowed to be authenticated3673 with a running job3674 returns nil3675 when the token is in the job_token param3676 behaves like find user from job token3677 when route is allowed to be authenticated3678 for an invalid token3679 returns an Unauthorized exception3680 with a running job3681 return user3682 with a job that is not running3683 returns an Unauthorized exception3684 when route is not allowed to be authenticated3685 with a running job3686 returns nil3687 when the token is in the token param3688 behaves like find user from job token3689 when route is allowed to be authenticated3690 for an invalid token3691 returns an Unauthorized exception3692 with a running job3693 return user3694 with a job that is not running3695 returns an Unauthorized exception3696 when route is not allowed to be authenticated3697 with a running job3698 returns nil3699 when route setting is basic auth3700 when the token is provided via basic auth3701 is expected to eq #<User id:532 @user756>3702 when the token is in the headers3703 behaves like find user from job token3704 when route is allowed to be authenticated3705 for an invalid token3706 returns an Unauthorized exception3707 with a running job3708 return user3709 with a job that is not running3710 returns an Unauthorized exception3711 when route is not allowed to be authenticated3712 with a running job3713 returns nil3714 when the token is in the job_token param3715 behaves like find user from job token3716 when route is allowed to be authenticated3717 for an invalid token3718 returns an Unauthorized exception3719 with a running job3720 return user3721 with a job that is not running3722 returns an Unauthorized exception3723 when route is not allowed to be authenticated3724 with a running job3725 returns nil3726 when the token is in the token param3727 behaves like find user from job token3728 when route is allowed to be authenticated3729 for an invalid token3730 returns an Unauthorized exception3731 with a running job3732 return user3733 with a job that is not running3734 returns an Unauthorized exception3735 when route is not allowed to be authenticated3736 with a running job3737 returns nil3738 when route setting job_token_allowed is invalid3739 when the token is provided3740 is expected to be nil3741 #cluster_agent_token_from_authorization_token3742 when route_setting is empty3743 is expected to be nil3744 when route_setting allows cluster agent token3745 Authorization header is empty3746 is expected to be nil3747 Authorization header is incorrect3748 is expected to be nil3749 Authorization header is malformed3750 is expected to be nil3751 Authorization header matches agent token3752 is expected to eq #<Clusters::AgentToken id: 1, created_at: "2023-11-22 16:18:17.404659668 +0000", updated_at: "2023-11...eated_by_user_id: 545, description: nil, name: "agent-token-1", last_used_at: nil, status: "active">3753 agent token has been revoked3754 is expected to be nil3755 #find_runner_from_token3756 with API requests3757 returns the runner if token is valid3758 returns nil if token is not present3759 returns nil if token is blank3760 returns exception if invalid token3761 without API requests3762 returns nil if token is valid3763 returns nil if token is blank3764 returns nil if invalid token3765 #authentication_token_present?3766 no auth header/param/oauth3767 is expected to equal false3768 with auth header3769 with private-token3770 is expected to equal true3771 with job-token3772 is expected to equal true3773 with deploy-token3774 is expected to equal true3775 with authorization bearer (oauth token)3776 is expected to equal true3777 with auth param3778 with private_token3779 returns true3780 with job_token3781 returns true3782 with token3783 returns true3784ClusterAncestorsFinder#execute3785 for a project3786 returns the project clusters followed by group clusters3787 nested groups3788 returns the project clusters followed by group clusters ordered ascending the hierarchy3789 user cannot read clusters for clusterable3790 returns nothing3791 for a group3792 returns the list of group clusters3793 nested groups3794 returns the list of group clusters ordered ascending the hierarchy3795 for an instance3796 when admin mode is enabled3797 returns the list of instance clusters3798 when admin mode is disabled3799 returns nothing3800ResourceMilestoneEvent3801 behaves like a resource event3802 importable3803 is expected to respond to #importing?3804 is expected to respond to #imported?3805 validations3806 is expected not to allow :user to be ‹nil›3807 when importing3808 is expected to allow :user to be ‹nil›3809 associations3810 is expected to belong to user required: false3811 .created_after3812 returns the expected events3813 returns no events if time is after last record time3814 behaves like a resource event for issues3815 associations3816 is expected to belong to issue required: false3817 .by_issue3818 returns the expected records for an issue with events3819 returns the expected records for an issue with no events3820 .by_issue_ids3821 returns the expected events3822 .by_created_at_earlier_or_equal_to3823 returns the expected events3824 returns the expected events3825 #issuable3826 returns the expected issuable3827 behaves like a resource event for merge requests3828 associations3829 is expected to belong to merge_request required: false3830 .by_merge_request3831 returns the expected records for an issue with events3832 returns the expected records for an issue with no events3833 #issuable3834 returns the expected issuable3835 on callbacks3836 does not trigger note created subscription3837 behaves like a note for work item resource event3838 builds synthetic note with correct synthetic_note_class3839 on callbacks3840 triggers note created subscription3841 behaves like having unique enum values3842 has unique values in "action"3843 has unique values in "state"3844 behaves like timebox resource event validations3845 validations3846 when issue and merge_request are both nil3847 is expected not to be valid3848 when issue and merge_request are both set3849 is expected not to be valid3850 when issue is set3851 is expected to be valid3852 when merge_request is set3853 is expected to be valid3854 behaves like timebox resource event states3855 states3856 supports state opened for issue3857 supports state closed for issue3858 supports state opened for merge_request3859 supports state closed for merge_request3860 supports state merged for merge_request3861 supports state locked for merge_request3862 behaves like timebox resource event actions3863 #added?3864 behaves like queryable timebox action resource event3865 is true for action add on issue3866 is false for action remove on issue3867 is true for action add on merge_request3868 is false for action remove on merge_request3869 #removed?3870 behaves like queryable timebox action resource event3871 is false for action add on issue3872 is true for action remove on issue3873 is false for action add on merge_request3874 is true for action remove on merge_request3875 behaves like timebox resource tracks issue metrics3876 #issue_usage_metrics3877 tracks usage for issues3878 does not track usage for merge requests3879 associations3880 is expected to belong to milestone required: false3881 #milestone_title3882 returns the expected title3883 when milestone is nil3884 returns nil3885 #milestone_parent3886 when milestone parent is project3887 returns the expected parent3888 when milestone parent is group3889 returns the expected parent3890 when milestone is nil3891 returns nil3892AlertManagement::Alert3893 associations3894 is expected to belong to project required: false3895 is expected to belong to issue optional: true3896 is expected to belong to prometheus_alert optional: true3897 is expected to belong to environment optional: true3898 is expected to have many assignees through alert_assignees3899 is expected to have many notes inverse_of => noteable3900 is expected to have many ordered_notes class_name => Note inverse_of => noteable3901 is expected to have many user_mentions class_name => AlertManagement::AlertUserMention inverse_of => alert3902 validations3903 is expected to validate that :title cannot be empty/falsy3904 is expected to validate that :events cannot be empty/falsy3905 is expected to validate that :severity cannot be empty/falsy3906 is expected to validate that :status cannot be empty/falsy3907 is expected to validate that :started_at cannot be empty/falsy3908 is expected to validate that the length of :title is at most 2003909 is expected to validate that the length of :description is at most 10003910 is expected to validate that the length of :service is at most 1003911 is expected to validate that the length of :monitoring_tool is at most 1003912 fingerprint3913 adding an alert with the same fingerprint3914 same project, various states3915 existing_status_event: :resolve, new_status: :triggered, valid: true3916 is expected to be valid3917 existing_status_event: :resolve, new_status: :acknowledged, valid: true3918 is expected to be valid3919 existing_status_event: :resolve, new_status: :ignored, valid: true3920 is expected to be valid3921 existing_status_event: :resolve, new_status: :resolved, valid: true3922 is expected to be valid3923 existing_status_event: :trigger, new_status: :triggered, valid: false3924 is expected to be invalid3925 existing_status_event: :trigger, new_status: :acknowledged, valid: false3926 is expected to be invalid3927 existing_status_event: :trigger, new_status: :ignored, valid: false3928 is expected to be invalid3929 existing_status_event: :trigger, new_status: :resolved, valid: true3930 is expected to be valid3931 existing_status_event: :acknowledge, new_status: :triggered, valid: false3932 is expected to be invalid3933 existing_status_event: :acknowledge, new_status: :acknowledged, valid: false3934 is expected to be invalid3935 existing_status_event: :acknowledge, new_status: :ignored, valid: false3936 is expected to be invalid3937 existing_status_event: :acknowledge, new_status: :resolved, valid: true3938 is expected to be valid3939 existing_status_event: :ignore, new_status: :triggered, valid: false3940 is expected to be invalid3941 existing_status_event: :ignore, new_status: :acknowledged, valid: false3942 is expected to be invalid3943 existing_status_event: :ignore, new_status: :ignored, valid: false3944 is expected to be invalid3945 existing_status_event: :ignore, new_status: :resolved, valid: true3946 is expected to be valid3947 different project3948 is expected to be valid3949 hosts3950 over 255 total chars3951 is expected not to be valid3952 under 255 chars3953 is expected to be valid3954 nested array3955 is expected not to be valid3956 enums3957 is expected to define :severity as an enum backed by an integer with values ‹{critical: 0, high: 1, medium: 2, low: 3, info: 4, unknown: 5}›3958 scopes3959 .for_iid3960 is expected to contain exactly #<AlertManagement::Alert id:1 namespace755/project-759^alert#1>3961 .for_fingerprint3962 is expected to contain exactly #<AlertManagement::Alert id:1 namespace755/project-759^alert#1>3963 .for_environment3964 is expected to contain exactly #<AlertManagement::Alert id:1 namespace755/project-759^alert#1>3965 .for_assignee_username3966 when matching assignee_username3967 is expected to contain exactly #<AlertManagement::Alert id:1 namespace755/project-759^alert#1>3968 when unknown assignee_username3969 is expected to be empty3970 with empty assignee_username3971 is expected to be empty3972 .order_severity_with_open_prometheus_alert3973 is expected to eq [#<AlertManagement::Alert id:8 namespace758/project-762^alert#2>, #<AlertManagement::Alert id:9 namespace758/project-762^alert#3>]3974 .counts_by_project_id3975 is expected to eq {307=>2, 308=>2}3976 .not_resolved3977 is expected to contain exactly #<AlertManagement::Alert id:2 namespace755/project-759^alert#2>, #<AlertManagement::Alert id:1 namespace755/project-759^alert#1>, and #<AlertManagement::Alert id:4 namespace756/project-760^alert#2>3978 behaves like a model including Escalatable3979 validations3980 is expected to validate that :status cannot be empty/falsy3981 when status is triggered3982 when resolved_at is blank3983 is expected to be valid3984 when resolved_at is present3985 is expected to be invalid3986 when status is acknowledged3987 when resolved_at is blank3988 is expected to be valid3989 when resolved_at is present3990 is expected to be invalid3991 when status is resolved3992 when resolved_at is blank3993 is expected to be invalid3994 when resolved_at is present3995 is expected to be valid3996 when status is ignored3997 when resolved_at is blank3998 is expected to be valid3999 when resolved_at is present4000 is expected to be invalid4001 scopes4002 .order_status4003 descending4004 is expected to eq [#<AlertManagement::Alert id:10 namespace759/project-763^alert#1>, #<AlertManagement::Alert id:11 nam...namespace761/project-765^alert#1>, #<AlertManagement::Alert id:13 namespace762/project-766^alert#1>]4005 ascending4006 is expected to eq [#<AlertManagement::Alert id:13 namespace762/project-766^alert#1>, #<AlertManagement::Alert id:12 nam...namespace760/project-764^alert#1>, #<AlertManagement::Alert id:10 namespace759/project-763^alert#1>]4007 .open4008 is expected to contain exactly #<AlertManagement::Alert id:11 namespace760/project-764^alert#1> and #<AlertManagement::Alert id:10 namespace759/project-763^alert#1>4009 .status_value4010 status: :triggered, status_value: 04011 returns status value by its name4012 status: :acknowledged, status_value: 14013 returns status value by its name4014 status: :resolved, status_value: 24015 returns status value by its name4016 status: :ignored, status_value: 34017 returns status value by its name4018 status: :unknown, status_value: nil4019 returns status value by its name4020 .status_name4021 raw_status: 0, status: :triggered4022 returns status name by its values4023 raw_status: 1, status: :acknowledged4024 returns status name by its values4025 raw_status: 2, status: :resolved4026 returns status name by its values4027 raw_status: 3, status: :ignored4028 returns status name by its values4029 raw_status: -1, status: nil4030 returns status name by its values4031 .open_status?4032 status: :triggered, is_open_status: true4033 returns true when the status is open status4034 status: :acknowledged, is_open_status: true4035 returns true when the status is open status4036 status: :resolved, is_open_status: false4037 returns true when the status is open status4038 status: :ignored, is_open_status: false4039 returns true when the status is open status4040 status: nil, is_open_status: false4041 returns true when the status is open status4042 #trigger4043 when escalatable is in triggered state4044 does not change the escalatable status4045 when escalatable is not in triggered state4046 changes the escalatable status to triggered4047 resets resolved at4048 #acknowledge4049 changes the escalatable status to acknowledged4050 resets ended at4051 #resolve4052 when escalatable is already resolved4053 does not change the escalatable status4054 when escalatable is not resolved4055 changes escalatable status to "resolved"4056 #ignore4057 changes the escalatable status to ignored4058 resets ended at4059 #status_event_for4060 for_status: :triggered, event: :trigger4061 returns event by status name4062 for_status: "triggered", event: :trigger4063 returns event by status name4064 for_status: :acknowledged, event: :acknowledge4065 returns event by status name4066 for_status: "acknowledged", event: :acknowledge4067 returns event by status name4068 for_status: :resolved, event: :resolve4069 returns event by status name4070 for_status: "resolved", event: :resolve4071 returns event by status name4072 for_status: :ignored, event: :ignore4073 returns event by status name4074 for_status: "ignored", event: :ignore4075 returns event by status name4076 for_status: :unknown, event: nil4077 returns event by status name4078 for_status: nil, event: nil4079 returns event by status name4080 for_status: "", event: nil4081 returns event by status name4082 for_status: 1, event: nil4083 returns event by status name4084 #open?4085 returns true when the status is open status4086 .counts_by_status4087 is expected to eq {:acknowledged=>1, :ignored=>1, :resolved=>1, :triggered=>1}4088 .find_unresolved_alert4089 is expected to eq #<AlertManagement::Alert id:16 namespace755/project-759^alert#4>4090 .last_prometheus_alert_by_project_id4091 returns the latest alert for each project4092 .search4093 does not contain search string4094 is expected to be empty4095 title includes query4096 is expected to contain exactly #<AlertManagement::Alert id:1 namespace755/project-759^alert#1>4097 description includes query4098 is expected to contain exactly #<AlertManagement::Alert id:1 namespace755/project-759^alert#1>4099 service includes query4100 is expected to contain exactly #<AlertManagement::Alert id:1 namespace755/project-759^alert#1>4101 monitoring tool includes query4102 is expected to contain exactly #<AlertManagement::Alert id:1 namespace755/project-759^alert#1>4103 .reference_pattern4104 is expected to match "gitlab-org/gitlab^alert#123"4105 .link_reference_pattern4106 is expected to match "http://localhost/namespace755/project-759/-/alert_management/1/details"4107 is expected not to match "http://localhost/gitlab-org/gitlab/alert_management/123"4108 is expected not to match "http://localhost/gitlab-org/gitlab/issues/123"4109 is expected not to match "gitlab-org/gitlab/-/alert_management/123"4110 .reference_valid?4111 ref: "123456", result: true4112 is expected to eq true4113 ref: "1", result: true4114 is expected to eq true4115 ref: "-1", result: false4116 is expected to eq false4117 ref: nil, result: false4118 is expected to eq false4119 ref: "123456891012345678901234567890", result: false4120 is expected to eq false4121 #to_reference4122 is expected to eq "^alert#1"4123 #register_new_event!4124 increments the events count by 14125 #resolved_at4126 is expected to eq 2023-11-22 16:19:29.777114000 +00004127 #resolved_at=4128 sets ended_at4129AddressableUrlValidator4130 #validate4131 with no options4132 allows http,https schemes by default4133 checks that the url structure is valid4134 with schemes4135 allows urls with the defined schemes4136 add error if the url scheme does not match the selected ones4137 validations4138 returns error when url is nil4139 returns error when url is empty4140 allows urls with encoded CR or LF characters4141 does not allow urls with CR or LF characters4142 provides all arguments to UrlBlocker.validate!4143 by default4144 does not block urls pointing to localhost4145 does not block urls pointing to the local network4146 does block nil urls4147 does block blank urls4148 strips urls4149 allows urls that cannot be resolved4150 when message is set4151 does block nil url with provided error message4152 when blocked_message is set4153 blocks url with provided error message4154 when allow_nil is set to true4155 does not block nil urls4156 when allow_blank is set to true4157 does not block blank urls4158 when allow_localhost is set to false4159 blocks urls pointing to localhost4160 when allow_setting_local_requests is set to true4161 does not block urls pointing to localhost4162 when allow_local_network is set to false4163 blocks urls pointing to the local network4164 when allow_setting_local_requests is set to true4165 does not block urls pointing to local network4166 when ports is4167 empty4168 does not block any port4169 set4170 blocks urls with a different port4171 when enforce_user is4172 true4173 checks user format4174 false (default)4175 does not check user format4176 when ascii_only is4177 true4178 prevents unicode characters4179 false (default)4180 does not prevent unicode characters4181 when deny_all_requests_except_allowed is4182 true4183 prevents the url4184 false4185 allows the url4186 not given4187 when app setting is true4188 prevents the url4189 when app setting is false4190 allows the url4191 when enforce_sanitization is4192 true4193 prevents unsafe urls4194 prevents unsafe internal urls4195 allows safe urls4196 false4197 allows unsafe urls4198 when dns_rebind_protection is4199 true4200 raises error4201 false4202 allows urls that cannot be resolved4203Deployments::CreateForJobService4204 behaves like create deployment for job4205 #execute4206 with a deployment job4207 creates a deployment record4208 when creation failure occures4209 trackes the exception4210 when the corresponding environment does not exist4211 does not create a deployment record4212 with a teardown job4213 does not create a deployment record4214 with a normal job4215 does not create a deployment record4216 when job has environment attribute4217 returns a deployment object with environment4218 when environment has deployment platform4219 sets the cluster and deployment_cluster4220 when a custom namespace is given4221 when cluster is managed4222 does not set the custom namespace4223 when cluster is not managed4224 sets the custom namespace4225 when job already has deployment4226 returns the persisted deployment4227 when job does not start environment4228 action: "stop"4229 returns nothing4230 action: "prepare"4231 returns nothing4232 action: "verify"4233 returns nothing4234 action: "access"4235 returns nothing4236 when job does not have environment attribute4237 returns nothing4238 behaves like create deployment for job4239 #execute4240 with a deployment job4241 creates a deployment record4242 when creation failure occures4243 trackes the exception4244 when the corresponding environment does not exist4245 does not create a deployment record4246 with a teardown job4247 does not create a deployment record4248 with a normal job4249 does not create a deployment record4250 when job has environment attribute4251 returns a deployment object with environment4252 when environment has deployment platform4253 sets the cluster and deployment_cluster4254 when a custom namespace is given4255 when cluster is managed4256 does not set the custom namespace4257 when cluster is not managed4258 sets the custom namespace4259 when job already has deployment4260 returns the persisted deployment4261 when job does not start environment4262 action: "stop"4263 returns nothing4264 action: "prepare"4265 returns nothing4266 action: "verify"4267 returns nothing4268 action: "access"4269 returns nothing4270 when job does not have environment attribute4271 returns nothing4272Avatarable4273 #update4274 when avatar changed4275 validates the file size4276 when avatar was not changed4277 skips validation of file size4278 #avatar_path4279 with caching enabled4280 only calls local_url once4281 calls local_url twice for path and URLs4282 calls local_url twice for different sizes4283 handles unpersisted objects4284 has_asset_host: true, visibility_level: 0, only_path: true, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]4285 returns the expected avatar path4286 returns the expected avatar path with width parameter4287 when avatar is stored remotely4288 returns the expected avatar path4289 has_asset_host: true, visibility_level: 0, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]4290 returns the expected avatar path4291 returns the expected avatar path with width parameter4292 when avatar is stored remotely4293 returns the expected avatar path4294 has_asset_host: true, visibility_level: 10, only_path: true, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]4295 returns the expected avatar path4296 returns the expected avatar path with width parameter4297 when avatar is stored remotely4298 returns the expected avatar path4299 has_asset_host: true, visibility_level: 10, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]4300 returns the expected avatar path4301 returns the expected avatar path with width parameter4302 when avatar is stored remotely4303 returns the expected avatar path4304 has_asset_host: true, visibility_level: 20, only_path: true, avatar_path_prefix: []4305 returns the expected avatar path4306 returns the expected avatar path with width parameter4307 when avatar is stored remotely4308 returns the expected avatar path4309 has_asset_host: true, visibility_level: 20, only_path: false, avatar_path_prefix: ["https://gitlab-assets.example.com"]4310 returns the expected avatar path4311 returns the expected avatar path with width parameter4312 when avatar is stored remotely4313 returns the expected avatar path4314 has_asset_host: false, visibility_level: 0, only_path: true, avatar_path_prefix: ["/gitlab"]4315 returns the expected avatar path4316 returns the expected avatar path with width parameter4317 when avatar is stored remotely4318 returns the expected avatar path4319 has_asset_host: false, visibility_level: 0, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]4320 returns the expected avatar path4321 returns the expected avatar path with width parameter4322 when avatar is stored remotely4323 returns the expected avatar path4324 has_asset_host: false, visibility_level: 10, only_path: true, avatar_path_prefix: ["/gitlab"]4325 returns the expected avatar path4326 returns the expected avatar path with width parameter4327 when avatar is stored remotely4328 returns the expected avatar path4329 has_asset_host: false, visibility_level: 10, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]4330 returns the expected avatar path4331 returns the expected avatar path with width parameter4332 when avatar is stored remotely4333 returns the expected avatar path4334 has_asset_host: false, visibility_level: 20, only_path: true, avatar_path_prefix: ["/gitlab"]4335 returns the expected avatar path4336 returns the expected avatar path with width parameter4337 when avatar is stored remotely4338 returns the expected avatar path4339 has_asset_host: false, visibility_level: 20, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]4340 returns the expected avatar path4341 returns the expected avatar path with width parameter4342 when avatar is stored remotely4343 returns the expected avatar path4344Gitlab::Ci::Build::Prerequisite::KubernetesNamespace4345 #unmet?4346 build has no deployment4347 is expected to be falsey4348 build has a deployment4349 and a cluster to deploy to4350 is expected to be truthy4351 and the cluster is not managed4352 is expected to be falsey4353 and a namespace is already created for this project4354 is expected to be falsey4355 and the service_account_token is blank4356 is expected to be truthy4357 and no cluster to deploy to4358 is expected to be falsey4359 #complete!4360 completion is required4361 kubernetes namespace does not exist4362 creates a namespace using a new record4363 the build has a namespace configured via CI template4364 the requested namespace matches the default4365 creates a namespace4366 the requested namespace differs from the default4367 does not create a namespace4368 kubernetes namespace exists (but has no service_account_token)4369 creates a namespace using the tokenless record4370 completion is not required4371 does not create a namespace4372RequireEmailVerification4373 feature_flag_enabled: true, two_factor_enabled: true, oauth_user: true, skipped: true4374 #lock_access!4375 sends Devise unlock instructions unless overridden and always sets locked_at4376 #attempts_exceeded?4377 when failed_attempts is LT overridden amount4378 is expected to eq false4379 when failed_attempts is GTE overridden amount but LT Devise default amount4380 is expected to eq false4381 when failed_attempts is GTE Devise default amount4382 is expected to eq true4383 #lock_expired?4384 when locked shorter ago than Devise default time4385 is expected to eq false4386 when locked longer ago than Devise default time but shorter ago than overriden time4387 is expected to eq true4388 when locked longer ago than overriden time4389 is expected to eq true4390 feature_flag_enabled: true, two_factor_enabled: true, oauth_user: true, skipped: false4391 #lock_access!4392 sends Devise unlock instructions unless overridden and always sets locked_at4393 #attempts_exceeded?4394 when failed_attempts is LT overridden amount4395 is expected to eq false4396 when failed_attempts is GTE overridden amount but LT Devise default amount4397 is expected to eq false4398 when failed_attempts is GTE Devise default amount4399 is expected to eq true4400 #lock_expired?4401 when locked shorter ago than Devise default time4402 is expected to eq false4403 when locked longer ago than Devise default time but shorter ago than overriden time4404 is expected to eq true4405 when locked longer ago than overriden time4406 is expected to eq true4407 feature_flag_enabled: true, two_factor_enabled: true, oauth_user: false, skipped: true4408 #lock_access!4409 sends Devise unlock instructions unless overridden and always sets locked_at4410 #attempts_exceeded?4411 when failed_attempts is LT overridden amount4412 is expected to eq false4413 when failed_attempts is GTE overridden amount but LT Devise default amount4414 is expected to eq false4415 when failed_attempts is GTE Devise default amount4416 is expected to eq true4417 #lock_expired?4418 when locked shorter ago than Devise default time4419 is expected to eq false4420 when locked longer ago than Devise default time but shorter ago than overriden time4421 is expected to eq true4422 when locked longer ago than overriden time4423 is expected to eq true4424 feature_flag_enabled: true, two_factor_enabled: true, oauth_user: false, skipped: false4425 #lock_access!4426 sends Devise unlock instructions unless overridden and always sets locked_at4427 #attempts_exceeded?4428 when failed_attempts is LT overridden amount4429 is expected to eq false4430 when failed_attempts is GTE overridden amount but LT Devise default amount4431 is expected to eq false4432 when failed_attempts is GTE Devise default amount4433 is expected to eq true4434 #lock_expired?4435 when locked shorter ago than Devise default time4436 is expected to eq false4437 when locked longer ago than Devise default time but shorter ago than overriden time4438 is expected to eq true4439 when locked longer ago than overriden time4440 is expected to eq true4441 feature_flag_enabled: true, two_factor_enabled: false, oauth_user: true, skipped: true4442 #lock_access!4443 sends Devise unlock instructions unless overridden and always sets locked_at4444 #attempts_exceeded?4445 when failed_attempts is LT overridden amount4446 is expected to eq false4447 when failed_attempts is GTE overridden amount but LT Devise default amount4448 is expected to eq false4449 when failed_attempts is GTE Devise default amount4450 is expected to eq true4451 #lock_expired?4452 when locked shorter ago than Devise default time4453 is expected to eq false4454 when locked longer ago than Devise default time but shorter ago than overriden time4455 is expected to eq true4456 when locked longer ago than overriden time4457 is expected to eq true4458 feature_flag_enabled: true, two_factor_enabled: false, oauth_user: true, skipped: false4459 #lock_access!4460 sends Devise unlock instructions unless overridden and always sets locked_at4461 #attempts_exceeded?4462 when failed_attempts is LT overridden amount4463 is expected to eq false4464 when failed_attempts is GTE overridden amount but LT Devise default amount4465 is expected to eq false4466 when failed_attempts is GTE Devise default amount4467 is expected to eq true4468 #lock_expired?4469 when locked shorter ago than Devise default time4470 is expected to eq false4471 when locked longer ago than Devise default time but shorter ago than overriden time4472 is expected to eq true4473 when locked longer ago than overriden time4474 is expected to eq true4475 feature_flag_enabled: true, two_factor_enabled: false, oauth_user: false, skipped: true4476 #lock_access!4477 sends Devise unlock instructions unless overridden and always sets locked_at4478 #attempts_exceeded?4479 when failed_attempts is LT overridden amount4480 is expected to eq false4481 when failed_attempts is GTE overridden amount but LT Devise default amount4482 is expected to eq false4483 when failed_attempts is GTE Devise default amount4484 is expected to eq true4485 #lock_expired?4486 when locked shorter ago than Devise default time4487 is expected to eq false4488 when locked longer ago than Devise default time but shorter ago than overriden time4489 is expected to eq true4490 when locked longer ago than overriden time4491 is expected to eq true4492 feature_flag_enabled: true, two_factor_enabled: false, oauth_user: false, skipped: false4493 #lock_access!4494 sends Devise unlock instructions unless overridden and always sets locked_at4495 #attempts_exceeded?4496 when failed_attempts is LT overridden amount4497 is expected to eq false4498 when failed_attempts is GTE overridden amount but LT Devise default amount4499 is expected to eq true4500 when failed_attempts is GTE Devise default amount4501 is expected to eq true4502 #lock_expired?4503 when locked shorter ago than Devise default time4504 is expected to eq false4505 when locked longer ago than Devise default time but shorter ago than overriden time4506 is expected to eq false4507 when locked longer ago than overriden time4508 is expected to eq true4509 feature_flag_enabled: false, two_factor_enabled: true, oauth_user: true, skipped: true4510 #lock_access!4511 sends Devise unlock instructions unless overridden and always sets locked_at4512 #attempts_exceeded?4513 when failed_attempts is LT overridden amount4514 is expected to eq false4515 when failed_attempts is GTE overridden amount but LT Devise default amount4516 is expected to eq false4517 when failed_attempts is GTE Devise default amount4518 is expected to eq true4519 #lock_expired?4520 when locked shorter ago than Devise default time4521 is expected to eq false4522 when locked longer ago than Devise default time but shorter ago than overriden time4523 is expected to eq true4524 when locked longer ago than overriden time4525 is expected to eq true4526 feature_flag_enabled: false, two_factor_enabled: true, oauth_user: true, skipped: false4527 #lock_access!4528 sends Devise unlock instructions unless overridden and always sets locked_at4529 #attempts_exceeded?4530 when failed_attempts is LT overridden amount4531 is expected to eq false4532 when failed_attempts is GTE overridden amount but LT Devise default amount4533 is expected to eq false4534 when failed_attempts is GTE Devise default amount4535 is expected to eq true4536 #lock_expired?4537 when locked shorter ago than Devise default time4538 is expected to eq false4539 when locked longer ago than Devise default time but shorter ago than overriden time4540 is expected to eq true4541 when locked longer ago than overriden time4542 is expected to eq true4543 feature_flag_enabled: false, two_factor_enabled: true, oauth_user: false, skipped: true4544 #lock_access!4545 sends Devise unlock instructions unless overridden and always sets locked_at4546 #attempts_exceeded?4547 when failed_attempts is LT overridden amount4548 is expected to eq false4549 when failed_attempts is GTE overridden amount but LT Devise default amount4550 is expected to eq false4551 when failed_attempts is GTE Devise default amount4552 is expected to eq true4553 #lock_expired?4554 when locked shorter ago than Devise default time4555 is expected to eq false4556 when locked longer ago than Devise default time but shorter ago than overriden time4557 is expected to eq true4558 when locked longer ago than overriden time4559 is expected to eq true4560 feature_flag_enabled: false, two_factor_enabled: true, oauth_user: false, skipped: false4561 #lock_access!4562 sends Devise unlock instructions unless overridden and always sets locked_at4563 #attempts_exceeded?4564 when failed_attempts is LT overridden amount4565 is expected to eq false4566 when failed_attempts is GTE overridden amount but LT Devise default amount4567 is expected to eq false4568 when failed_attempts is GTE Devise default amount4569 is expected to eq true4570 #lock_expired?4571 when locked shorter ago than Devise default time4572 is expected to eq false4573 when locked longer ago than Devise default time but shorter ago than overriden time4574 is expected to eq true4575 when locked longer ago than overriden time4576 is expected to eq true4577 feature_flag_enabled: false, two_factor_enabled: false, oauth_user: true, skipped: true4578 #lock_access!4579 sends Devise unlock instructions unless overridden and always sets locked_at4580 #attempts_exceeded?4581 when failed_attempts is LT overridden amount4582 is expected to eq false4583 when failed_attempts is GTE overridden amount but LT Devise default amount4584 is expected to eq false4585 when failed_attempts is GTE Devise default amount4586 is expected to eq true4587 #lock_expired?4588 when locked shorter ago than Devise default time4589 is expected to eq false4590 when locked longer ago than Devise default time but shorter ago than overriden time4591 is expected to eq true4592 when locked longer ago than overriden time4593 is expected to eq true4594 feature_flag_enabled: false, two_factor_enabled: false, oauth_user: true, skipped: false4595 #lock_access!4596 sends Devise unlock instructions unless overridden and always sets locked_at4597 #attempts_exceeded?4598 when failed_attempts is LT overridden amount4599 is expected to eq false4600 when failed_attempts is GTE overridden amount but LT Devise default amount4601 is expected to eq false4602 when failed_attempts is GTE Devise default amount4603 is expected to eq true4604 #lock_expired?4605 when locked shorter ago than Devise default time4606 is expected to eq false4607 when locked longer ago than Devise default time but shorter ago than overriden time4608 is expected to eq true4609 when locked longer ago than overriden time4610 is expected to eq true4611 feature_flag_enabled: false, two_factor_enabled: false, oauth_user: false, skipped: true4612 #lock_access!4613 sends Devise unlock instructions unless overridden and always sets locked_at4614 #attempts_exceeded?4615 when failed_attempts is LT overridden amount4616 is expected to eq false4617 when failed_attempts is GTE overridden amount but LT Devise default amount4618 is expected to eq false4619 when failed_attempts is GTE Devise default amount4620 is expected to eq true4621 #lock_expired?4622 when locked shorter ago than Devise default time4623 is expected to eq false4624 when locked longer ago than Devise default time but shorter ago than overriden time4625 is expected to eq true4626 when locked longer ago than overriden time4627 is expected to eq true4628 feature_flag_enabled: false, two_factor_enabled: false, oauth_user: false, skipped: false4629 #lock_access!4630 sends Devise unlock instructions unless overridden and always sets locked_at4631 #attempts_exceeded?4632 when failed_attempts is LT overridden amount4633 is expected to eq false4634 when failed_attempts is GTE overridden amount but LT Devise default amount4635 is expected to eq false4636 when failed_attempts is GTE Devise default amount4637 is expected to eq true4638 #lock_expired?4639 when locked shorter ago than Devise default time4640 is expected to eq false4641 when locked longer ago than Devise default time but shorter ago than overriden time4642 is expected to eq true4643 when locked longer ago than overriden time4644 is expected to eq true4645Label4646 modules4647 is expected to includes the Referable module4648 is expected to includes the Subscribable module4649 associations4650 is expected to have many issues through label_links source => target4651 is expected to have many label_links dependent => destroy4652 is expected to have many lists dependent => destroy4653 is expected to have many priorities class_name => LabelPriority4654 validation4655 is expected to validate that :title is case-sensitively unique within the scope of :group_id and :project_id4656 validates color code4657 validates title4658 description length4659 when label is a new record4660 when description exceeds the maximum size4661 adds a description too long error4662 when description is within the allowed limits4663 does not add a validation error4664 when label is an existing record4665 when record already had a valid description4666 when new description exceeds the maximum size4667 adds a description too long error4668 when new description is within the allowed limits4669 does not add a validation error4670 when record existed with an invalid description4671 when description is not changed4672 does not add a validation error4673 when new description exceeds the maximum size4674 when new description is shorter than existing description4675 allows updating descriptions that already existed above the limit4676 when new description is longer than existing description4677 adds a description too long error4678 when new description is within the allowed limits4679 does not add a validation error4680 ensure_lock_on_merge_allowed4681 when creating a label4682 template: false, lock_on_merge: false, valid: true, errors: []4683 validates lock_on_merge on label creation4684 template: false, lock_on_merge: true, valid: true, errors: []4685 validates lock_on_merge on label creation4686 template: true, lock_on_merge: false, valid: true, errors: []4687 validates lock_on_merge on label creation4688 template: true, lock_on_merge: true, valid: false, errors: ["can not be set for template labels"]4689 validates lock_on_merge on label creation4690 template: false, lock_on_merge: true, valid: true, errors: []4691 validates lock_on_merge on label creation4692 when updating a label4693 lock_on_merge: true, valid: false, errors: ["can not be set for template labels"]4694 validates lock_on_merge value if label is a template4695 lock_on_merge: false, valid: true, errors: []4696 validates lock_on_merge value if label is a template4697 scopes4698 .on_board4699 returns only the board labels4700 .with_lock_on_merge4701 return only locked labels4702 destroying labels4703 when lock_on_merge is true4704 prevents label from being destroyed4705 when lock_on_merge is false4706 allows label to be destroyed4707 #color4708 strips color4709 uses default color if color is missing4710 #text_color4711 uses default color if color is missing4712 #title4713 sanitizes title4714 strips title4715 #description4716 sanitizes description4717 accepts an empty string4718 priorization4719 #prioritize!4720 when label is not prioritized4721 creates a label priority4722 sets label priority4723 when label is prioritized4724 does not create a label priority4725 updates label priority4726 #unprioritize!4727 removes label priority4728 #priority4729 when label is not prioritized4730 returns nil4731 when label is prioritized4732 returns label priority4733 .search4734 returns labels with a partially matching title4735 returns labels with a partially matching description4736 returns nothing4737 .subscribed_by4738 returns subscribed labels4739 returns nothing4740 .top_labels_by_target4741 returns distinct labels, ordered by usage in the given target relation4742 excludes labels that are not assigned to any records in the given target relation4743 .optionally_subscribed_by4744 returns subscribed labels4745 returns all labels if user_id is nil4746 #templates4747 with invalid template labels4748 returns only valid template labels4749 .pluck_titles4750 returns the audit event type of the event type filter4751Gitlab::Utils::UsageData4752 #with_prometheus_client4753 records duration4754 returns fallback with for an exception in yield block4755 when Prometheus server address is available from settings4756 behaves like try to query Prometheus with given address4757 Prometheus is ready4758 Prometheus is reachable through HTTPS4759 behaves like query data from Prometheus4760 yields a client instance and returns the block result4761 Prometheus is not reachable through HTTPS4762 Prometheus is reachable through HTTP4763 behaves like query data from Prometheus4764 yields a client instance and returns the block result4765 Prometheus is not reachable through HTTP4766 behaves like does not query data from Prometheus4767 returns {} by default4768 returns fallback if provided4769 Prometheus is not ready4770 behaves like does not query data from Prometheus4771 returns {} by default4772 returns fallback if provided4773 when Prometheus server address is available from Consul service discovery4774 behaves like try to query Prometheus with given address4775 Prometheus is ready4776 Prometheus is reachable through HTTPS4777 behaves like query data from Prometheus4778 yields a client instance and returns the block result4779 Prometheus is not reachable through HTTPS4780 Prometheus is reachable through HTTP4781 behaves like query data from Prometheus4782 yields a client instance and returns the block result4783 Prometheus is not reachable through HTTP4784 behaves like does not query data from Prometheus4785 returns {} by default4786 returns fallback if provided4787 Prometheus is not ready4788 behaves like does not query data from Prometheus4789 returns {} by default4790 returns fallback if provided4791 when Prometheus server address is not available4792 behaves like does not query data from Prometheus4793 returns {} by default4794 returns fallback if provided4795 #add4796 adds given values4797 adds given values4798 records duration4799 returns the fallback value one of the arguments is negative4800 when adding fails4801 behaves like failing hardening method4802 with should_raise_for_dev? false4803 returns the fallback4804 with should_raise_for_dev? true4805 raises an error4806 #add_metric4807 computes the metric value for given metric4808 #average4809 returns the average when operation succeeds4810 records duration4811 when operation fails4812 behaves like failing hardening method4813 with should_raise_for_dev? false4814 returns the fallback4815 with should_raise_for_dev? true4816 raises an error4817 min/max4818 returns min from the model4819 returns max from the model4820 #estimate_batch_distinct_count4821 delegates counting to counter class instance4822 yield provided block with PostgresHll::Buckets4823 quasi integration test for different counting parameters4824 different counting parameters4825 counts with symbol passed in column argument4826 counts with string passed in column argument4827 counts with table.column passed in column argument4828 counts with Arel passed in column argument4829 counts over joined relations4830 counts with :column field with batch_size of 50K4831 counts with different number of batches and aggregates total result4832 counts with a start and finish4833 error handling4834 when counter raises WRONG_CONFIGURATION_ERROR4835 behaves like failing hardening method4836 with should_raise_for_dev? false4837 returns the fallback4838 with should_raise_for_dev? true4839 raises an error4840 when counting fails due to database error4841 behaves like failing hardening method4842 with should_raise_for_dev? false4843 returns the fallback4844 with should_raise_for_dev? true4845 raises an error4846 #sum4847 returns the count when counting succeeds4848 records duration4849 when counting fails4850 behaves like failing hardening method4851 with should_raise_for_dev? false4852 returns the fallback4853 with should_raise_for_dev? true4854 raises an error4855 #alt_usage_data4856 records duration4857 returns the evaluated block when give4858 returns the value when given4859 when method fails4860 behaves like failing hardening method4861 with should_raise_for_dev? false4862 returns the fallback4863 with should_raise_for_dev? true4864 raises an error4865 #redis_usage_data4866 records duration4867 with block given4868 returns the evaluated block when given4869 when method fails4870 behaves like failing hardening method4871 with should_raise_for_dev? false4872 returns the fallback4873 with should_raise_for_dev? true4874 raises an error4875 when Redis HLL raises any error4876 behaves like failing hardening method4877 with should_raise_for_dev? false4878 returns the fallback4879 with should_raise_for_dev? true4880 raises an error4881 with counter given4882 returns the totals when couter is given4883 when gets an error4884 behaves like failing hardening method4885 with should_raise_for_dev? false4886 returns the fallback4887 with should_raise_for_dev? true4888 raises an error4889 #count4890 returns the count when counting succeeds4891 records duration4892 when counting fails4893 behaves like failing hardening method4894 with should_raise_for_dev? false4895 returns the fallback4896 with should_raise_for_dev? true4897 raises an error4898 #measure_duration4899 returns block result and execution duration4900 .with_metadata4901 yields passed block4902 #distinct_count4903 returns the count when counting succeeds4904 records duration4905 when counting fails4906 behaves like failing hardening method4907 with should_raise_for_dev? false4908 returns the fallback4909 with should_raise_for_dev? true4910 raises an error4911 #histogram4912 checks bucket bounds to be not equal4913 checks bucket_size being non-zero4914 limits the amount of buckets without providing bucket_size argument4915 limits the amount of buckets when providing bucket_size argument4916 without data4917 aggregates properly within bounds4918 aggregates properly out of bounds4919 records duration4920 when query timeout4921 with should_raise_for_dev? false4922 logs canceled queries4923 returns fallback4924 with should_raise_for_dev? true4925 raises error4926 #with_finished_at4927 adds a timestamp to the hash yielded by the block4928 #track_usage_event4929 tracks redis hll event4930 raise an error for unknown event4931Gitlab::TreeSummary4932 #initialize4933 defaults offset to 04934 defaults limit to 254935 when offset is larger than the maximum4936 sets offset to the maximum4937 #summarize4938 returns an array of entries4939 when offset is negative4940 returns an empty array4941 with caching4942 Commits list cache4943 creates a cache for commits list4944 when commit has a very long message4945 truncates commit message to 1 kilobyte4946 #fetch_logs4947 summarizes the entries within the window4948 references the commit and commit path in entries4949 in a good subdirectory4950 summarizes the entries in the subdirectory4951 in a subdirectory with a pathspec character4952 summarizes the entries in the subdirectory4953 in a non-existent subdirectory4954 is expected to be empty4955 custom offset and limit4956 returns entries from the offset4957 next offset4958 when there are more entries to fetch4959 returns next offset4960 when there are no more entries to fetch4961 returns next offset4962 #summarize (commits)4963 returns an Array of ::Commit objects4964 deduplicates commits when multiple entries reference the same commit4965 in a subdirectory4966 returns commits for entries in the subdirectory4967 in a subdirectory with non-ASCII filenames4968 returns commits for entries in the subdirectory4969 rendering commits4970 does not perform N + 1 request4971 References in commit messages4972 project_visibility: "private", user_role: :guest, issue_confidential: false, expected_result: true4973 is expected to eq true4974 project_visibility: "private", user_role: :guest, issue_confidential: true, expected_result: false4975 is expected to eq false4976 project_visibility: "private", user_role: :reporter, issue_confidential: false, expected_result: true4977 is expected to eq true4978 project_visibility: "private", user_role: :reporter, issue_confidential: true, expected_result: true4979 is expected to eq true4980 project_visibility: "internal", user_role: :guest, issue_confidential: false, expected_result: true4981 is expected to eq true4982 project_visibility: "internal", user_role: :guest, issue_confidential: true, expected_result: false4983 is expected to eq false4984 project_visibility: "internal", user_role: :reporter, issue_confidential: false, expected_result: true4985 is expected to eq true4986 project_visibility: "internal", user_role: :reporter, issue_confidential: true, expected_result: true4987 is expected to eq true4988 project_visibility: "public", user_role: :guest, issue_confidential: false, expected_result: true4989 is expected to eq true4990 project_visibility: "public", user_role: :guest, issue_confidential: true, expected_result: false4991 is expected to eq false4992 project_visibility: "public", user_role: :reporter, issue_confidential: false, expected_result: true4993 is expected to eq true4994 project_visibility: "public", user_role: :reporter, issue_confidential: true, expected_result: true4995 is expected to eq true4996PushEventPayloadService4997 #execute4998 creates a new PushEventPayload row4999 sets the push_event_payload association of the used event5000 #commit_title5001 returns nil if no commits were pushed5002 returns a String limited to 70 characters5003 does not truncate the commit message if it is shorter than 70 characters5004 includes the first line of a commit message if the message spans multiple lines5005 #commit_from_id5006 returns nil when creating a new ref5007 returns the ID of the first commit when pushing to an existing ref5008 #commit_to_id5009 returns nil when removing an existing ref5010 #commit_count5011 returns the number of commits5012 raises when the push data does not contain the commits count5013 #ref5014 returns the name of the ref5015 raises when the push data does not contain the ref name5016 #revision_before5017 returns the revision from before the push5018 raises when the push data does not contain the before revision5019 #revision_after5020 returns the revision from after the push5021 raises when the push data does not contain the after revision5022 #trimmed_ref5023 returns the ref name without its prefix5024 #create?5025 returns true when creating a new ref5026 returns false when pushing to an existing ref5027 #remove?5028 returns true when removing an existing ref5029 returns false pushing to an existing ref5030 #action5031 returns :created when creating a ref5032 returns :removed when removing an existing ref5033 returns :pushed when pushing to an existing ref5034 #ref_type5035 returns :tag for a tag5036 returns :branch for a branch5037Gitlab::Database::TablesTruncate5038 #needs_truncation?5039 when running in a single database mode5040WARNING: Active Record does not support composite primary key.5041_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5042WARNING: Active Record does not support composite primary key.5043gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5044WARNING: Active Record does not support composite primary key.5045_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5046WARNING: Active Record does not support composite primary key.5047gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5048 example at ./spec/lib/gitlab/database/tables_truncate_spec.rb:361 (PENDING: Skipping because some of the extra databases [:ci] are setup)5049 when running in a multiple database mode5050 with main data in ci database5051WARNING: Active Record does not support composite primary key.5052_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5053WARNING: Active Record does not support composite primary key.5054gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5055WARNING: Active Record does not support composite primary key.5056_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5057WARNING: Active Record does not support composite primary key.5058gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5059 is expected to eq true5060 with no main data in ci datatabase5061WARNING: Active Record does not support composite primary key.5062_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5063WARNING: Active Record does not support composite primary key.5064gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5065WARNING: Active Record does not support composite primary key.5066_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5067WARNING: Active Record does not support composite primary key.5068gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5069 is expected to eq false5070WARNING: Active Record does not support composite primary key.5071_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5072WARNING: Active Record does not support composite primary key.5073gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5074WARNING: Active Record does not support composite primary key.5075_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5076WARNING: Active Record does not support composite primary key.5077gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5078 supresses some QueryAnalyzers5079 when running in a single database mode5080WARNING: Active Record does not support composite primary key.5081_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5082WARNING: Active Record does not support composite primary key.5083gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5084WARNING: Active Record does not support composite primary key.5085_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5086WARNING: Active Record does not support composite primary key.5087gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5088 raises an error when truncating the main database that it is a single database setup (PENDING: Skipping because some of the extra databases [:ci] are setup)5089WARNING: Active Record does not support composite primary key.5090_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5091WARNING: Active Record does not support composite primary key.5092gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5093WARNING: Active Record does not support composite primary key.5094_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5095WARNING: Active Record does not support composite primary key.5096gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5097 raises an error when truncating the ci database that it is a single database setup (PENDING: Skipping because some of the extra databases [:ci] are setup)5098 when running with multiple shared databases5099WARNING: Active Record does not support composite primary key.5100_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5101WARNING: Active Record does not support composite primary key.5102gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5103WARNING: Active Record does not support composite primary key.5104_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5105WARNING: Active Record does not support composite primary key.5106gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5107 raises an error when truncating the main database that it is a single database setup (PENDING: Skipping because database ci exists)5108WARNING: Active Record does not support composite primary key.5109_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5110WARNING: Active Record does not support composite primary key.5111gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5112WARNING: Active Record does not support composite primary key.5113_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5114WARNING: Active Record does not support composite primary key.5115gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5116 raises an error when truncating the ci database that it is a single database setup (PENDING: Skipping because database ci exists)5117 when truncating gitlab_ci tables on the main database5118 behaves like truncating legacy tables on a database5119 when the truncated tables are not locked for writes5120WARNING: Active Record does not support composite primary key.5121_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5122WARNING: Active Record does not support composite primary key.5123gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5124WARNING: Active Record does not support composite primary key.5125_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5126WARNING: Active Record does not support composite primary key.5127gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5128 raises an error that the tables are not locked for writes5129 when the truncated tables are locked for writes5130WARNING: Active Record does not support composite primary key.5131_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5132WARNING: Active Record does not support composite primary key.5133gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5134WARNING: Active Record does not support composite primary key.5135_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5136WARNING: Active Record does not support composite primary key.5137gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5138 truncates the legacy tables5139WARNING: Active Record does not support composite primary key.5140_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5141WARNING: Active Record does not support composite primary key.5142gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5143WARNING: Active Record does not support composite primary key.5144_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5145WARNING: Active Record does not support composite primary key.5146gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5147 does not affect the other tables5148WARNING: Active Record does not support composite primary key.5149_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5150WARNING: Active Record does not support composite primary key.5151gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5152WARNING: Active Record does not support composite primary key.5153_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5154WARNING: Active Record does not support composite primary key.5155gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5156 logs the sql statements to the logger5157 when running in dry_run mode5158WARNING: Active Record does not support composite primary key.5159_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5160WARNING: Active Record does not support composite primary key.5161gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5162WARNING: Active Record does not support composite primary key.5163_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5164WARNING: Active Record does not support composite primary key.5165gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5166 does not truncate the legacy tables if running in dry run mode5167 when passing until_table parameter5168 with a table that exists5169WARNING: Active Record does not support composite primary key.5170_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5171WARNING: Active Record does not support composite primary key.5172gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5173WARNING: Active Record does not support composite primary key.5174_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5175WARNING: Active Record does not support composite primary key.5176gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5177 only truncates until the table specified5178 with a table that does not exist5179WARNING: Active Record does not support composite primary key.5180_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5181WARNING: Active Record does not support composite primary key.5182gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5183WARNING: Active Record does not support composite primary key.5184_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5185WARNING: Active Record does not support composite primary key.5186gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5187 raises an error if the specified table does not exist5188 when one of the attached partitions happened to be locked for writes5189WARNING: Active Record does not support composite primary key.5190_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5191WARNING: Active Record does not support composite primary key.5192gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5193WARNING: Active Record does not support composite primary key.5194_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5195WARNING: Active Record does not support composite primary key.5196gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5197 truncates the locked partition successfully (PENDING: No reason given)5198 with geo configured5199WARNING: Active Record does not support composite primary key.5200_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5201WARNING: Active Record does not support composite primary key.5202gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5203WARNING: Active Record does not support composite primary key.5204_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5205WARNING: Active Record does not support composite primary key.5206gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5207 does not truncate gitlab_geo tables (PENDING: No reason given)5208 when truncating gitlab_main tables on the ci database5209 behaves like truncating legacy tables on a database5210 when the truncated tables are not locked for writes5211WARNING: Active Record does not support composite primary key.5212_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5213WARNING: Active Record does not support composite primary key.5214gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5215WARNING: Active Record does not support composite primary key.5216_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5217WARNING: Active Record does not support composite primary key.5218gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5219 raises an error that the tables are not locked for writes5220 when the truncated tables are locked for writes5221WARNING: Active Record does not support composite primary key.5222_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5223WARNING: Active Record does not support composite primary key.5224gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5225WARNING: Active Record does not support composite primary key.5226_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5227WARNING: Active Record does not support composite primary key.5228gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5229 truncates the legacy tables5230WARNING: Active Record does not support composite primary key.5231_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5232WARNING: Active Record does not support composite primary key.5233gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5234WARNING: Active Record does not support composite primary key.5235_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5236WARNING: Active Record does not support composite primary key.5237gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5238 does not affect the other tables5239WARNING: Active Record does not support composite primary key.5240_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5241WARNING: Active Record does not support composite primary key.5242gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5243WARNING: Active Record does not support composite primary key.5244_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5245WARNING: Active Record does not support composite primary key.5246gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5247 logs the sql statements to the logger5248 when running in dry_run mode5249WARNING: Active Record does not support composite primary key.5250_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5251WARNING: Active Record does not support composite primary key.5252gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5253WARNING: Active Record does not support composite primary key.5254_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5255WARNING: Active Record does not support composite primary key.5256gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5257 does not truncate the legacy tables if running in dry run mode5258 when passing until_table parameter5259 with a table that exists5260WARNING: Active Record does not support composite primary key.5261_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5262WARNING: Active Record does not support composite primary key.5263gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5264WARNING: Active Record does not support composite primary key.5265_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5266WARNING: Active Record does not support composite primary key.5267gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5268 only truncates until the table specified5269 with a table that does not exist5270WARNING: Active Record does not support composite primary key.5271_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5272WARNING: Active Record does not support composite primary key.5273gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5274WARNING: Active Record does not support composite primary key.5275_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5276WARNING: Active Record does not support composite primary key.5277gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5278 raises an error if the specified table does not exist5279 when one of the attached partitions happened to be locked for writes5280WARNING: Active Record does not support composite primary key.5281_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5282WARNING: Active Record does not support composite primary key.5283gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5284WARNING: Active Record does not support composite primary key.5285_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5286WARNING: Active Record does not support composite primary key.5287gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5288 truncates the locked partition successfully5289 with geo configured5290WARNING: Active Record does not support composite primary key.5291_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5292WARNING: Active Record does not support composite primary key.5293gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5294WARNING: Active Record does not support composite primary key.5295_test_gitlab_hook_logs has composite primary key. Composite primary key is ignored.5296WARNING: Active Record does not support composite primary key.5297gitlab_partitions_dynamic._test_gitlab_hook_logs_202201 has composite primary key. Composite primary key is ignored.5298 does not truncate gitlab_geo tables (PENDING: No reason given)5299Members::Groups::CreatorService5300 .access_levels5301 returns Gitlab::Access.options_with_owner5302 behaves like owner management5303 .cannot_manage_owners?5304 when maintainer5305 cannot manage owners5306 when owner5307 can manage owners5308 .add_members5309 behaves like bulk member creation5310 returns Member objects5311 returns an empty array5312 supports different formats5313 with the same user sent more than once by user and by email5314 with the same user sent more than once by user id and by email5315 when current user does not have permission5316 does not succeed5317 with different source types5318 with an array of sources5319 behaves like supports multiple sources5320 is expected to all be persisted5321 with a query producing sources5322 behaves like supports multiple sources5323 is expected to all be persisted5324 with de-duplication5325 has the same user by id and user5326 has the same user sent more than once5327 when a member already exists5328 has the same user sent more than once with the member already existing5329 supports existing users as expected with user_ids passed5330 supports existing users as expected without user ids passed5331 .add_member5332 behaves like member creation5333 returns a Member object5334 sets members.expires_at to the given expires_at5335 accepts the :guest symbol as access level5336 accepts the 10 integer as access level5337 accepts the :reporter symbol as access level5338 accepts the 20 integer as access level5339 accepts the :developer symbol as access level5340 accepts the 30 integer as access level5341 accepts the :maintainer symbol as access level5342 accepts the 40 integer as access level5343 accepts the :owner symbol as access level5344 accepts the 50 integer as access level5345 when adding a project_bot5346 when project_bot is already a member5347 does not update the member5348 when project_bot is not already a member5349 adds the member5350 when admin mode is enabled5351 sets members.created_by to the given admin current_user5352 when admin mode is disabled5353 rejects setting members.created_by to the given admin current_user5354 with no current_user5355 when called with a known user id5356 adds the user as a member5357 when called with an unknown user id5358 does not add the user as a member5359 when called with a user object5360 adds the user as a member5361 when called with a requester user object5362 adds the requester as a member5363 when called with a known user email5364 adds the user as a member5365 when called with an unknown user email5366 creates an invited member5367 when called with an unknown user email starting with a number5368 creates an invited member5369 when current_user can update member5370 creates the member5371 when called with a requester user object5372 adds the requester as a member5373 when current_user cannot update member5374 does not create the member5375 when called with a requester user object5376 does not destroy the requester5377 when member already exists5378 when member is a user5379 with no current_user5380 updates the member5381 when current_user can update member5382 updates the member5383 when current_user cannot update member5384 does not update the member5385 when member is an invite by email5386 updates the member for that email5387 authorized projects update5388 schedules a single project authorization update job when called multiple times5389Banzai::ReferenceParser::UserParser5390 #referenced_by5391 when the link has a data-group attribute5392 using an existing group ID5393 returns an empty Array when the group has no users5394 when group has members5395 returns the relevant users of the group with enough access5396 returns an empty Array when the group has mentions disabled5397 using a non-existing group ID5398 returns an empty Array5399 when the link has a data-user attribute5400 returns an Array of users5401 when RequestStore is active5402 does not return users from the first call in the second5403 when the link has a data-project attribute5404 using an existing project ID5405 returns the members of a project5406 using a non-existing project ID5407 returns an empty Array5408 #nodes_visible_to_user5409 when the link has a data-group attribute5410 using an existing group ID5411 returns the nodes if the user can read the group5412 returns an empty Array if the user can not read the group5413 when the link does not have a data-group attribute5414 with a data-project attribute5415 returns the nodes if the attribute value equals the current project ID5416 returns the nodes if the user can read the project5417 returns an empty Array if the user can not read the project5418 without a data-project attribute5419 returns the nodes5420 #nodes_user_can_reference5421 when the link has a data-author attribute5422 returns the nodes when the user is a member of the project5423 returns an empty Array when the project could not be found5424 returns an empty Array when the user could not be found5425 returns an empty Array when the user is not a team member5426 returns the nodes if the project attribute value equals the current project ID5427 when the link does not have a data-author attribute5428 returns the nodes5429Integrations::Telegram5430 behaves like chat integration5431 Associations5432 is expected to belong to project required: false5433 Validations5434 when integration is active5435 is expected to validate that :webhook cannot be empty/falsy5436 behaves like issue tracker integration URL attribute5437 is expected to allow :webhook to be ‹"https://example.com"›5438 is expected not to allow :webhook to be ‹"example.com"›5439 is expected not to allow :webhook to be ‹"ftp://example.com"›5440 is expected not to allow :webhook to be ‹"herp-and-derp"›5441 when integration is inactive5442 is expected not to validate that :webhook cannot be empty/falsy5443 .supported_events5444 does not support deployment_events5445 #execute5446 with push events5447 behaves like triggered Telegram integration5448 calls Telegram API5449 with default branch5450 when only default branch are to be notified5451 behaves like triggered Telegram integration5452 calls Telegram API5453 when only protected branches are to be notified5454 behaves like untriggered Telegram integration5455 does not call Telegram API5456 when default and protected branches are to be notified5457 behaves like triggered Telegram integration5458 calls Telegram API5459 when all branches are to be notified5460 behaves like triggered Telegram integration5461 calls Telegram API5462 with protected branch5463 when only default branch are to be notified5464 behaves like untriggered Telegram integration5465 does not call Telegram API5466 when only protected branches are to be notified5467 behaves like triggered Telegram integration5468 calls Telegram API5469 when default and protected branches are to be notified5470 behaves like triggered Telegram integration5471 calls Telegram API5472 when all branches are to be notified5473 behaves like triggered Telegram integration5474 calls Telegram API5475 with neither default nor protected branch5476 when only default branch are to be notified5477 behaves like untriggered Telegram integration5478 does not call Telegram API5479 when only protected branches are to be notified5480 behaves like untriggered Telegram integration5481 does not call Telegram API5482 when default and protected branches are to be notified5483 behaves like untriggered Telegram integration5484 does not call Telegram API5485 when all branches are to be notified5486 behaves like triggered Telegram integration5487 calls Telegram API5488 with issue events5489 behaves like triggered Telegram integration5490 calls Telegram API5491 with merge events5492 behaves like triggered Telegram integration5493 calls Telegram API5494 with wiki page events5495 behaves like triggered Telegram integration5496 calls Telegram API5497 with note events5498 with commit comment5499 behaves like triggered Telegram integration5500 calls Telegram API5501 with merge request comment5502 behaves like triggered Telegram integration5503 calls Telegram API5504 with issue comment5505 behaves like triggered Telegram integration5506 calls Telegram API5507 with snippet comment5508 behaves like triggered Telegram integration5509 calls Telegram API5510 with pipeline events5511 with failed pipeline5512 behaves like triggered Telegram integration5513 calls Telegram API5514 with succeeded pipeline5515 with default notify_only_broken_pipelines5516 does not call Telegram API5517 when notify_only_broken_pipelines is false5518 behaves like triggered Telegram integration5519 calls Telegram API5520 with default branch5521 when only default branch are to be notified5522 behaves like triggered Telegram integration5523 calls Telegram API5524 when only protected branches are to be notified5525 behaves like untriggered Telegram integration5526 does not call Telegram API5527 when default and protected branches are to be notified5528 behaves like triggered Telegram integration5529 calls Telegram API5530 when all branches are to be notified5531 behaves like triggered Telegram integration5532 calls Telegram API5533 with protected branch5534 when only default branch are to be notified5535 behaves like untriggered Telegram integration5536 does not call Telegram API5537 when only protected branches are to be notified5538 behaves like triggered Telegram integration5539 calls Telegram API5540 when default and protected branches are to be notified5541 behaves like triggered Telegram integration5542 calls Telegram API5543 when all branches are to be notified5544 behaves like triggered Telegram integration5545 calls Telegram API5546 with neither default nor protected branch5547 when only default branch are to be notified5548 behaves like untriggered Telegram integration5549 does not call Telegram API5550 when only protected branches are to be notified5551 behaves like untriggered Telegram integration5552 does not call Telegram API5553 when default and protected branches are to be notified5554 behaves like untriggered Telegram integration5555 does not call Telegram API5556 when all branches are to be notified5557 behaves like triggered Telegram integration5558 calls Telegram API5559 deployment events5560 behaves like untriggered Telegram integration5561 does not call Telegram API5562 before_validation :set_webhook5563 when token is not present5564 does not set webhook value5565 when token is present5566 sets webhook value5567 validations5568 when integration is active5569 is expected to validate that :token cannot be empty/falsy5570 is expected to validate that :room cannot be empty/falsy5571 when integration is inactive5572 is expected not to validate that :token cannot be empty/falsy5573 is expected not to validate that :room cannot be empty/falsy5574 #avatar_url5575 returns the avatar image path5576Packages::Debian::ComponentFileUploader5577 Packages::Debian::ProjectComponentFile5578 behaves like builds correct paths5579 #store_dir5580 behaves like matches the method pattern5581 is expected to match /^\h{2}\/\h{2}\/\h{64}\/debian_project_component_file\/\d+$/5582 #cache_dir5583 behaves like matches the method pattern5584 is expected to match /\/packages\/tmp\/cache$/5585 #work_dir5586 behaves like matches the method pattern5587 is expected to match /\/packages\/tmp\/work$/5588 #upload_path5589 behaves like matches the method pattern5590 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5591 #relative_path5592 is relative (PENDING: Path not set, skipping.)5593 .absolute_path5594 behaves like matches the method pattern5595 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5596 .base_dir5597 behaves like matches the method pattern5598 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5599 path traversal exploits5600 throws an exception5601 object store is remote5602 behaves like builds correct paths5603 #store_dir5604 behaves like matches the method pattern5605 is expected to match /^\h{2}\/\h{2}\/\h{64}\/debian_project_component_file\/\d+$/5606 #cache_dir5607 behaves like matches the method pattern5608 is expected to match /\/packages\/tmp\/cache$/5609 #work_dir5610 behaves like matches the method pattern5611 is expected to match /\/packages\/tmp\/work$/5612 #upload_path5613 behaves like matches the method pattern5614 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5615 #relative_path5616 is relative (PENDING: Path not set, skipping.)5617 .absolute_path5618 behaves like matches the method pattern5619 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5620 .base_dir5621 behaves like matches the method pattern5622 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5623 path traversal exploits5624 throws an exception5625 remote file5626 with object storage enabled5627 can store file remotely5628 Packages::Debian::GroupComponentFile5629 behaves like builds correct paths5630 #store_dir5631 behaves like matches the method pattern5632 is expected to match /^\h{2}\/\h{2}\/\h{64}\/debian_group_component_file\/\d+$/5633 #cache_dir5634 behaves like matches the method pattern5635 is expected to match /\/packages\/tmp\/cache$/5636 #work_dir5637 behaves like matches the method pattern5638 is expected to match /\/packages\/tmp\/work$/5639 #upload_path5640 behaves like matches the method pattern5641 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5642 #relative_path5643 is relative (PENDING: Path not set, skipping.)5644 .absolute_path5645 behaves like matches the method pattern5646 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5647 .base_dir5648 behaves like matches the method pattern5649 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5650 path traversal exploits5651 throws an exception5652 object store is remote5653 behaves like builds correct paths5654 #store_dir5655 behaves like matches the method pattern5656 is expected to match /^\h{2}\/\h{2}\/\h{64}\/debian_group_component_file\/\d+$/5657 #cache_dir5658 behaves like matches the method pattern5659 is expected to match /\/packages\/tmp\/cache$/5660 #work_dir5661 behaves like matches the method pattern5662 is expected to match /\/packages\/tmp\/work$/5663 #upload_path5664 behaves like matches the method pattern5665 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5666 #relative_path5667 is relative (PENDING: Path not set, skipping.)5668 .absolute_path5669 behaves like matches the method pattern5670 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5671 .base_dir5672 behaves like matches the method pattern5673 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5674 path traversal exploits5675 throws an exception5676 remote file5677 with object storage enabled5678 can store file remotely5679Gitlab::Diff::FileCollection::PaginatedMergeRequestDiff5680 behaves like cacheable diff collection5681 #write_cache5682 calls Gitlab::Diff::HighlightCache#write_if_empty5683 calls Gitlab::Diff::StatsCache#write_if_empty with diff stats5684 #clear_cache5685 calls Gitlab::Diff::HighlightCache#clear5686 calls Gitlab::Diff::StatsCache#clear5687 #diff_files5688 calls Gitlab::Diff::HighlightCache#decorate5689 when there are stats cached5690 does not make a diff stats rpc call5691 when there are no stats cached5692 makes a diff stats rpc call5693 behaves like unsortable diff files5694 #raw_diff_files5695 does not call Gitlab::Diff::FileCollectionSorter even when sorted is true5696 #diff_files5697 returns paginated diff files5698 returns a valid instance of a DiffCollection5699 when first page5700 returns correct diff files5701 when another page5702 returns correct diff files5703 when page is nil5704 returns correct diff files5705 when per_page is nil5706 returns correct diff files5707 when invalid page5708 returns correct diff files5709 when last page5710 returns correct diff files5711 behaves like unfoldable diff5712 calls Gitlab::Diff::File#unfold_diff_lines with correct position5713MergeRequestPollCachedWidgetEntity5714 has the latest sha of the target branch5715 has blob path data5716 merge_status5717 calls for MergeRequest#check_mergeability5718 has public_merge_status as merge_status5719 diverged_commits_count5720 when MR open and its diverging5721 returns diverged commits count5722 when MR is not open5723 returns 05724 when MR is not diverging5725 returns 05726 diff_head_sha5727 when diff head commit is empty5728 returns nil5729 when diff head commit present5730 returns diff head commit short id5731 metrics5732 when metrics record exists with merged data5733 matches merge request metrics schema5734 returns values from metrics record5735 when metrics record exists with closed data5736 matches merge request metrics schema5737 returns values from metrics record5738 when metrics does not exists5739 when events exists5740 matches merge request metrics schema5741 returns values from events record5742 when events does not exists5743 matches merge request metrics schema5744 commits_without_merge_commits5745 does not include merge commits5746 squash defaults for projects5747 squash_option: "always", value: true, default: true, readonly: true5748 the key reflects the correct value5749 squash_option: "never", value: false, default: false, readonly: true5750 the key reflects the correct value5751 squash_option: "default_on", value: false, default: true, readonly: false5752 the key reflects the correct value5753 squash_option: "default_off", value: false, default: false, readonly: false5754 the key reflects the correct value5755 attributes for squash commit message5756 when merge request is mergeable5757 has default_squash_commit_message and commits_without_merge_commits5758 pipeline5759 when user has access to pipelines5760 when is up to date5761 returns pipeline5762 when user does not have access to pipelines5763 does not have pipeline5764 when is not up to date5765 returns nil5766 merge_pipeline5767 returns nil5768 when is merged5769 returns merge_pipeline5770 when user cannot read pipelines on target project5771 returns nil5772 ci related paths5773 path_field: :terraform_reports_path, method_for_existence_check: :has_terraform_reports?5774 when merge request has reports5775 set the path to poll data5776 when merge request has no reports5777 does not set reports path5778 path_field: :accessibility_report_path, method_for_existence_check: :has_accessibility_reports?5779 when merge request has reports5780 set the path to poll data5781 when merge request has no reports5782 does not set reports path5783 path_field: :exposed_artifacts_path, method_for_existence_check: :has_exposed_artifacts?5784 when merge request has reports5785 set the path to poll data5786 when merge request has no reports5787 does not set reports path5788 path_field: :test_reports_path, method_for_existence_check: :has_test_reports?5789 when merge request has reports5790 set the path to poll data5791 when merge request has no reports5792 does not set reports path5793 path_field: :codequality_reports_path, method_for_existence_check: :has_codequality_reports?5794 when merge request has reports5795 set the path to poll data5796 when merge request has no reports5797 does not set reports path5798 favicon overlay path5799 when merged5800 returns merged favicon overlay5801 with pipeline5802 returns merged favicon overlay5803 when not merged5804 returns no favicon overlay5805 with pipeline5806 returns pipeline favicon overlay5807Gitlab::Ci::Lint5808 #validate5809 when user has permissions to write the ref5810 when using default static mode5811 does not catch advanced logical errors5812 uses YamlProcessor5813 behaves like content with errors and warnings5814 when content has errors5815 returns a result with errors5816 when content has warnings5817 returns a result with warnings5818 when content has more warnings than max limit5819 returns a result with warnings5820 when content has errors and warnings5821 returns a result with errors and warnings5822 behaves like content is valid5823 returns a valid result5824 includes extra attributes5825 behaves like sets config metadata5826 sets merged_config5827 sets includes5828 behaves like when sha is not provided5829 runs YamlProcessor with verify_project_sha: false5830 when sha is provided5831 runs YamlProcessor with verify_project_sha: true5832 behaves like content is valid5833 returns a valid result5834 when the sha is invalid5835 behaves like content is valid5836 returns a valid result5837 when the sha is from a fork5838 when a project ref contains the sha5839 behaves like content is valid5840 returns a valid result5841 when a project ref does not contain the sha5842 returns an error5843 when verify_project_sha is false5844 behaves like when sha is not provided5845 runs YamlProcessor with verify_project_sha: false5846 when using dry run mode5847 runs advanced logical validations5848 uses Ci::CreatePipelineService5849 behaves like content with errors and warnings5850 when content has errors5851 returns a result with errors5852 when content has warnings5853 returns a result with warnings5854 when content has more warnings than max limit5855 returns a result with warnings5856 when content has errors and warnings5857 returns a result with errors and warnings5858 behaves like content is valid5859 returns a valid result5860 does not include extra attributes5861 when using a ref other than the default branch5862 includes only jobs that are excluded on the default branch5863 behaves like sets config metadata5864 sets merged_config5865 sets includes5866 when user does not have permissions to write the ref5867 when using default static mode5868 behaves like content is valid5869 returns a valid result5870 when using dry run mode5871 does not allow validation5872 pipeline logger5873 when the duration is under the threshold5874 does not create a log entry5875 when the durations exceeds the threshold5876 creates a log entry5877 when the feature flag is disabled5878 does not create a log entry5879 when project is not provided5880 creates a log entry without project_id5881API::Entities::User5882 exposes correct attributes5883 exposes created_at if the current user can read the user profile5884 does not expose created_at if the current user cannot read the user profile5885 exposes user as not a bot5886 exposes local_time5887 exposing follow relationships5888 when current user cannot read user profile5889 behaves like does not expose relationship5890 does not expose followers5891 when current user can read user profile5892 behaves like exposes relationship5893 exposes followers5894 when current user can read user profile and user disabled it for themself5895 behaves like does not expose relationship5896 does not expose followers5897 when current user can read user profile and current user disabled it for themself5898 behaves like does not expose relationship5899 does not expose followers5900 when current user cannot read user profile5901 behaves like does not expose relationship5902 does not expose following5903 when current user can read user profile5904 behaves like exposes relationship5905 exposes following5906 when current user can read user profile and user disabled it for themself5907 behaves like does not expose relationship5908 does not expose following5909 when current user can read user profile and current user disabled it for themself5910 behaves like does not expose relationship5911 does not expose following5912 when current user cannot read user profile5913 behaves like does not expose relationship5914 does not expose is_followed5915 when current user can read user profile5916 behaves like exposes relationship5917 exposes is_followed5918 when current user can read user profile and user disabled it for themself5919 behaves like does not expose relationship5920 does not expose is_followed5921 when current user can read user profile and current user disabled it for themself5922 behaves like does not expose relationship5923 does not expose is_followed5924 with project bot user5925 exposes user as a bot5926 when the requester is not an admin5927 does not expose project bot user name5928 when the requester is nil5929 does not expose project bot user name5930 when the requester is a project maintainer5931 exposes project bot user name5932 when the requester is an admin5933 exposes project bot user name5934 with group bot user5935 exposes user as a bot5936 when the requester is not a group member5937 with a public group5938 exposes group bot user name5939 with a private group5940 does not expose group bot user name5941 when the requester is nil5942 does not expose group bot user name5943 when the requester is a group maintainer5944 exposes group bot user name5945 when the requester is an admin5946 exposes group bot user name5947 with logged-out user5948 exposes is_followed as nil5949Issues::BuildService5950 for a single discussion5951 #execute5952 references the noteable title in the issue title5953 adds the note content to the description5954 for discussions in a merge request5955 #items_for_discussions5956 has an item for each discussion5957 #item_for_discussion5958 mentions the author of the note5959 wraps the note in a blockquote5960 #execute5961 uses provided title if title param given5962 uses provided description if description param given5963 without additional params5964 has the merge request reference in the title5965 has the reference of the merge request in the description5966 with multiple discussions5967 mentions all the authors in the description5968 has a link for each unresolved discussion in the description5969 mentions additional notes5970 For a merge request without discussions5971 #execute5972 mentions the merge request in the description5973 #execute5974 setting milestone5975 when developer5976 builds a new issues with given params5977 sets milestone to nil if it is not available for the project5978 when user is not a project member5979 cannot set milestone5980 setting issue type5981 with a corresponding WorkItems::Type5982 issue_params: {:issue_type=>nil}, current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5983 builds an issue5984 issue_params: {:issue_type=>"issue"}, current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5985 builds an issue5986 issue_params: {:issue_type=>"incident"}, current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5987 builds an issue5988 issue_params: {:issue_type=>"incident"}, current_user: reporter, work_item_type_id: type_incident_id, resulting_issue_type: "incident"5989 builds an issue5990 issue_params: combined_params, current_user: reporter, work_item_type_id: type_task_id, resulting_issue_type: "task"5991 builds an issue5992 issue_params: work_item_params, current_user: reporter, work_item_type_id: type_task_id, resulting_issue_type: "task"5993 builds an issue5994 issue_params: {:issue_type=>"test_case"}, current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5995 builds an issue5996 issue_params: {:issue_type=>"requirement"}, current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5997 builds an issue5998 issue_params: {:issue_type=>"invalid"}, current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5999 builds an issue6000 issue_params: {:issue_type=>"project"}, current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"6001 builds an issue6002Clusters::CreateService6003 when provider is gcp6004 when project has no clusters6005 when correct params6006 creates a cluster object6007 when invalid params6008 returns an error6009 when project has a cluster6010 creates another cluster6011 when another cluster exists6012 when correct params6013 creates a cluster object6014 when invalid params6015 returns an error6016 when params includes :management_project_id6017 management_project is non-existent6018 does not persist the cluster and adds errors6019 project cluster6020 when user is authorized to adminster manangement_project6021 persists the cluster6022 when user is not authorized to adminster manangement_project6023 does not persist the cluster and adds errors6024 when manangement_project is outside of the namespace scope6025 does not persist the cluster6026 group cluster6027 when user is authorized to adminster manangement_project6028 persists the cluster6029 when user is not authorized to adminster manangement_project6030 does not persist the cluster and adds errors6031 when manangement_project is outside of the namespace scope6032 does not persist the cluster6033 instance cluster6034 when user is authorized to adminster manangement_project6035 persists the cluster6036 when user is not authorized to adminster manangement_project6037 does not persist the cluster and adds errors6038Gitlab::Json6039 .parse6040 is aliased6041 legacy_mode is disabled by default6042 parses an object6043 parses an array6044 parses a string6045 parses a true bool6046 parses a false bool6047 legacy_mode is enabled6048 parses an object6049 parses an array6050 raises an error on a string6051 raises an error on a true bool6052 raises an error on a false bool6053 feature flag is disabled6054 parses an object6055 parses an array6056 parses a string6057 parses a true bool6058 parses a false bool6059 .parse!6060 legacy_mode is disabled by default6061 parses an object6062 parses an array6063 parses a string6064 parses a true bool6065 parses a false bool6066 legacy_mode is enabled6067 parses an object6068 parses an array6069 raises an error on a string6070 raises an error on a true bool6071 raises an error on a false bool6072 feature flag is disabled6073 parses an object6074 parses an array6075 parses a string6076 parses a true bool6077 parses a false bool6078 .dump6079 dumps an object6080 dumps an array6081 dumps a string6082 dumps a true bool6083 dumps a false bool6084 .generate6085 is aliased6086 generates JSON6087 allows you to customise the output6088 .pretty_generate6089 generates pretty JSON6090 allows you to customise the output6091 the feature table is missing6092 skips legacy mode handling6093 the database is missing6094 still parses json6095 still generates json6096 Gitlab::Json::GrapeFormatter6097 generates JSON6098 uses Gitlab::Json6099 precompiled JSON6100 renders the string directly6101 calls #to_s on the object6102 doesn't run the JSON formatter6103 Gitlab::Json::PrecompiledJson6104 #to_s6105 obj is a string6106 returns a string6107 obj is an array6108 returns a string6109 obj is an array of un-stringables6110 raises an error6111 obj is something else6112 raises an error6113 Gitlab::Json::LimitedEncoder6114 when object size is acceptable6115 returns json string6116 when object is too big6117 raises LimitExceeded error6118 when object contains ASCII-8BIT encoding6119 does not raise encoding error6120 Gitlab::Json::RailsEncoder6121 is used by ActiveSupport::JSON6122 is used by .to_json calls6123 is consistent with the original JSON implementation6124 behaves the same when processing invalid unicode data6125notify/pipeline_success_email.text.erb6126 when pipeline has a name attribute6127 behaves like pipeline status changes email6128 when the pipeline contains a failed job6129 behaves like renders the pipeline status changes email correctly6130 pipeline with user6131 renders the email correctly6132 behaves like correct pipeline information for pipelines for merge requests6133 when pipeline for merge request6134 renders a source ref of the pipeline6135 pipeline without user6136 renders the email correctly6137 when the latest failed job is a bridge job6138 behaves like renders the pipeline status changes email correctly6139 pipeline with user6140 renders the email correctly6141 behaves like correct pipeline information for pipelines for merge requests6142 when pipeline for merge request6143 renders a source ref of the pipeline6144 pipeline without user6145 renders the email correctly6146 when pipeline does not have a name attribute6147 behaves like pipeline status changes email6148 when the pipeline contains a failed job6149 behaves like renders the pipeline status changes email correctly6150 pipeline with user6151 renders the email correctly6152 behaves like correct pipeline information for pipelines for merge requests6153 when pipeline for merge request6154 renders a source ref of the pipeline6155 pipeline without user6156 renders the email correctly6157 when the latest failed job is a bridge job6158 behaves like renders the pipeline status changes email correctly6159 pipeline with user6160 renders the email correctly6161 behaves like correct pipeline information for pipelines for merge requests6162 when pipeline for merge request6163 renders a source ref of the pipeline6164 pipeline without user6165 renders the email correctly6166Ci::PipelinePresenter6167 inherits from Gitlab::View::Presenter::Delegated6168 #initialize6169 takes a pipeline and optional params6170 exposes pipeline6171 forwards missing methods to pipeline6172 #status_title6173 when pipeline is auto-canceled6174 shows that the pipeline is auto-canceled6175 when pipeline is not auto-canceled6176 does not have a status title6177 #failure_reason6178 when pipeline has a failure reason6179 when failure reason is unknown_failure6180 represents a failure reason sentence6181 when failure reason is config_error6182 represents a failure reason sentence6183 when failure reason is external_validation_failure6184 represents a failure reason sentence6185 when failure reason is user_not_verified6186 represents a failure reason sentence6187 when failure reason is size_limit_exceeded6188 represents a failure reason sentence6189 when failure reason is job_activity_limit_exceeded6190 represents a failure reason sentence6191 when failure reason is deployments_limit_exceeded6192 represents a failure reason sentence6193 when failure reason is project_deleted6194 represents a failure reason sentence6195 when pipeline does not have failure reason6196 returns nil6197 #event_type_name6198 for a detached merge request pipeline6199 is expected to eq "Merge request pipeline"6200 for a merged result pipeline6201 is expected to eq "Merged result pipeline"6202 for a merge train pipeline6203 is expected to eq "Merge train pipeline"6204 when pipeline is branch pipeline6205 is expected to eq "Pipeline"6206 #coverage6207 when pipeline has coverage6208 formats coverage into 2 decimal points6209 when pipeline does not have coverage6210 returns nil6211 #ref_text6212 when pipeline is detached merge request pipeline6213 returns a correct ref text6214 when pipeline is merge request pipeline6215 returns a correct ref text6216 when pipeline is branch pipeline6217 when ref exists in the repository6218 returns a correct ref text6219 when ref contains malicious script6220 does not include the malicious script6221 when ref does not exist in the repository6222 returns a correct ref text6223 when ref contains malicious script6224 does not include the malicious script6225 #link_to_merge_request6226 with a related merge request6227 returns a correct link6228 when pipeline is branch pipeline6229 is expected to be nil6230 #link_to_merge_request_source_branch6231 with a related merge request6232 returns a correct link6233 when pipeline is branch pipeline6234 is expected to be nil6235 #link_to_merge_request_target_branch6236 with a related merge request6237 returns a correct link6238 when pipeline is branch pipeline6239 is expected to be nil6240 #triggered_by_path6241 when the pipeline is a child6242 returns the pipeline path6243 when the pipeline is not a child6244 returns the pipeline path6245Ci::BuildMetadata6246 is expected to belong to build required: false6247 is expected to belong to project required: false6248 behaves like having unique enum values6249 has unique values in "timeout_source"6250 #update_timeout_state6251 when job, project and runner timeouts are set6252 when job timeout is lower then runner timeout6253 behaves like sets timeout6254 sets project_timeout_source6255 sets project timeout6256 when runner timeout is lower then job timeout6257 behaves like sets timeout6258 sets project_timeout_source6259 sets project timeout6260 when job, project timeout values are set and runner is assigned6261 when runner has no timeout set6262 behaves like sets timeout6263 sets project_timeout_source6264 sets project timeout6265 when only job and project timeouts are defined6266 when job timeout is lower then project timeout6267 behaves like sets timeout6268 sets project_timeout_source6269 sets project timeout6270 when project timeout is lower then job timeout6271 behaves like sets timeout6272 sets project_timeout_source6273 sets project timeout6274 when only project and runner timeouts are defined6275 when runner timeout is lower then project timeout6276 behaves like sets timeout6277 sets project_timeout_source6278 sets project timeout6279 when project timeout is lower then runner timeout6280 behaves like sets timeout6281 sets project_timeout_source6282 sets project timeout6283 when only job and runner timeouts are defined6284 when runner timeout is lower them job timeout6285 behaves like sets timeout6286 sets project_timeout_source6287 sets project timeout6288 when job timeout is lower them runner timeout6289 behaves like sets timeout6290 sets project_timeout_source6291 sets project timeout6292 when only job timeout is defined and runner is assigned, but has no timeout set6293 behaves like sets timeout6294 sets project_timeout_source6295 sets project timeout6296 when only one timeout value is defined6297 when only project timeout value is defined6298 behaves like sets timeout6299 sets project_timeout_source6300 sets project timeout6301 validations6302 when attributes are valid6303 returns no errors6304 when data is invalid6305 returns errors6306 set_cancel_gracefully6307 sets cancel_gracefully6308 returns false6309 loose foreign key on ci_builds_metadata.project_id6310 behaves like cleanup by a loose foreign key6311 cleans up (delete or nullify) the model6312 #enable_debug_trace!6313 when debug_trace_enabled is false6314 sets debug_trace_enabled to true6315 when debug_trace_enabled is true6316 does not set debug_trace_enabled to true6317 partitioning6318 with job6319 copies the partition_id from job6320 when it is already set6321 does not change the partition_id value6322 without job6323 is expected to validate that :partition_id cannot be empty/falsy6324 does not change the partition_id value6325 jsonb fields serialization6326 changing other fields does not change config_options6327 accessing config_options does not change it6328Gitlab::Ci::Config::Entry::Need6329 with simple config6330 when job is specified6331 #valid?6332 is expected to be valid6333 #value6334 returns job needs configuration6335 behaves like job type6336 #type6337 is expected to eq :job6338 when need is empty6339 #valid?6340 is expected not to be valid6341 #errors6342 is returns an error about an empty config6343 behaves like job type6344 #type6345 is expected to eq :job6346 with complex config6347 with job name and artifacts true6348 #valid?6349 is expected to be valid6350 #value6351 returns job needs configuration6352 behaves like job type6353 #type6354 is expected to eq :job6355 with job name and artifacts false6356 #valid?6357 is expected to be valid6358 #value6359 returns job needs configuration6360 behaves like job type6361 #type6362 is expected to eq :job6363 with job name and artifacts nil6364 #valid?6365 is expected to be valid6366 #value6367 returns job needs configuration6368 behaves like job type6369 #type6370 is expected to eq :job6371 without artifacts key6372 #valid?6373 is expected to be valid6374 #value6375 returns job needs configuration6376 behaves like job type6377 #type6378 is expected to eq :job6379 with job name and optional true6380 is expected to be valid6381 behaves like job type6382 #type6383 is expected to eq :job6384 #value6385 returns job needs configuration6386 with job name and optional false6387 is expected to be valid6388 behaves like job type6389 #type6390 is expected to eq :job6391 #value6392 returns job needs configuration6393 with job name and optional nil6394 is expected to be valid6395 behaves like job type6396 #type6397 is expected to eq :job6398 #value6399 returns job needs configuration6400 without optional key6401 is expected to be valid6402 behaves like job type6403 #type6404 is expected to eq :job6405 #value6406 returns job needs configuration6407 when job name is empty6408 #valid?6409 is expected not to be valid6410 #errors6411 is returns an error about an empty config6412 behaves like job type6413 #type6414 is expected to eq :job6415 when job name is not a string6416 #valid?6417 is expected not to be valid6418 #errors6419 is returns an error about job type6420 behaves like job type6421 #type6422 is expected to eq :job6423 when job has unknown keys6424 #valid?6425 is expected not to be valid6426 #errors6427 is returns an error about job type6428 behaves like job type6429 #type6430 is expected to eq :job6431 when parallel:matrix has a value6432 and it is a string value6433 #valid?6434 is expected to be valid6435 #value6436 returns job needs configuration6437 behaves like job type6438 #type6439 is expected to eq :job6440 and it is an array value6441 #valid?6442 is expected to be valid6443 #value6444 returns job needs configuration6445 behaves like job type6446 #type6447 is expected to eq :job6448 and it is a both an array and string value6449 #valid?6450 is expected to be valid6451 #value6452 returns job needs configuration6453 behaves like job type6454 #type6455 is expected to eq :job6456 with cross pipeline artifacts needs6457 when pipeline is provided6458 when job is provided6459 is expected to be valid6460 sets artifacts:true by default6461 sets the type as cross_dependency6462 when artifacts is provided6463 is expected to be valid6464 returns the correct value6465 when config contains not allowed keys6466 is expected not to be valid6467 returns an error6468 when need config is not a string or a hash6469 #valid?6470 is expected not to be valid6471 #errors6472 is returns an error about job type6473Gitlab::LegacyGithubImport::PullRequestFormatter6474 when importing a GitHub project6475 behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#attributes6476 when pull request is open6477 returns formatted attributes6478 when pull request is closed6479 returns formatted attributes6480 when pull request is merged6481 returns formatted attributes6482 when it is assigned to someone6483 returns nil as assignee_id when is not a GitLab user6484 returns GitLab user id associated with GitHub id as assignee_id6485 returns GitLab user id associated with GitHub email as assignee_id6486 when author is a GitLab user6487 returns project creator_id as author_id when is not a GitLab user6488 returns GitLab user id associated with GitHub id as author_id6489 returns GitLab user id associated with GitHub email as author_id6490 returns description without created at tag line6491 when it has a milestone6492 returns nil when milestone does not exist6493 returns milestone when it exists6494 behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#number6495 returns pull request number6496 behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#source_branch_name6497 when source branch exists6498 returns branch ref6499 when source branch does not exist6500 prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision6501 when source branch is from a fork6502 prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision6503 when source branch is from a deleted fork6504 prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision6505 behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#target_branch_name6506 when target branch exists6507 returns branch ref6508 when target branch does not exist6509 prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision6510 when importing a Gitea project6511 behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#attributes6512 when pull request is open6513 returns formatted attributes6514 when pull request is closed6515 returns formatted attributes6516 when pull request is merged6517 returns formatted attributes6518 when it is assigned to someone6519 returns nil as assignee_id when is not a GitLab user6520 returns GitLab user id associated with GitHub id as assignee_id6521 returns GitLab user id associated with GitHub email as assignee_id6522 when author is a GitLab user6523 returns project creator_id as author_id when is not a GitLab user6524 returns GitLab user id associated with GitHub id as author_id6525 returns GitLab user id associated with GitHub email as author_id6526 returns description without created at tag line6527 when it has a milestone6528 returns nil when milestone does not exist6529 returns milestone when it exists6530 behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#number6531 returns pull request number6532 behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#source_branch_name6533 when source branch exists6534 returns branch ref6535 when source branch does not exist6536 prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision6537 when source branch is from a fork6538 prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision6539 when source branch is from a deleted fork6540 prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision6541 behaves like Gitlab::LegacyGithubImport::PullRequestFormatter#target_branch_name6542 when target branch exists6543 returns branch ref6544 when target branch does not exist6545 prefixes branch name with gh-:short_sha/:number/:user pattern to avoid collision6546 #valid?6547 when source, and target repos are not a fork6548 returns true6549 when source repo is a fork6550 returns true6551 when target repo is a fork6552 returns true6553 #cross_project?6554 when source and target repositories are different6555 returns true6556 when source repository does not exist anymore6557 returns true6558 when source and target repositories are the same6559 returns false6560 #source_branch_exists?6561 returns false when is a cross_project6562 #url6563 return raw url6564 #opened?6565 returns true when state is "open"6566AppearancesHelper6567 pwa icon scaled6568 returns path of maskable logo6569 with custom icon6570 behaves like gets icon path6571 returns path of icon6572 behaves like gets icon path6573 returns path of icon6574 with default icon6575 behaves like gets icon path6576 returns path of icon6577 behaves like gets icon path6578 returns path of icon6579 with wrong input6580 behaves like gets icon path6581 returns path of icon6582 when path is append to root6583 appends root and path6584 #appearance_pwa_name6585 returns the default value6586 returns the customized value6587 #appearance_pwa_short_name6588 returns the default value6589 returns the customized value6590 #appearance_pwa_description6591 returns the default value6592 returns the customized value6593 .current_appearance6594 memoizes empty appearance6595 memoizes custom appearance6596 #header_message6597 returns nil when header message field is not set6598 when header message is set6599 includes current message6600 #footer_message6601 returns nil when footer message field is not set6602 when footer message is set6603 includes current message6604 #brand_image6605 when there is a logo6606 returns a path6607 when there is no associated upload6608 falls back to using the original path6609 when there is no logo6610 returns path of GitLab logo6611 when there is a title6612 returns the title6613 when there is no title6614 returns the default title6615 #brand_image_path6616 with a custom logo6617 returns path of custom logo6618 with no custom logo6619 returns path of GitLab logo6620 #custom_sign_in_description6621 returns an empty string if no custom description is found6622 returns a custom description if all the setting options are found6623 returns a custom description if only one setting options is found6624 #brand_header_logo6625 renders shared/logo by default6626 with header logo6627 renders image tag6628 with add_gitlab_white_text option6629 renders shared/logo_with_white_text partial6630 with add_gitlab_black_text option6631 renders shared/logo_with_black_text partial6632 #brand_title6633 returns the default title when no appearance is present6634 #default_brand_title6635 returns the default title6636Projects::ProtectDefaultBranchService6637 #execute6638 without a default branch6639 does nothing6640 with a default branch6641 protects the default branch6642 #protect_default_branch6643 when branch protection is needed6644 changes the HEAD of the project6645 protects the default branch6646 when branch protection is not needed6647 changes the HEAD of the project6648 does not protect the default branch6649 when protected branch does not exist6650 changes the HEAD of the project6651 protects the default branch6652 when protected branch already exists6653 changes the HEAD of the project6654 does not protect the default branch6655 #create_protected_branch6656 creates the protected branch6657 #protect_branch?6658 when default branch protection is disabled6659 returns false6660 when default branch protection is enabled6661 returns false if the branch is already protected6662 returns true if the branch is not yet protected6663 #protected_branch_exists?6664 when feature flag `group_protected_branches` disabled6665 return false6666 when feature flag `group_protected_branches` enabled6667 return true6668 #default_branch6669 returns the default branch of the project6670 #push_access_level6671 when developers can push6672 returns the DEVELOPER access level6673 when developers can not push6674 returns the MAINTAINER access level6675 #merge_access_level6676 when developers can merge6677 returns the DEVELOPER access level6678 when developers can not merge6679 returns the MAINTAINER access level6680Ci::PipelineArtifactUploader6681 behaves like builds correct paths6682 #store_dir6683 behaves like matches the method pattern6684 is expected to match /\h{2}\/\h{2}\/\h{64}\/pipelines\/\d+\/artifacts\/\d+/6685 #cache_dir6686 behaves like matches the method pattern6687 is expected to match /artifacts\/tmp\/cache/6688 #work_dir6689 behaves like matches the method pattern6690 is expected to match /artifacts\/tmp\/work/6691 #upload_path6692 behaves like matches the method pattern6693 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6694 #relative_path6695 is relative (PENDING: Path not set, skipping.)6696 .absolute_path6697 behaves like matches the method pattern6698 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6699 .base_dir6700 behaves like matches the method pattern6701 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6702 path traversal exploits6703 throws an exception6704 when object store is REMOTE6705 behaves like builds correct paths6706 #store_dir6707 behaves like matches the method pattern6708 is expected to match /\h{2}\/\h{2}\/\h{64}\/pipelines\/\d+\/artifacts\/\d+/6709 #cache_dir6710 behaves like matches the method pattern6711 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6712 #work_dir6713 behaves like matches the method pattern6714 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6715 #upload_path6716 behaves like matches the method pattern6717 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6718 #relative_path6719 is relative (PENDING: Path not set, skipping.)6720 .absolute_path6721 behaves like matches the method pattern6722 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6723 .base_dir6724 behaves like matches the method pattern6725 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6726 path traversal exploits6727 throws an exception6728 when file is stored in valid local_path6729 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/artifacts\/\h{2}\/\h{2}\/\h{64}\/pipelines\/137\/artifacts\/17\/code_coverage.json/6730Ci::ListConfigVariablesService6731 when sending a valid ref6732 returns variables list6733 when the ref is a sha from a fork6734 when a project ref contains the sha6735 returns variables list6736 when a project ref does not contain the sha6737 returns empty response6738 when config has includes6739 returns variable list6740 when project CI config is external6741 when the user has access to the external project6742 returns variable list6743 when the user has no access to the external project6744 returns empty json6745 when sending an invalid ref6746 returns empty json6747 when sending an invalid config6748 returns empty result6749 when reading from cache6750 returns variable list6751 when the cache is empty6752 returns nil and enquques the worker to fill cache6753DiscussionOnDiff6754 #truncated_diff_lines6755 when diff is greater than allowed number of truncated diff lines6756 returns fewer lines6757 with truncated diff lines diff limit set6758 when diff limit is higher than default6759 returns fewer lines than the default6760 when diff_limit is lower than default6761 returns fewer lines than the default6762 when some diff lines are meta6763 returns no meta lines6764 when the diff line does not exist on a legacy diff note6765 returns an empty array6766 when the diff line does not exist on a corrupt diff note6767 returns an empty array6768 when the discussion is on an image6769 returns an empty array6770 #line_code_in_diffs6771 when the discussion is active in the diff6772 returns the current line code6773 when the discussion was created in the diff6774 returns the original line code6775 when the discussion is unrelated to the diff6776 returns nil6777bin/audit-event-type6778 AuditEventTypeOptionParser6779 .parse6780 raises an error when name of the audit event type is missing6781 parses -h6782 param: :name, argv: ["foo"], result: "foo"6783 is expected to eq "foo"6784 param: :amend, argv: ["foo", "--amend"], result: true6785 is expected to eq true6786 param: :force, argv: ["foo", "-f"], result: true6787 is expected to eq true6788 param: :force, argv: ["foo", "--force"], result: true6789 is expected to eq true6790 param: :description, argv: ["foo", "-d", "desc"], result: "desc"6791 is expected to eq "desc"6792 param: :description, argv: ["foo", "--description", "desc"], result: "desc"6793 is expected to eq "desc"6794 param: :feature_category, argv: ["foo", "-c", "audit_events"], result: "audit_events"6795 is expected to eq "audit_events"6796 param: :feature_category, argv: ["foo", "--feature-category", "audit_events"], result: "audit_events"6797 is expected to eq "audit_events"6798 param: :milestone, argv: ["foo", "-M", "15.6"], result: "15.6"6799 is expected to eq "15.6"6800 param: :milestone, argv: ["foo", "--milestone", "15.6"], result: "15.6"6801 is expected to eq "15.6"6802 param: :saved_to_database, argv: ["foo", "-s"], result: true6803 is expected to eq true6804 param: :saved_to_database, argv: ["foo", "--saved-to-database"], result: true6805 is expected to eq true6806 param: :saved_to_database, argv: ["foo", "--no-saved-to-database"], result: false6807 is expected to eq false6808 param: :streamed, argv: ["foo", "-t"], result: true6809 is expected to eq true6810 param: :streamed, argv: ["foo", "--streamed"], result: true6811 is expected to eq true6812 param: :streamed, argv: ["foo", "--no-streamed"], result: false6813 is expected to eq false6814 param: :dry_run, argv: ["foo", "-n"], result: true6815 is expected to eq true6816 param: :dry_run, argv: ["foo", "--dry-run"], result: true6817 is expected to eq true6818 param: :ee, argv: ["foo", "-e"], result: true6819 is expected to eq true6820 param: :ee, argv: ["foo", "--ee"], result: true6821 is expected to eq true6822 param: :jh, argv: ["foo", "-j"], result: true6823 is expected to eq true6824 param: :jh, argv: ["foo", "--jh"], result: true6825 is expected to eq true6826 param: :introduced_by_mr, argv: ["foo", "-m", "https://url"], result: "https://url"6827 is expected to eq "https://url"6828 param: :introduced_by_mr, argv: ["foo", "--introduced-by-mr", "https://url"], result: "https://url"6829 is expected to eq "https://url"6830 param: :introduced_by_issue, argv: ["foo", "-i", "https://url"], result: "https://url"6831 is expected to eq "https://url"6832 param: :introduced_by_issue, argv: ["foo", "--introduced-by-issue", "https://url"], result: "https://url"6833 is expected to eq "https://url"6834 .read_description6835 reads description from stdin6836 when description is empty6837 shows error message and retries6838 .read_feature_category6839 reads feature_category from stdin6840 when feature category is empty6841 shows error message and retries6842 .read_saved_to_database6843 reads saved_to_database from stdin6844 when saved_to_database is invalid6845 shows error message and retries6846 .read_streamed6847 reads streamed from stdin6848 when streamed is invalid6849 shows error message and retries6850 .read_introduced_by_mr6851 reads introduced_by_mr from stdin6852 when URL is empty6853 does not raise an error6854 when URL is invalid6855 shows error message and retries6856 .read_introduced_by_issue6857 reads type from stdin6858 when URL is invalid6859 shows error message and retries6860 .read_milestone6861 returns the correct milestone from the VERSION file6862 AuditEventTypeCreator6863 properly creates an audit event type6864 when running on master6865 requires feature branch6866 with invalid audit event type names6867 argv: [".invalid.audit.type"], ex: /Provide a name for the audit event type that is/6868 is expected to raise /Provide a name for the audit event type that is/6869 argv: ["existing_audit_event_type"], ex: /already exists!/6870 is expected to raise /already exists!/6871QuickActions::TargetService6872 #execute6873 for issue6874 behaves like find target6875 returns the target6876 behaves like build target6877 builds a new target6878 behaves like build target6879 builds a new target6880 for work item6881 behaves like find target6882 returns the target6883 for merge request6884 behaves like find target6885 returns the target6886 behaves like build target6887 builds a new target6888 behaves like build target6889 builds a new target6890 for commit6891 behaves like find target6892 returns the target6893 behaves like no target6894 returns nil6895 with nil target_iid6896 behaves like find target6897 returns the target6898 for unknown type6899 behaves like no target6900 returns nil6901BulkImports::Projects::Pipelines::DesignBundlePipeline6902 #run6903 imports design repository into destination project and removes tmpdir6904 skips import if already cached6905 #extract6906 downloads & extracts design bundle filepath6907 #load6908 creates design repository from bundle6909 when lfs is disabled6910 returns6911 when file does not exist6912 returns6913 when path is directory6914 returns6915 when path is symlink6916 returns6917 when path has multiple hard links6918 returns6919 when path is not under tmpdir6920 returns6921 when path is being traversed6922 raises an error6923 #after_run6924 removes tmpdir6925 when tmpdir does not exist6926 does not attempt to remove tmpdir6927Gitlab::Database::Partitioning::List::ConvertTable6928 #partition6929 migrates the table to a partitioned table6930 when the primary key is incorrect6931 throws a reasonable error message6932 when there is not a supporting check constraint6933 throws a reasonable error message6934 when supporting check constraint is not valid6935 throws a reasonable error message6936 when the existing table is owned by a different user6937 partitions without error6938 when an error occurs during the conversion6939 when partitioning fails the first time6940 creating parent table6941 recovers from a fault6942 adding the first foreign key6943 recovers from a fault6944 adding the second foreign key6945 recovers from a fault6946 attaching table6947 recovers from a fault6948 when table has LFK triggers6949 moves the trigger on the parent table6950 #revert_partitioning6951 detaches the partition6952 does not drop the child partition6953 removes the parent table6954 re-adds the check constraint6955 moves sequences back to the original table6956 when table has LFK triggers6957 restores the trigger on the partition6958 #revert_preparation_for_partitioning6959 removes a check constraint6960 #prepare_for_partitioning6961 adds a check constraint6962 when it fails to add constraint6963 raises UnableToPartition error6964 when async6965 adds a NOT VALID check constraint6966 adds a PostgresAsyncConstraintValidation record6967 when constraint exists but is not valid6968 validates the check constraint6969 when it fails to validate constraint6970 raises UnableToPartition error6971 when constraint exists and is valid6972 raises UnableToPartition error6973Gitlab::ImportExport::MergeRequestParser6974 has a source branch6975 has a target branch6976 fork merge request6977 parses a MR that has no source branch6978 parses a MR that is closed6979 parses a MR that is merged6980 when the merge request has diffs6981 when the diff is invalid6982 sets the diff to empty diff6983Deploy-ECS.gitlab-ci.yml6984 the created pipeline6985 creates the expected jobs6986 behaves like no pipeline yaml error6987 does not have any error6988 when the DAST template is also included6989 does not have any error6990 when running a pipeline for a branch6991 creates the expected jobs6992 behaves like no pipeline yaml error6993 does not have any error6994 when deploying to ECS Fargate6995 creates the expected jobs6996Projects::GitDeduplicationService6997 #execute6998 when there is not already a lease6999 when the project does not have a pool repository7000 calls disconnect_git_alternates7001 when the project has a pool repository7002 links the repository to the object pool7003 does not link the repository to the object pool if they are not on the same storage7004 when the project is a source project7005 calls fetch7006 does not call fetch if git objects are not poolable7007 does not call fetch if pool and project are not on the same storage7008 when visibility level of the project7009 is private7010 does not call fetch7011 is public7012 calls fetch7013 is internal7014 calls fetch7015 when the repository access level7016 is private7017 does not call fetch7018 is greater than private7019 calls fetch7020 when a lease is already out7021 fails when a lease is already out7022Analytics::CycleAnalytics::Aggregation7023 associations7024 is expected to belong to namespace required: true7025 validations7026 is expected not to validate that :namespace cannot be empty/falsy7027 is expected not to validate that :enabled cannot be empty/falsy7028 validates the array length of incremental_runtimes_in_seconds7029 validates the array length of incremental_processed_records7030 validates the array length of full_runtimes_in_seconds7031 validates the array length of full_processed_records7032 behaves like value stream analytics namespace models7033 when ProjectNamespace is given7034 is valid7035 when Namespace is given7036 fails7037 attribute updater methods7038 #cursor_for7039 returns empty cursors7040 when cursor is not empty7041 returns the cursor values7042 #consistency_check_cursor_for7043 returns empty cursor7044 returns the cursor value for IssueStageEvent7045 returns the cursor value for MergeRequestStageEvent7046 #refresh_last_run7047 updates the run_at column7048 #reset_full_run_cursors7049 resets all full run cursors to nil7050 #set_cursor7051 sets the cursor values for the given mode7052 #set_stats7053 appends stats to the runtime and processed_records attributes7054 #safe_create_for_namespace7055 creates the aggregation record7056 when non top-level group is given7057 creates the aggregation record for the top-level group7058 when the record is already present7059 does nothing7060 when the aggregation was disabled for some reason7061 re-enables the aggregation7062 #load_batch7063 loads records in priority order7064 when loading batch for last_consistency_check_updated_at7065 loads records in priority order7066 #estimated_next_run_at7067 when aggregation was not yet executed for the given group7068 is expected to eq nil7069 when aggregation was already run7070 returns the duration between the previous run timestamp and the earliest last_incremental_run_at7071 when the aggregation has persisted previous runtimes7072 adds the runtime to the estimation7073 when no records are present in the DB7074 returns nil7075 when only one aggregation record present7076 returns the minutes until the next aggregation7077Packages::Nuget::ExtractionWorker7078 #perform7079 with valid package file7080 updates package and package file7081 with exisiting package7082 reuses existing package and updates package file7083 with invalid package file id7084 doesn't update package and package file7085 with controlled errors7086 with package file not containing a nuspec file7087 behaves like handling error7088 updates package status to error7089 with invalid metadata7090 with a blank package name7091 behaves like handling error7092 updates package status to error7093 with package with an invalid package name7094 with My/package7095 behaves like handling error7096 updates package status to error7097 with ../../../my_package7098 behaves like handling error7099 updates package status to error7100 with %2e%2e%2fmy_package7101 behaves like handling error7102 updates package status to error7103 with package with a blank package version7104 behaves like handling error7105 updates package status to error7106 with package with an invalid package version7107 with 5557108 behaves like handling error7109 updates package status to error7110 with 1./2.37111 behaves like handling error7112 updates package status to error7113 with ../../../../../1.2.37114 behaves like handling error7115 updates package status to error7116 with %2e%2e%2f1.2.37117 behaves like handling error7118 updates package status to error7119 handling a Zip::Error exception7120 behaves like handling error7121 updates package status to error7122 with uncontrolled errors7123 behaves like handling error7124 updates package status to error7125EnvironmentStatusEntity7126 is expected to include :external_url_formatted7127 is expected to include :deployed_at7128 is expected to include :external_url7129 is expected to include :changes7130 is expected to include :id7131 is expected to include :name7132 is expected not to include :metrics_url7133 is expected to include :details7134 is expected not to include :stop_url7135 is expected to include :environment_available7136 is expected not to include :metrics_monitoring_url7137 is expected to include :url7138 is expected to include :status7139 is expected not to include :retry_url7140 is expected to include :deployed_at_formatted7141 when the user is project maintainer7142 is expected to include :stop_url7143 is expected to include :retry_url7144 when deployment has metrics7145 when deployment succeeded7146 returns metrics url7147 when deployment is running7148 does not return metrics url7149rubocop rake tasks7150 check:graceful7151 with successful task result7152 example at ./spec/tasks/rubocop_rake_spec.rb:437153 modifies ENV and deletes REVEAL_RUBOCOP_TODO key7154 with non-successful task result7155 is expected to abort execution7156 todo:generate7157 without arguments7158 generates TODOs for all RuboCop rules7159 sets acronyms for inflections7160 with cop names as arguments7161 generates TODOs for given RuboCop cops7162ProjectMemberPresenter7163 #can_resend_invite?7164 when project_member is invited7165 and user can admin_project_member7166 is expected to eq true7167 and user cannot admin_project_member7168 is expected to eq false7169 when project_member is not invited7170 and user can admin_project_member7171 is expected to eq false7172 and user cannot admin_project_member7173 is expected to eq false7174 #last_owner?7175 when member is the holder of the personal namespace7176 is expected to eq true7177 when member is not the holder of the personal namespace7178 is expected to eq false7179 #can_update?7180 when user is NOT attempting to update an Owner7181 when user can update_project_member7182 is expected to eq true7183 when user cannot update_project_member7184 is expected to eq false7185 when user is attempting to update an Owner7186 when user can manage owners7187 is expected to eq true7188 when user cannot manage owners7189 is expected to eq false7190 #can_remove?7191 when user is NOT attempting to remove an Owner7192 when user can destroy_project_member7193 is expected to eq true7194 when user cannot destroy_project_member7195 is expected to eq false7196 when user is attempting to remove an Owner7197 when user can manage owners7198 is expected to eq true7199 when user cannot manage owners7200 is expected to eq false7201 #can_approve?7202 when project_member has request an invite7203 and user can update_project_member7204 is expected to eq true7205 and user cannot update_project_member7206 is expected to eq false7207 when project_member did not request an invite7208 and user can update_project_member7209 is expected to eq false7210 and user cannot update_project_member7211 is expected to eq false7212 valid level roles7213 when user cannot manage owners7214 behaves like #valid_level_roles7215 when no parent member is present7216 returns all permissible roles7217 when parent member is present7218 returns higher roles when a parent member is present7219 when user can manage owners7220 behaves like #valid_level_roles7221 when no parent member is present7222 returns all permissible roles7223 when parent member is present7224 returns higher roles when a parent member is present7225Gitlab::Ci::Status::External::Common7226 #label7227 returns description7228 when description is nil7229 uses core status label7230 when description is empty string7231 uses core status label7232 #has_action?7233 is expected not to have action7234 #has_details?7235 when user has access to read commit status7236 is expected to have details7237 when user does not have access to read commit status7238 is expected not to have details7239 #details_path7240 links to the external target URL7241Ci::ExternalPullRequest7242 is expected to belong to project required: false7243 with a loose foreign key on external_pull_requests.project_id7244 behaves like cleanup by a loose foreign key7245 cleans up (delete or nullify) the model7246 #modified_paths7247 returns modified paths7248 #from_fork?7249 returns true if source_repository differs from target_repository7250 returns false if source_repository is the same as target_repository7251 validations7252 when source branch not present7253 behaves like has errors on7254 has errors for source_branch7255 when status not present7256 behaves like has errors on7257 has errors for status7258 when pull request is from a fork7259 behaves like has errors on7260 has errors for base7261 #actual_branch_head?7262 when source sha matches the head of the branch7263 returns true7264 when source sha does not match the head of the branch7265 returns true7266 #open?7267 returns true if status is open7268 returns false if status is not open7269 #closed?7270 returns true if status is closed7271 returns false if status is not closed7272 create_or_update_from_params7273 when pull request does not exist7274 when params are correct7275 saves the model successfully and returns it7276 yields the model7277 when params are not correct7278 returns an invalid model7279 when pull request exists7280 when params are correct7281 updates the model successfully and returns it7282 when params are not correct7283 returns an invalid model7284Banzai::Filter::BroadcastMessageSanitizationFilter7285 behaves like default allowlist7286 sanitizes tags that are not allowed7287 sanitizes tag attributes7288 sanitizes javascript in attributes7289 sanitizes mixed-cased javascript in attributes7290 allows allowlisted HTML tags from the user7291 sanitizes `class` attribute on any element7292 sanitizes `id` attribute on any element7293 custom allowlist7294 behaves like XSS prevention7295 disallows protocol-based JS injection: simple, no spaces7296 disallows protocol-based JS injection: simple, spaces before7297 disallows protocol-based JS injection: simple, spaces after7298 disallows protocol-based JS injection: simple, spaces before and after7299 disallows protocol-based JS injection: preceding colon7300 disallows protocol-based JS injection: UTF-8 encoding7301 disallows protocol-based JS injection: long UTF-8 encoding7302 disallows protocol-based JS injection: long UTF-8 encoding without semicolons7303 disallows protocol-based JS injection: hex encoding7304 disallows protocol-based JS injection: long hex encoding7305 disallows protocol-based JS injection: hex encoding without semicolons7306 disallows protocol-based JS injection: null char7307 disallows protocol-based JS injection: invalid URL char7308 disallows protocol-based JS injection: Unicode7309 disallows protocol-based JS injection: spaces and entities7310 disallows protocol whitespace7311 disallows data links7312 disallows vbscript links7313 behaves like sanitize link7314 removes `rel` attribute from `a` elements7315 disallows invalid URIs7316 allows non-standard anchor schemes7317 allows relative links7318 allows `a` elements7319 is expected to eq "<a href=\"/\">Link</a>"7320 allows `br` elements7321 is expected to eq "Hello<br>World"7322 when `a` elements have `style` attribute7323 disallows other properties in `style` attribute on `a` elements7324 allows specific properties7325 is expected to eq "<a href=\"#\" style=\"color: red; border: blue; background: green; padding: 10px; margin: 10px; text-decoration: underline;\">Stylish Link</a>"7326 allows `class` on `a` elements7327 is expected to eq "<a href=\"#\" class=\"btn\">Button Link</a>"7328Gitlab::GithubImport::Representation::DiffNote7329 .from_api_response7330 behaves like a DiffNote representation7331 returns an instance of DiffNote7332 the returned DiffNote7333 includes the number of the merge request7334 includes the file path of the diff7335 includes the commit ID7336 includes the created timestamp7337 includes the updated timestamp7338 includes the GitHub ID7339 returns the noteable type7340 #diff_hash7341 returns a Hash containing the diff details7342 #diff_position7343 when the diff is an addition7344 returns a Gitlab::Diff::Position7345 when the diff is an deletion7346 returns a Gitlab::Diff::Position7347 #github_identifiers7348 returns a hash with needed identifiers7349 #line_code7350 generates the proper line code7351 when comment on file7352 generates line code for first line7353 #note and #contains_suggestion?7354 includes the note body7355 when the note have a suggestion7356 returns the suggestion formatted in the note7357 when the note have a multiline suggestion7358 returns the multi-line suggestion formatted in the note7359 #author7360 includes the user details7361 when the author is empty7362 does not set the user if the response did not include a user7363 #discussion_id7364 finds or generates discussion_id value7365 .from_json_hash7366 behaves like a DiffNote representation7367 returns an instance of DiffNote7368 the returned DiffNote7369 includes the number of the merge request7370 includes the file path of the diff7371 includes the commit ID7372 includes the created timestamp7373 includes the updated timestamp7374 includes the GitHub ID7375 returns the noteable type7376 #diff_hash7377 returns a Hash containing the diff details7378 #diff_position7379 when the diff is an addition7380 returns a Gitlab::Diff::Position7381 when the diff is an deletion7382 returns a Gitlab::Diff::Position7383 #github_identifiers7384 returns a hash with needed identifiers7385 #line_code7386 generates the proper line code7387 when comment on file7388 generates line code for first line7389 #note and #contains_suggestion?7390 includes the note body7391 when the note have a suggestion7392 returns the suggestion formatted in the note7393 when the note have a multiline suggestion7394 returns the multi-line suggestion formatted in the note7395 #author7396 includes the user details7397 when the author is empty7398 does not set the user if the response did not include a user7399Environments::ScheduleToDeleteReviewAppsService7400 #execute7401 as a maintainer7402 behaves like can schedule for deletion7403 live run7404 marks the correct environment as scheduled_entries7405 dry run7406 returns the same but doesn't update the record7407 execution in parallel7408 does not execute unsafe_mark_scheduled_entries_environments7409 as a developer7410 behaves like can schedule for deletion7411 live run7412 marks the correct environment as scheduled_entries7413 dry run7414 returns the same but doesn't update the record7415 execution in parallel7416 does not execute unsafe_mark_scheduled_entries_environments7417 as a reporter7418 fails to delete environments7419Gitlab::GitalyClient::BlobService7420 #get_new_lfs_pointers7421 sends a get_new_lfs_pointers message7422 with not_in = :all7423 sends the correct message7424 with hook environment7425 sends a list_all_lfs_pointers message7426 #get_all_lfs_pointers7427 sends a get_all_lfs_pointers message7428 #list_blobs7429 with a single revision7430 sends a list_blobs message7431 with multiple revisions7432 sends a list_blobs message7433 with multiple revisions and limits7434 sends a list_blobs message7435 with paths7436 sends a list_blobs message7437 with split contents7438 sends a list_blobs message7439 #list_all_blobs7440 sends a list all blobs message7441ObjectStoreSettings7442 #parse!7443 with valid config7444 sets correct default values7445 supports bucket prefixes7446 raises an error when a bucket is missing7447[WARNING] Object storage for pages must have a bucket specified7448 does not raise error if pages bucket is missing7449 with Google CDN enabled7450 populates artifacts CDN config7451 GitLab Pages7452 allows pages to define its own connection7453 behaves like consolidated settings for objects accelerated by Workhorse7454 consolidates active object storage settings7455 when object storage is disabled for artifacts with no bucket7456 does not enable consolidated settings for artifacts7457 behaves like consolidated settings for objects accelerated by Workhorse7458 consolidates active object storage settings7459 with legacy config7460 does not alter config if legacy settings are specified7461 .legacy_parse7462 sets correct default values7463 respects original values7464 supports bucket prefixes7465 .split_bucket_prefix7466 valid inputs7467 input: nil, bucket: nil, prefix: nil7468 is expected to eq [nil, nil]7469 input: "", bucket: nil, prefix: nil7470 is expected to eq [nil, nil]7471 input: "bucket", bucket: "bucket", prefix: nil7472 is expected to eq ["bucket", nil]7473 input: "bucket/prefix", bucket: "bucket", prefix: "prefix"7474 is expected to eq ["bucket", "prefix"]7475 input: "bucket/pre/fix", bucket: "bucket", prefix: "pre/fix"7476 is expected to eq ["bucket", "pre/fix"]7477 invalid inputs7478 input: "bucket/"7479 is expected to raise /invalid bucket/7480 input: "bucket/."7481 is expected to raise /invalid bucket/7482 input: "bucket/.."7483 is expected to raise /invalid bucket/7484 input: "bucket/prefix/"7485 is expected to raise /invalid bucket/7486 input: "bucket/prefix/."7487 is expected to raise /invalid bucket/7488 input: "bucket/prefix/.."7489 is expected to raise /invalid bucket/7490 input: "/bucket/prefix"7491 is expected to raise /invalid bucket/7492 input: "./bucket/prefix"7493 is expected to raise /invalid bucket/7494 input: "../bucket/prefix"7495 is expected to raise /invalid bucket/7496 input: "bucket//prefix"7497 is expected to raise /invalid bucket/7498 input: "bucket/./prefix"7499 is expected to raise /invalid bucket/7500 input: "bucket/../prefix"7501 is expected to raise /invalid bucket/7502 .enabled_endpoint_uris7503 returns a list of enabled endpoint URIs7504AwardEmojis::AddService7505 #execute7506 when user is not authorized7507 does not add an emoji7508 returns an error state7509 when user is authorized7510 creates an award emoji7511 returns the award emoji7512 return a success status7513 sets the correct properties on the award emoji7514 executes hooks7515 marking Todos as done7516 type: :issue, expectation: true7517 is expected to eq true7518 type: :merge_request, expectation: true7519 is expected to eq true7520 type: :project_snippet, expectation: false7521 is expected to eq false7522 for notes7523 regular Notes7524 marks the Todo as done7525 PersonalSnippet Notes7526 does not mark the Todo as done7527 when the awardable cannot have emoji awarded to it7528 does not add an emoji7529 returns an error status7530 when the awardable is invalid7531 does not add an emoji7532 returns an error status7533 returns an error message7534Resolvers::GroupPackagesResolver7535 #resolve7536 behaves like group and projects packages resolver7537 without sort7538 returns the proper packages7539 with sorting and filtering7540 CREATED_DESC7541 is expected to eq [#<Packages::Package id: 21, project_id: 792, created_at: "2023-11-22 15:28:30.855967594 +0000", upda...e_type: "conan", creator_id: 1467, status: "default", last_downloaded_at: nil, status_message: nil>]7542 NAME_DESC7543 is expected to eq [#<Packages::Package id: 21, project_id: 792, created_at: "2023-11-22 15:28:30.855967594 +0000", upda...e_type: "conan", creator_id: 1467, status: "default", last_downloaded_at: nil, status_message: nil>]7544 VERSION_DESC7545 is expected to eq [#<Packages::Package id: 21, project_id: 792, created_at: "2023-11-22 15:28:30.855967594 +0000", upda...e_type: "conan", creator_id: 1467, status: "default", last_downloaded_at: nil, status_message: nil>]7546 TYPE_ASC7547 is expected to eq [#<Packages::Package id: 21, project_id: 792, created_at: "2023-11-22 15:28:30.855967594 +0000", upda...e_type: "conan", creator_id: 1467, status: "default", last_downloaded_at: nil, status_message: nil>]7548 CREATED_ASC7549 is expected to eq [#<Packages::Package id: 19, project_id: 792, created_at: "2023-11-21 16:28:30.421161848 +0000", upda...age_type: "maven", creator_id: 1467, status: "error", last_downloaded_at: nil, status_message: nil>]7550 NAME_ASC7551 is expected to eq [#<Packages::Package id: 19, project_id: 792, created_at: "2023-11-21 16:28:30.421161848 +0000", upda...age_type: "maven", creator_id: 1467, status: "error", last_downloaded_at: nil, status_message: nil>]7552 VERSION_ASC7553 is expected to eq [#<Packages::Package id: 19, project_id: 792, created_at: "2023-11-21 16:28:30.421161848 +0000", upda...age_type: "maven", creator_id: 1467, status: "error", last_downloaded_at: nil, status_message: nil>]7554 TYPE_DESC7555 is expected to eq [#<Packages::Package id: 19, project_id: 792, created_at: "2023-11-21 16:28:30.421161848 +0000", upda...age_type: "maven", creator_id: 1467, status: "error", last_downloaded_at: nil, status_message: nil>]7556 filter by package_name7557 is expected to eq [#<Packages::Package id: 19, project_id: 792, created_at: "2023-11-21 16:28:30.421161848 +0000", upda...e_type: "conan", creator_id: 1467, status: "default", last_downloaded_at: nil, status_message: nil>]7558 filter by package_type7559 is expected to eq [#<Packages::Package id: 19, project_id: 792, created_at: "2023-11-21 16:28:30.421161848 +0000", upda...e_type: "conan", creator_id: 1467, status: "default", last_downloaded_at: nil, status_message: nil>]7560 filter by package_version7561 is expected to eq [#<Packages::Package id: 19, project_id: 792, created_at: "2023-11-21 16:28:30.421161848 +0000", upda...e_type: "conan", creator_id: 1467, status: "default", last_downloaded_at: nil, status_message: nil>]7562 includes_versionless has no effect7563 filter by status7564 is expected to eq [#<Packages::Package id: 21, project_id: 792, created_at: "2023-11-22 15:28:30.855967594 +0000", upda...age_type: "maven", creator_id: 1467, status: "error", last_downloaded_at: nil, status_message: nil>]7565 include_versionless7566 is expected to include #<Packages::Package id: 23, project_id: 792, created_at: "2023-11-22 16:27:31.204956294 +0000", updat...ge_type: "maven", creator_id: 1467, status: "default", last_downloaded_at: nil, status_message: nil>7567 project_path sorting7568 filter by package_name7569 is expected to eq [#<Packages::Package id: 27, project_id: 796, created_at: "2023-11-22 16:28:32.931391075 +0000", upda...e_type: "maven", creator_id: 1467, status: "default", last_downloaded_at: nil, status_message: nil>]7570 filter by package_type7571 is expected to eq [#<Packages::Package id: 24, project_id: 792, created_at: "2023-11-22 16:28:32.913660846 +0000", upda...e_type: "maven", creator_id: 1472, status: "default", last_downloaded_at: nil, status_message: nil>]7572ProtectableDropdown7573 initialize7574 raises ArgumentError for invalid ref type7575 #protectable_ref_names7576 for branches7577 is expected to include "feature"7578 is expected not to include "master"7579 behaves like protectable_ref_names7580 when project repository is not empty7581 includes elements matching a protected ref wildcard7582 when project repository is empty7583 returns empty list7584 for tags7585 is expected to include "v1.0.0"7586 is expected not to include "v1.1.0"7587 behaves like protectable_ref_names7588 when project repository is not empty7589 includes elements matching a protected ref wildcard7590 when project repository is empty7591 returns empty list7592 #hash7593 for branches7594 is expected to include {:id => "feature", :text => "feature", :title => "feature"}7595 for tags7596 is expected to include {:id => "v1.0.0", :text => "v1.0.0", :title => "v1.0.0"}7597Atlassian::JiraConnect::Serializers::DeploymentEntity7598 environment type7599 tier: "other", env_type: "unmapped"7600 has the same type as the environment tier7601 when deployment is an external deployment7602 does not raise errors when serializing7603 #issue_keys7604 extracts issue keys from the commits7605 limits the number of commits scanned7606 when deploy happened at an older commit7607 extracts only issue keys from that commit or older7608 when the deployment has an associated merge request7609 includes issue keys extracted from the merge request7610 when there was a successful deploy to the environment7611 behaves like extracts only issue keys from commits made since that deployment7612 is expected to contain exactly "add a" and "add d"7613 when the deploy was for a different environment7614 behaves like ignores that deployment7615 is expected to contain exactly "add a", "add d", and "added"7616 when the deploy was for a different branch or tag7617 behaves like ignores that deployment7618 is expected to contain exactly "add a", "add d", and "added"7619 when the deploy was not successful7620 behaves like ignores that deployment7621 is expected to contain exactly "add a", "add d", and "added"7622 when the deploy commit cannot be found7623 behaves like ignores that deployment7624 is expected to contain exactly "add a", "add d", and "added"7625 when there is a more recent deployment7626 extracts only issue keys from commits made since that deployment7627 #to_json7628 when the deployment does not belong to any Jira issue7629 can encode the object7630 is invalid, since it has no issue keys7631 when the deployment belongs to Jira issue7632 is valid according to the deployment info schema7633PersonalAccessTokens::CreateService7634 #execute7635 when current_user is an administrator7636 when admin mode is enabled7637 behaves like a successfully created token7638 creates personal access token record7639 logs the event7640 notifies the user7641 when admin mode is disabled7642 behaves like an unsuccessfully created token7643 is expected to equal false7644 is expected to eq "Not permitted to create"7645 is expected to be nil7646 when current_user is not an administrator7647 target_user is not the same as current_user7648 behaves like an unsuccessfully created token7649 is expected to equal false7650 is expected to eq "Not permitted to create"7651 is expected to be nil7652 target_user is same as current_user7653 behaves like a successfully created token7654 creates personal access token record7655 logs the event7656 notifies the user7657 with no expires_at set7658 is expected to eq Thu, 21 Nov 20247659 when invalid scope7660 when concatenate_errors: true7661 is expected to be an instance of String7662 when concatenate_errors: false7663 is expected to be an instance of Array7664Banzai::Filter::TableOfContentsFilter7665 does nothing when :no_header_anchors is truthy7666 does nothing with empty headers7667 processes h1 elements7668 processes h2 elements7669 processes h3 elements7670 processes h4 elements7671 processes h5 elements7672 processes h6 elements7673 anchor tag7674 has an `anchor` class7675 has a namespaced id7676 links to the non-namespaced id7677 generated IDs7678 translates spaces to dashes7679 squeezes multiple spaces and dashes7680 removes punctuation7681 removes any leading or trailing spaces7682 removes a product suffix7683 appends a unique number to duplicates7684 prepends a prefix to digits-only ids7685 supports Unicode7686 limits header href length with 255 characters7687 result7688 is contained within a `ul` element7689 contains an `li` element for each header7690 table of contents nesting7691 keeps list levels regarding header levels7692 header text contains escaped content7693 outputs escaped content7694Gitlab::ImportExport::FileImporter7695 normal run7696 removes symlinks in root folder7697 removes hidden symlinks in root folder7698 removes evil symlinks in root folder7699 removes symlinks in subfolders7700 removes symlinks without any file permissions7701 does not remove a valid file7702 does not change a valid file permissions7703 creates the file in the right subfolder7704 when the import file is not remote7705 downloads the file from a remote object storage7706 when the import file is remote7707 downloads the file from a remote object storage7708 error7709 removes symlinks in root folder7710 removes hidden symlinks in root folder7711 removes symlinks in subfolders7712 does not remove a valid file7713 returns false and sets an error on shared7714 when files in the archive share hard links7715 returns false and sets an error on shared7716 removes all files in export path7717 when file exceeds acceptable decompressed size7718 when validate_import_decompressed_archive_size feature flag is enabled7719 returns false and sets an error on shared7720 when validate_import_decompressed_archive_size feature flag is disabled7721 skips validation7722Gitlab::ExclusiveLease7723 #try_obtain7724 cannot obtain twice before the lease has expired7725 can obtain after the lease has expired7726 .redis_shared_state_key7727 provides a namespaced key7728 .ensure_prefixed_key7729 does not double prefix a key7730 raises errors when there is no key7731 #renew7732 returns true when we have the existing lease7733 returns false when we dont have a lease7734 cancellation7735 .cancel7736 does not raise errors when given a nil key7737 when called with the unprefixed key7738 behaves like cancelling a lease7739 releases the held lease7740 when called with the prefixed key7741 behaves like cancelling a lease7742 releases the held lease7743 #cancel7744 is safe to call even if the lease was never obtained7745 behaves like cancelling a lease7746 releases the held lease7747 .reset_all!7748 removes all existing lease keys from redis7749 #exists?7750 returns true for an existing lease7751 returns false for a lease that does not exist7752 .get_uuid7753 gets the uuid if lease with the key associated exists7754 returns false if the lease does not exist7755 #ttl7756 returns the TTL of the Redis key7757 returns nil when the lease does not exist7758 .throttle7759 prevents repeated execution of the block7760 is distinct by block7761 is distinct by key7762 allows a group to be passed7763 defaults to a 60min timeout7764 allows count to be specified7765 allows period to be specified7766 allows period and count to be specified7767BulkImports::Projects::Pipelines::IssuesPipeline7768 #run7769 imports issue into destination project7770 zoom meetings7771 restores zoom meetings7772 sentry issue7773 restores sentry issue information7774 award emoji7775 has award emoji on an issue7776 issue state7777 restores issue state7778 labels7779 restores issue labels7780 milestone7781 restores issue milestone7782 timelogs7783 restores issue timelogs7784 notes7785 restores issue notes and their award emoji7786 when importing an issue with one award emoji and other relations with one item7787 saves properly7788Gitlab::Diff::SuggestionsParser7789 .parse7790 single-line suggestions7791 returns a list of Gitlab::Diff::Suggestion7792 parsed suggestion has correct data7793 multi-line suggestions7794 returns a list of Gitlab::Diff::Suggestion7795 suggestion with above and below param has correct data7796 suggestion with above param has correct data7797 suggestion with below param has correct data7798Ci::PipelineSchedules::CreateService7799 execute7800 when user does not have permission7801 returns ServiceResponse.error7802 when user has permission7803 saves values with passed params7804 returns ServiceResponse.success7805 when schedule save fails7806 returns ServiceResponse.error7807 behaves like pipeline schedules checking variables permission7808 when sending variables7809 when user is maintainer7810 behaves like success response with variables7811 saves variables7812 behaves like success response7813 saves values with passed params7814 when user is developer7815 behaves like success response with variables7816 saves variables7817 behaves like success response7818 saves values with passed params7819 when restrict_user_defined_variables is true7820 behaves like success response with variables7821 saves variables7822 behaves like success response7823 saves values with passed params7824 when user is developer7825 behaves like failure response7826 does not save7827 when not sending variables7828 when user is maintainer7829 behaves like success response7830 saves values with passed params7831 when user is developer7832 behaves like success response7833 saves values with passed params7834 when restrict_user_defined_variables is true7835 behaves like success response7836 saves values with passed params7837 when user is developer7838 behaves like success response7839 saves values with passed params7840Notes::PostProcessService7841 #execute7842 is expected to receive execute(*(any args)) 1 time7843 with a confidential issue7844 doesn't call note hooks/integrations7845 calls confidential-note hooks/integrations7846 when the noteable is a design7847 when the note is the start of a new discussion7848 creates a new system note7849 when the note is a reply within a discussion7850 does not create a new system note7851DiscussionEntity7852 exposes correct attributes7853 does not include base discussion in the notes7854 resolved_by matches note_user_entity schema7855 exposes the url for custom award emoji7856 when is LegacyDiffDiscussion7857 exposes correct attributes7858 when diff file is present7859 exposes diff file attributes7860WorkItems::TaskListReferenceReplacementService7861 #execute7862 when task mardown spans a single line7863 creates description version note7864 behaves like successful work item task reference replacement service7865 is expected to be success7866 replaces the original issue markdown description with new work item reference7867 when task mardown spans multiple lines7868 behaves like successful work item task reference replacement service7869 is expected to be success7870 replaces the original issue markdown description with new work item reference7871 when description does not contain a task7872 behaves like failing work item task reference replacement service7873 is expected to be error7874 returns an error message7875 when description is empty7876 behaves like failing work item task reference replacement service7877 is expected to be error7878 returns an error message7879 when line_number_start is lower than 17880 behaves like failing work item task reference replacement service7881 is expected to be error7882 returns an error message7883 when line_number_end is lower than line_number_start7884 behaves like failing work item task reference replacement service7885 is expected to be error7886 returns an error message7887 when lock_version is older than current7888 behaves like failing work item task reference replacement service7889 is expected to be error7890 returns an error message7891 when work item is stale before updating7892 behaves like failing work item task reference replacement service7893 is expected to be error7894 returns an error message7895Gitlab::ErrorTracking::Processor::SidekiqProcessor7896 .filter_arguments7897 returns a lazy enumerator7898 arguments filtering7899 klass: "UnknownWorker", expected: [1, "[FILTERED]", "[FILTERED]", "[FILTERED]"]7900 is expected to eq [1, "[FILTERED]", "[FILTERED]", "[FILTERED]"]7901 klass: "NoPermittedArguments", expected: [1, "[FILTERED]", "[FILTERED]", "[FILTERED]"]7902 is expected to eq [1, "[FILTERED]", "[FILTERED]", "[FILTERED]"]7903 klass: "OnePermittedArgument", expected: [1, "string", "[FILTERED]", "[FILTERED]"]7904 is expected to eq [1, "string", "[FILTERED]", "[FILTERED]"]7905 klass: "AllPermittedArguments", expected: [1, "string", [1, 2], {:a=>1}]7906 is expected to eq [1, "string", [1, 2], {:a=>1}]7907 .permitted_arguments_for_worker7908 returns the loggable_arguments for a worker class as a set7909 returns an empty set when the worker class does not exist7910 returns an empty set when the worker class does not respond to loggable_arguments7911 returns an empty set when loggable_arguments cannot be converted to a set7912 memoizes the results7913 .loggable_arguments7914 filters and limits the arguments, then converts to strings7915 .call7916 when there is Sidekiq data7917 when processing via the default error handler7918 with Raven events7919 for an unknown worker7920 only allows numeric arguments for an unknown worker7921 for a permitted worker7922 allows all argument types for a permitted worker7923 with Sentry events7924 for an unknown worker7925 only allows numeric arguments for an unknown worker7926 for a permitted worker7927 allows all argument types for a permitted worker7928 when processing via Gitlab::ErrorTracking7929 with Raven events7930 for an unknown worker7931 only allows numeric arguments for an unknown worker7932 for a permitted worker7933 allows all argument types for a permitted worker7934 with Sentry events7935 for an unknown worker7936 only allows numeric arguments for an unknown worker7937 for a permitted worker7938 allows all argument types for a permitted worker7939 with Raven events7940 behaves like handles jobstr fields7941 when a jobstr field is present7942 removes the jobstr7943 when no jobstr value is present7944 does nothing7945 with Sentry events7946 behaves like handles jobstr fields7947 when a jobstr field is present7948 removes the jobstr7949 when no jobstr value is present7950 does nothing7951 when there is no Sidekiq data7952 with Raven events7953 behaves like does nothing7954 does nothing7955 with Sentry events7956 behaves like does nothing7957 does nothing7958 when there is Sidekiq data but no job7959 with Raven events7960 behaves like does nothing7961 does nothing7962 with Sentry events7963 behaves like does nothing7964 does nothing7965Gitlab::Ci::PipelineObjectHierarchy7966 #base_and_ancestors7967 includes the base and its ancestors7968 can find ancestors upto a certain level7969 hierarchy_order option7970 :asc7971 orders by child to ancestor7972 :desc7973 orders by ancestor to child7974 #base_and_descendants7975 includes the base and its descendants7976 when project_condition: :different7977 includes the base and other project pipelines7978 when project_condition: nil7979 includes the base and its descendants with other project pipeline7980 when with_depth is true7981 includes depth in the results7982 #all_objects7983 when passing ancestors_base7984 when project_condition: :same7985 includes its ancestors and descendants7986 when project_condition: :different7987 includes the base and other project pipelines7988 when passing ancestors_base and descendants_base7989 when project_condition: :same7990 returns all family tree7991 when project_condition: :different7992 includes the base and other project pipelines7993Import::GithubFailureEntity7994 exposes correct attributes7995 with `issue_event` failure7996 behaves like import failure entity7997 exposes required fields for import entity7998 with `label` failure7999 behaves like import failure entity8000 exposes required fields for import entity8001 with `protected_branch` failure8002 behaves like import failure entity8003 exposes required fields for import entity8004 with `note_attachment` failure8005 behaves like import failure entity8006 exposes required fields for import entity8007 with `pull_request_review` failure8008 behaves like import failure entity8009 exposes required fields for import entity8010 with `pull_request_merged_by` failure8011 behaves like import failure entity8012 exposes required fields for import entity8013 with `issue` failure8014 behaves like import failure entity8015 exposes required fields for import entity8016 with `pull_request_review_request` failure8017 behaves like import failure entity8018 exposes required fields for import entity8019 with unknown failure8020 behaves like import failure entity8021 exposes required fields for import entity8022 with `diff_note` failure8023 behaves like import failure entity8024 exposes required fields for import entity8025 with an invalid import_url8026 behaves like import failure entity8027 exposes required fields for import entity8028 with `merge_request_attachment` failure8029 behaves like import failure entity8030 exposes required fields for import entity8031 with `pull_request` failure8032 behaves like import failure entity8033 exposes required fields for import entity8034 with `note` failure8035 behaves like import failure entity8036 exposes required fields for import entity8037 with `release` failure8038 behaves like import failure entity8039 exposes required fields for import entity8040 with `milestone` failure8041 behaves like import failure entity8042 exposes required fields for import entity8043 with `release_attachment` failure8044 behaves like import failure entity8045 exposes required fields for import entity8046 with `issue_attachment` failure8047 behaves like import failure entity8048 exposes required fields for import entity8049 with `collaborator` failure8050 behaves like import failure entity8051 exposes required fields for import entity8052 with `lfs_object` failure8053 behaves like import failure entity8054 exposes required fields for import entity8055Projects::DownloadService8056 File service8057 for a URL that is not on allowlist8058 is expected to eq nil8059 for URLs that are on the allowlist8060 an image file8061 is expected to have key :alt8062 is expected to have key :url8063 is expected to match "rails_sample.jpg"8064 is expected to eq "rails_sample"8065 a txt file8066 is expected to have key :alt8067 is expected to have key :url8068 is expected to match "doc_sample.txt"8069 is expected to eq "doc_sample.txt"8070PrometheusAlertEvent8071 associations8072 is expected to belong to prometheus_alert required: true8073 validations8074 is expected to be valid8075 is expected to validate that :prometheus_alert cannot be empty/falsy, producing a custom validation error on failure8076 is expected to validate that :payload_key is case-sensitively unique within the scope of :prometheus_alert_id8077 is expected to validate that :started_at cannot be empty/falsy8078 payload_key & ended_at8079 absent if firing?8080 is expected to validate that :payload_key cannot be empty/falsy8081 is expected not to validate that :ended_at cannot be empty/falsy8082 present if resolved?8083 is expected not to validate that :payload_key cannot be empty/falsy8084 is expected to validate that :ended_at cannot be empty/falsy8085 #title8086 delegates to alert8087 prometheus_metric_id8088 delegates to alert8089 transaction8090 fire8091 when status is none8092 fires an event8093 when firing8094 cannot fire again8095 resolve8096 when firing8097 resolves an event8098 when resolved8099 cannot resolve again8100Ci::RunningBuild8101 .upsert_shared_runner_build!8102 another pending entry does not exist8103 creates a new pending entry8104 when another queuing entry exists for given build8105 returns a build id as a result8106 when build has been picked by a project runner8107 raises an error8108 when build has not been picked by a runner yet8109 raises an error8110 partitioning8111 assigns the same partition id as the one that build has8112 behaves like cleanup by a loose foreign key8113 cleans up (delete or nullify) the model8114Gitlab::Ci::Pipeline::Chain::EvaluateWorkflowRules8115 #perform!8116 when pipeline has been skipped by workflow configuration8117 does not save the pipeline8118 breaks the chain8119 attaches an error to the pipeline8120 saves workflow_rules_result8121 when pipeline has not been skipped by workflow configuration8122 continues the pipeline processing chain8123 does not skip the pipeline8124 attaches no errors8125 saves workflow_rules_result8126Gitlab::Ci::RunnerInstructions8127 OS8128 linux8129 has the required fields8130 has a valid script8131 osx8132 has the required fields8133 has a valid script8134 windows8135 has the required fields8136 has a valid script8137 OTHER_ENVIRONMENTS8138 docker8139 has the required fields8140 kubernetes8141 has the required fields8142 aws8143 has the required fields8144 #install_script8145 invalid params8146 current_params: {:os=>nil, :arch=>nil}, expected_error_message: "Missing OS"8147 raises argument error8148 current_params: {:os=>"linux", :arch=>nil}, expected_error_message: "Missing arch"8149 raises argument error8150 current_params: {:os=>nil, :arch=>"amd64"}, expected_error_message: "Missing OS"8151 raises argument error8152 current_params: {:os=>"non_existing_os", :arch=>"amd64"}, expected_error_message: "Invalid OS"8153 raises argument error8154 current_params: {:os=>"linux", :arch=>"non_existing_arch"}, expected_error_message: "Architecture not found for OS"8155 raises argument error8156 current_params: {:os=>"windows", :arch=>"non_existing_arch"}, expected_error_message: "Architecture not found for OS"8157 raises argument error8158 with valid params8159 os: "linux", arch: "amd64"8160 returns string containing correct params8161 os: "linux", arch: "386"8162 returns string containing correct params8163 os: "linux", arch: "arm"8164 returns string containing correct params8165 os: "linux", arch: "arm64"8166 returns string containing correct params8167 os: "windows", arch: "amd64"8168 returns string containing correct params8169 os: "windows", arch: "386"8170 returns string containing correct params8171 os: "osx", arch: "amd64"8172 returns string containing correct params8173 os: "osx", arch: "arm64"8174 returns string containing correct params8175Sidebars::Groups::Menus::SettingsMenu8176 #render?8177 when user cannot admin group8178 returns false8179 #separated?8180 returns true8181 Menu items8182 General menu8183 behaves like access rights checks8184 is expected not to be nil8185 when the user does not have access8186 is expected to be nil8187 Integrations menu8188 behaves like access rights checks8189 is expected not to be nil8190 when the user does not have access8191 is expected to be nil8192 Projects menu8193 behaves like access rights checks8194 is expected not to be nil8195 when the user does not have access8196 is expected to be nil8197 Access Tokens8198 behaves like access rights checks8199 is expected not to be nil8200 when the user does not have access8201 is expected to be nil8202 Repository menu8203 behaves like access rights checks8204 is expected not to be nil8205 when the user does not have access8206 is expected to be nil8207 CI/CD menu8208 behaves like access rights checks8209 is expected not to be nil8210 when the user does not have access8211 is expected to be nil8212 Applications menu8213 behaves like access rights checks8214 is expected not to be nil8215 when the user does not have access8216 is expected to be nil8217 Packages and registries8218 when packages feature is disabled8219 is expected to be nil8220 when packages feature is enabled8221 behaves like access rights checks8222 is expected not to be nil8223 when the user does not have access8224 is expected to be nil822500_deprecations8226 Rails deprecations8227 when catching deprecation warnings8228DEPRECATION WARNING: ABC will be removed (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/initializers/00_deprecations_spec.rb:40)8229 logs them to Gitlab::DeprecationJsonLogger8230 logs them to stderr8231 when in production environment8232 does not log them to Gitlab::DeprecationJsonLogger8233 does not log them to stderr8234 when GITLAB_LOG_DEPRECATIONS is set8235 logs them to Gitlab::DeprecationJsonLogger8236 does not log them to stderr8237 when catching disallowed warnings8238 raises Exception and warns on stderr8239 when in production environment8240 does not raise8241 behaves like does not log to stderr8242 does not log them to stderr8243 when GITLAB_LOG_DEPRECATIONS is set8244 does not raise8245 behaves like does not log to stderr8246 does not log them to stderr8247 configuring ActiveSupport::Deprecation.disallowed_warnings8248 sets disallowed warnings8249 when in production environment8250 does not set disallowed warnings8251 when GITLAB_LOG_DEPRECATIONS is set8252 does not set disallowed warnings8253 Ruby deprecations8254 when catching deprecations through Kernel#warn8255ABC gem is deprecated and will be removed8256 logs them to Gitlab::DeprecationJsonLogger8257 logs them to stderr8258 when in production environment8259ABC gem is deprecated and will be removed8260 does not log them to Gitlab::DeprecationJsonLogger8261 logs them to stderr8262 when GITLAB_LOG_DEPRECATIONS is set8263ABC gem is deprecated and will be removed8264 logs them to Gitlab::DeprecationJsonLogger8265 logs them to stderr8266 when other messages from Kernel#warn8267Sure is hot today8268 does not log them to Gitlab::DeprecationJsonLogger8269 logs them to stderr8270Security::CiConfiguration::ContainerScanningCreateService8271 #execute8272 user does not belong to project8273 returns an error status8274 does not track a snowplow event8275 user belongs to project8276 does track the snowplow event8277 raises exception if the user does not have permission to create a new branch8278 when exception is raised8279 when branch was created8280 tries to rm branch8281 when branch was not created8282 does not try to rm branch8283 with no parameters8284 returns the path to create a new merge request8285 when the project has a non-default ci config file8286 does track the snowplow event8287 when existing ci config contains anchors/aliases8288 returns a ServiceResponse error8289 when parsing existing ci config gives a Psych error8290 returns a ServiceResponse error8291 when parsing existing ci config gives any other error8292 is successful8293 when the project is empty8294 returns a ServiceResponse error8295ReactiveCachingWorker8296 behaves like reactive cacheable worker8297 #perform8298 when reactive cache worker class is found8299 calls #exclusively_update_reactive_cache!8300 when ReactiveCaching::ExceededReactiveCacheLimit is raised8301 avoids failing the job and tracks via Gitlab::ErrorTracking8302 when reactive cache worker class is not found8303 raises no error8304 when reactive cache worker class is invalid8305 raises no error8306 worker context8307 sets the related class on the job8308 sets the related class on the job when it was passed as a class8309ErrorTracking::SentryClient::Projects8310 #projects8311 behaves like calls sentry api8312 calls sentry api8313 behaves like has correct return type8314 returns objects of type Gitlab::ErrorTracking::Project8315 behaves like has correct length8316 is expected to eq 28317 behaves like Sentry API response size limit8318 raises an exception when response is too large8319 essential keys missing in API response8320 raises exception8321 optional keys missing in sentry response8322 behaves like calls sentry api8323 calls sentry api8324 behaves like has correct return type8325 returns objects of type Gitlab::ErrorTracking::Project8326 behaves like has correct length8327 is expected to eq 18328 error object created from sentry response8329 sentry_project_object: :id, sentry_response: :id8330 is expected to eq "2"8331 sentry_project_object: :name, sentry_response: :name8332 is expected to eq "sentry-example"8333 sentry_project_object: :status, sentry_response: :status8334 is expected to eq "active"8335 sentry_project_object: :slug, sentry_response: :slug8336 is expected to eq "sentry-example"8337 sentry_project_object: :organization_name, sentry_response: [:organization, :name]8338 is expected to eq "Sentry"8339 sentry_project_object: :organization_id, sentry_response: [:organization, :id]8340 is expected to eq "1"8341 sentry_project_object: :organization_slug, sentry_response: [:organization, :slug]8342 is expected to eq "sentry"8343 redirects8344 behaves like no Sentry redirects8345 does not follow redirects8346 when exception is raised8347 behaves like maps Sentry exceptions8348 HTTParty::Error8349 is expected to raise ErrorTracking::SentryClient::Error with "Error when connecting to Sentry"8350 Net::OpenTimeout8351 is expected to raise ErrorTracking::SentryClient::Error with "Connection to Sentry timed out"8352 SocketError8353 is expected to raise ErrorTracking::SentryClient::Error with "Received SocketError when trying to connect to Sentry"8354 OpenSSL::SSL::SSLError8355 is expected to raise ErrorTracking::SentryClient::Error with "Sentry returned invalid SSL data"8356 Errno::ECONNREFUSED8357 is expected to raise ErrorTracking::SentryClient::Error with "Connection refused"8358 StandardError8359 is expected to raise ErrorTracking::SentryClient::Error with "Sentry request failed due to StandardError"8360Ci::UpdateInstanceVariablesService8361 #execute8362 without variables8363 is expected to be truthy8364 with insert only variables8365 is expected to be truthy8366 persists all the records8367 persists attributes8368 with update only variables8369 is expected to be truthy8370 does not change the count8371 updates the records in place8372 with insert and update variables8373 is expected to be truthy8374 inserts only one record8375 persists all the records8376 with insert, update, and destroy variables8377 is expected to be truthy8378 persists all the records8379 with invalid variables8380 is expected to be falsey8381 does not insert any records8382 does not update existing records8383 returns errors8384 when deleting non existing variables8385 is expected to raise ActiveRecord::RecordNotFound8386 when updating non existing variables8387 is expected to raise ActiveRecord::RecordNotFound8388Gitlab::Ci::RunnerReleases8389 caching behavior8390 when request results in timeout8391 behaves like requests that follow cache status8392 almost 5 seconds later8393 returns cached releases8394 after 5 seconds8395 checks new releases8396 behaves like a service implementing exponential backoff8397 performs exponential backoff on requests8398 behaves like a service implementing exponential backoff8399 performs exponential backoff on requests8400 when response is nil8401 behaves like requests that follow cache status8402 almost 5 seconds later8403 returns cached releases8404 after 5 seconds8405 checks new releases8406 behaves like a service implementing exponential backoff8407 performs exponential backoff on requests8408 when response is not nil8409 behaves like requests that follow cache status8410 almost 1 day later8411 returns cached releases8412 after 1 day8413 checks new releases8414 #releases8415 when response is nil8416 returns nil8417 when response is not nil8418 returns parsed and sorted Gitlab::VersionInfo objects8419 when fetching runner releases is disabled8420 returns nil8421 when response contains unexpected input type8422 is expected to be nil8423 when response contains unexpected input array8424 is expected to be nil8425 #releases_by_minor8426 when response is nil8427 returns nil8428 when response is not nil8429 returns parsed and grouped Gitlab::VersionInfo objects8430 when fetching runner releases is disabled8431 returns nil8432 when response contains unexpected input type8433 is expected to be nil8434 when response contains unexpected input array8435 is expected to be nil8436 #enabled?8437 is expected to be enabled8438 when fetching runner releases is disabled8439 is expected not to be enabled8440Gitlab::Analytics::CycleAnalytics::StageEvents::IssueDeployedToProduction8441 behaves like value stream analytics event8442 is expected to be a kind of String8443 is expected to be a kind of Symbol8444 is expected to include ApplicationRecord(abstract)8445 is expected to respond to #timestamp_projection8446 is expected to respond to #html_description8447 is expected to be a kind of Array8448 #apply_query_customization8449 expects an ActiveRecord::Relation object as argument and returns a modified version of it8450 #hash_code8451 returns a hash that uniquely identifies an event8452 does not differ when the same object is built with the same params8453 behaves like LEFT JOIN-able value stream analytics event8454 can use the event as LEFT JOIN8455 when looking at the record with data8456 contains the timestamp expression8457 when looking at the record without data8458 returns nil for the timestamp expression8459EntityDateHelper8460 converts 0 seconds8461 converts 40 seconds8462 converts 60 seconds8463 converts 70 seconds8464 converts 3600 seconds8465 converts 3750 seconds8466 converts 86400 seconds8467 converts 86560 seconds8468 converts 86760 seconds8469 converts 986760 seconds8470 #remaining_days_in_words8471 when less than 31 days remaining8472 returns days remaining8473 when milestone due date is today8474 returns today8475 when milestone due date is tomorrow8476 returns 1 day remaining8477 when queried mid-day8478 returns 1 day remaining8479 when less than 1 year and more than 30 days remaining8480 returns months remaining8481 when more than 1 year remaining8482 returns years remaining8483 when milestone is expired8484 returns "Past due"8485 when milestone has start_date in the future8486 returns "Upcoming"8487 when milestone has start_date in the past8488 returns days elapsed8489Ci::RunnerNamespace8490 behaves like includes Limitable concern8491 #exceeds_limits?8492 without plan limits configured8493 is expected to eq false8494 without plan limits configured8495 is expected to eq false8496 with an existing model8497 is expected to eq true8498 validations8499 is expected to be a kind of Limitable8500 without plan limits configured8501 can create new models8502 with plan limits configured8503 can create new models8504 with an existing model8505 cannot create new models exceeding the plan limits8506 behaves like cleanup by a loose foreign key8507 cleans up (delete or nullify) the model8508 .for_runner8509 with runner ids8510 returns requested runner namespaces8511 with runners8512 returns requested runner namespaces8513Sbom::PackageUrl::Encoder8514 #encode8515 valid maven purl8516 is expected to eq "pkg:maven/org.apache.commons/io@1.3.4"8517 basic valid maven purl without version8518 is expected to eq "pkg:maven/org.apache.commons/io"8519 valid go purl without version and with subpath8520 is expected to eq "pkg:golang/google.golang.org/genproto#googleapis/api/annotations"8521 valid go purl with version and subpath8522 is expected to eq "pkg:golang/google.golang.org/genproto@abcdedf#googleapis/api/annotations"8523 bitbucket namespace and name should be lowercased8524 is expected to eq "pkg:bitbucket/birkenfeld/pygments-main@244fd47e07d1014f0aed9c"8525 github namespace and name should be lowercased8526 is expected to eq "pkg:github/package-url/purl-spec@244fd47e07d1004f0aed9c"8527 debian can use qualifiers8528 is expected to eq "pkg:deb/debian/curl@7.50.3-1?arch=i386&distro=jessie"8529 docker uses qualifiers and hash image id as versions8530 is expected to eq "pkg:docker/customer/dockerimage@sha256%3A244fd47e07d1004f0aed9c?repository_url=gcr.io"8531 Java gem can use a qualifier8532 is expected to eq "pkg:gem/jruby-launcher@1.1.2?platform=java"8533 maven often uses qualifiers8534 is expected to eq "pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?classifier=sources&repository_url=repo.spring.io%2Frelease"8535 maven pom reference8536 is expected to eq "pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?extension=pom&repository_url=repo.spring.io%2Frelease"8537 maven can come with a type qualifier8538 is expected to eq "pkg:maven/net.sf.jacob-project/jacob@1.14.3?classifier=x86&type=dll"8539 npm can be scoped8540 is expected to eq "pkg:npm/%40angular/animation@12.3.1"8541 nuget names are case sensitive8542 is expected to eq "pkg:nuget/EnterpriseLibrary.Common@6.0.1304"8543 pypi names have special rules and not case sensitive8544 is expected to eq "pkg:pypi/django-package@1.11.1.dev1"8545 rpm often use qualifiers8546 is expected to eq "pkg:rpm/fedora/curl@7.50.3-1.fc25?arch=i386&distro=fedora-25"8547 slash / after scheme is not significant8548 is expected to eq "pkg:maven/org.apache.commons/io"8549 double slash // after scheme is not significant8550 is expected to eq "pkg:maven/org.apache.commons/io"8551 slash /// after type is not significant8552 is expected to eq "pkg:maven/org.apache.commons/io"8553 valid maven purl with case sensitive namespace and name8554 is expected to eq "pkg:maven/HTTPClient/HTTPClient@0.3-3"8555 valid maven purl containing a space in the version and qualifier8556 is expected to eq "pkg:maven/mygroup/myartifact@1.0.0+Final?mykey=my+value"8557 valid conan purl8558 is expected to eq "pkg:conan/cctz@2.3"8559 valid conan purl with namespace and qualifier channel8560 is expected to eq "pkg:conan/bincrafters/cctz@2.3?channel=stable"8561 valid conda purl with qualifiers8562 is expected to eq "pkg:conda/absl-py@0.4.1?build=py36h06a4308_0&channel=main&subdir=linux-64&type=tar.bz2"8563 valid cran purl8564 is expected to eq "pkg:cran/A3@0.9.1"8565 valid swift purl8566 is expected to eq "pkg:swift/github.com/Alamofire/Alamofire@5.4.3"8567 valid hackage purl8568 is expected to eq "pkg:hackage/AC-HalfInteger@1.2.1"8569 when purl requires normalization8570 outputs normalized form8571Every Sidekiq worker8572 does not use the default queue8573 uses the cronjob queue when the worker runs as a cronjob8574 has its queue in Gitlab::SidekiqConfig::QUEUE_CONFIG_PATHS8575 has its queue or namespace in config/sidekiq_queues.yml8576 has a value for loggable_arguments8577 feature category declarations8578 has a feature_category attribute8579 has a feature_category that maps to a value in feature_categories.yml8580 is (exclusively) memory-bound or high urgency, not both8581 has (exclusively) external dependencies or is high urgency, not both8582 retries8583 defines `retry_exceptions` only for existing workers8584 uses the default number of retries for new jobs8585 uses zero retries for cronjobs8586 uses specified numbers of retries for workers with exceptions encoded here8587GpgKeys::DestroyService8588 destroys the GPG key8589 nullifies the related signatures in batches8590LooseForeignKeys::DeletedRecord8591 class methods8592 .load_batch_for_table8593 loads records and orders them by creation date8594 supports configurable batch size8595 returns the partition number in each returned record8596 .mark_records_processed8597 updates all records8598 .reschedule8599 reschedules all records8600 .increment_attempts8601 increaments the cleanup_attempts column8602 sliding_list partitioning8603 next_partition_if callback8604 when the partition is empty8605 is expected to eq false8606 when the partition has records8607 is expected to eq false8608 when the first record of the partition is older than PARTITION_DURATION8609 is expected to eq true8610 detach_partition_if callback8611 when the partition contains unprocessed records8612 is expected to eq false8613 when the partition contains only processed records8614 is expected to eq true8615 the behavior of the strategy8616 moves records to new partitions as time passes8617NamespaceStatistics8618 is expected to belong to namespace required: false8619 is expected to validate that :namespace cannot be empty/falsy8620 #refresh!8621 when database is read_only8622 does not save the object8623 when namespace belong to a user8624 does not save the object8625 when invalid option is passed8626 does not update any column8627 behaves like creates the namespace statistics8628 is expected to receive save!(*(any args)) 1 time8629 when no option is passed8630 updates the dependency proxy size8631 behaves like creates the namespace statistics8632 is expected to receive save!(*(any args)) 1 time8633 when dependency_proxy_size option is passed8634 updates the dependency proxy size8635 behaves like creates the namespace statistics8636 is expected to receive save!(*(any args)) 1 time8637 #update_storage_size8638 sets storage_size to the dependency_proxy_size8639 #update_dependency_proxy_size8640 updates the dependency proxy size8641 when namespace does not belong to a group8642 does not update the dependency proxy size8643 before saving statistics8644 updates storage size8645 after saving statistics8646 when storage_size is not updated8647 does not enqueue the job to update root storage statistics8648 when storage_size is updated8649 enqueues the job to update root storage statistics8650 when namespace does not belong to a group8651 does not enqueue the job to update root storage statistics8652 when other columns are updated8653 does not enqueue the job to update root storage statistics8654 after destroy statistics8655 enqueues the job to update root storage statistics8656 when namespace belongs to a group8657 does not enqueue the job to update root storage statistics8658Ci::JobTokenScope::RemoveProjectService8659 #execute8660 behaves like editable job token scope8661 when user does not have permissions to edit the job token scope8662 behaves like returns error8663 returns an error response8664 when user has permissions to edit the job token scope8665 when target project is not provided8666 behaves like returns error8667 returns an error response8668 when target project is provided8669 when user does not have permissions to read the target project8670 behaves like returns error8671 returns an error response8672 when user has permissions on source and target project8673 behaves like removes project8674 removes the project from the scope8675 when token scope is disabled8676 behaves like removes project8677 removes the project from the scope8678 when target project is same as the source project8679 behaves like returns error8680 returns an error response8681 when target project is not in the job token scope8682 behaves like returns error8683 returns an error response8684Gitlab::Utils::UsernameAndEmailGenerator8685 check email domain8686 email name is the same as username8687 contains SecureRandom part8688 email domain8689 defaults to `Gitlab.config.gitlab.host`8690 when specified8691 uses the specified email domain8692 when conflicts8693 when username is reserved8694 when username is reserved by user8695 uniquifies username and email8696 when it conflicts with top-level group namespace8697 uniquifies username and email8698 when it conflicts with top-level group namespace that includes upcased characters8699 uniquifies username and email8700 when email is reserved8701 when it conflicts with confirmed primary email8702 uniquifies username and email8703 when it conflicts with unconfirmed primary email8704 uniquifies username and email8705 when it conflicts with confirmed secondary email8706 uniquifies username and email8707 when email and username is reserved8708 uniquifies username and email8709Gitlab::WikiPages::FrontMatterParser8710 #parse8711 there is front matter8712 is expected to have attributes {:content => "This is the content\n", :error => (be nil), :front_matter => (include {:a => 1, :b => 2, :c => ["foo", "bar"]})}8713 there is no content8714 is expected to have attributes {:content => "", :error => (be nil), :front_matter => {}}8715 there is no front_matter8716 is expected to have attributes {:content => "This is the content", :front_matter => (be empty)}8717 is expected to have attributes {:reason => :no_match}8718 the feature flag is disabled8719 is expected to have attributes {:content => "---\na: 1\nb: 2\nc:\n - foo\n - bar\ndate: I am safe. Not actually a date\n---\nThis is the content\n", :front_matter => (be empty)}8720 the feature flag is enabled for the gated object8721 is expected to have attributes {:content => "This is the content\n", :front_matter => (include {:a => 1, :b => 2, :c => ["foo", "bar"]}), :reason => (be nil)}8722 the end divider is ...8723 is expected to have attributes {:front_matter => (include {:a => 1, :b => 2, :c => ["foo", "bar"]})}8724 the front-matter is not a mapping8725 is expected to have attributes {:reason => :not_mapping}8726 there is nothing in the front-matter block8727 is expected to have attributes {:reason => :no_match}8728 there is a string in the YAML block8729 is expected to have attributes {:reason => :not_mapping}8730 there is dangerous YAML in the block8731 is expected to have attributes {:error => (be present), :reason => :parse_error}8732 there is acceptably long YAML in the front-matter block8733 is expected to have attributes {:front_matter => (include {:title => (be present)})}8734 there is suspiciously long YAML in the front-matter block8735 is expected to have attributes {:reason => :too_long}8736 TOML front matter8737 is expected to have attributes {:reason => :not_yaml}8738 TOML style fences, advertised as YAML8739 is expected to have attributes {:front_matter => (include {:title => "My title"})}8740 YAML, advertised as something else8741 is expected to have attributes {:reason => :not_yaml}8742 there is text content in the YAML block, in comments8743 is expected to have attributes {:front_matter => (include {:foo => 1})}8744 there is text content in the YAML block8745 is expected to have attributes {:reason => :not_mapping}8746Gitlab::APIAuthentication::Builder8747 #build8748 behaves like builds the correct result8749 with 1 token type(s) and 1 sent through(s)8750 works when passed together8751 works when token types are passed separately8752 works when sent throughs are passed separately8753 works when token types and sent throughs are passed separately8754 behaves like builds the correct result8755 with 1 token type(s) and 2 sent through(s)8756 works when passed together8757 works when token types are passed separately8758 works when sent throughs are passed separately8759 works when token types and sent throughs are passed separately8760 behaves like builds the correct result8761 with 2 token type(s) and 1 sent through(s)8762 works when passed together8763 works when token types are passed separately8764 works when sent throughs are passed separately8765 works when token types and sent throughs are passed separately8766 behaves like builds the correct result8767 with 2 token type(s) and 2 sent through(s)8768 works when passed together8769 works when token types are passed separately8770 works when sent throughs are passed separately8771 works when token types and sent throughs are passed separately8772 with a complex auth strategy8773 builds the correct result8774gitlab:ci_secure_files8775 check8776 outputs the integrity check for each batch8777 errors out about missing files on the file system8778 errors out about invalid checksum8779AwardEmojiHelper8780 .toggle_award_url8781 note on personal snippet8782 returns correct url8783 note on project item8784 returns correct url8785 personal snippet8786 returns correct url8787 merge request8788 returns correct url8789 issue8790 returns correct url8791Gitlab::BitbucketServerImport::ImportPullRequestWorker8792 #perform8793 when the import succeeds8794 notifies job waiter8795 logs stage start and finish8796 when project does not exists8797 does not call importer and notifies job waiter8798 when project import state is not `started`8799 does not call importer8800 when the importer fails8801 raises an error8802 behaves like Gitlab::BitbucketServerImport::ObjectImporter8803 .sidekiq_retries_exhausted8804 notifies the waiter8805 #perform8806 when project does not exist8807 behaves like notifies the waiter8808 is expected to receive notify("key", anything, {:ttl=>604800}) 1 time8809 when project has import started8810 calls the importer8811 behaves like notifies the waiter8812 is expected to receive notify("key", anything, {:ttl=>604800}) 1 time8813 when project import has been cancelled8814 does not call the importer8815 behaves like notifies the waiter8816 is expected to receive notify("key", anything, {:ttl=>604800}) 1 time8817NewIssueWorker8818 #perform8819 when an issue not found8820 does not call Services8821 logs an error8822 when a user not found8823 does not call Services8824 logs an error8825 with a user8826 when the new issue author is blocked8827 behaves like a new issue where the current_user cannot trigger notifications8828 does not create a notification for the mentioned user8829 when the new issue author is a ghost8830 behaves like a new issue where the current_user cannot trigger notifications8831 does not create a notification for the mentioned user8832 when everything is ok8833 creates a new event record8834 creates a notification for the mentioned user8835 calls Issues::AfterCreateService8836 when a class is set8837 creates event with the correct type8838ProjectDeployToken8839 is expected to belong to project required: false8840 is expected to belong to deploy_token required: false8841 is expected to validate that :deploy_token cannot be empty/falsy8842 is expected to validate that :project cannot be empty/falsy8843 is expected to validate that :deploy_token_id is case-sensitively unique within the scope of :project_id8844Ci::DropPipelineWorker8845 #perform8846 calls delegates to the service8847 behaves like an idempotent worker8848 is labeled as idempotent8849 performs multiple times sequentially without raising an exception8850 executes the service8851UseSqlFunctionForPrimaryKeyLookups8852 when the use_sql_functions_for_primary_key_lookups FF is off8853 loads the correct record8854 uses the SQL-based finder query8855 when the use_sql_functions_for_primary_key_lookups FF is on8856 loads the correct record8857 uses the fuction-based finder query8858 uses query cache8859 when the model has ignored columns8860 enumerates the column names8861 when there are scope attributes8862 loads the correct record8863 does not use the function-based finder query8864 when there are multiple arguments8865 loads the correct records8866 does not use the function-based finder query8867 when there is block given8868 loads the correct records8869 does not use the function-based finder query8870 when there is no primary key defined8871 raises ActiveRecord::UnknownPrimaryKey8872 when id is provided as an array8873 returns the correct record as an array8874 does use the function-based finder query8875 when array has multiple elements8876 does not use the function-based finder query8877 when the provided id is null8878 raises ActiveRecord::RecordNotFound8879 when the provided id is not a string that can cast to numeric8880 raises ActiveRecord::RecordNotFound8881JiraImport::CloudUsersMapperService8882 #execute8883 behaves like mapping jira users8884 jira_users is nil8885 returns an empty array8886 when jira_users is present8887 returns users mapped to Gitlab8888 runs only 4 queries8889Gitlab::Ci::Config::Entry::Product::Matrix8890 validations8891 when entry config value is correct8892 #valid?8893 is expected to be valid8894 when entry config generates too many jobs8895 #valid?8896 is expected not to be valid8897 #errors8898 returns error about too many jobs8899 when entry config has only one variable with multiple values8900 #valid?8901 is expected to be valid8902 #errors8903 returns no errors8904 #value8905 returns the value without raising an error8906 when entry config has only one variable with one value8907 #valid?8908 is expected to be valid8909 #errors8910 returns no errors8911 #value8912 returns the value without raising an error8913 when config value has wrong type8914 #valid?8915 is expected not to be valid8916 #errors8917 returns error about incorrect type8918 .compose!8919 when valid job entries composed8920 #value8921 returns key value8922 #descendants8923 creates valid descendant nodes8924 with empty config8925 #value8926 returns empty value8927 #number_of_generated_jobs8928 with empty config8929 is expected to be zero8930 with only one variable8931 is expected to eq 108932 with two variables8933 is expected to eq 508934 with two sets of variables8935 is expected to eq 568936clearing redis cache8937 clearing set caches8938 repository set8939 behaves like clears the cache8940 is expected to change `redis_keys(redis).size` by -18941 reactive cache set8942 behaves like clears the cache8943 is expected to change `redis_keys(redis).size` by -18944 clearing pipeline status cache8945 behaves like clears the cache8946 is expected to change `redis_keys(redis).size` by -18947shared/wikis/_sidebar.html.haml8948 includes a link to clone the repository8949 the sidebar failed to load8950 reports this to the user8951 The sidebar comes from a custom page8952 does not show an alert8953 renders the wiki content8954 The sidebar comes a list of wiki pages8955 does not show an alert8956 renders the wiki content8957 there is no more to see8958 does not invite the user to view more8959 link to edit the sidebar8960 when the user has edit permission8961 renders the link8962 when the user does not have edit permission8963 does not render the link8964Sidebars::UserProfile::Menus::ActivityMenu8965 behaves like User profile menu8966 does not contain any sub menu8967 renders the correct link8968 renders the correct title8969 renders the correct icon8970 renders the correct avatar8971 defines correct active route8972 renders if user is logged in8973 when viewed user is blocked8974 when user is not logged in8975 is not allowed to view the menu item8976 when current user has permission8977 is allowed to view the menu item8978 when current user does not have permission8979 is not allowed to view the menu item8980 when viewed user is banned8981 when user is not logged in8982 is not allowed to view the menu item8983 when current user has permission8984 is allowed to view the menu item8985 when current user does not have permission8986 is not allowed to view the menu item8987groups/_home_panel8988 renders the group ID8989 admin area link8990 renders admin area link for admin8991 does not render admin area link for non-admin8992 does not render admin area link for anonymous8993#<GitlabSettings::Settings:0x00007d3acf191748>8994 #ldap8995 can be accessed with dot syntax all the way down8996 can be accessed in a very specific way that breaks without reassigning each element8997 #host_without_www8998 URL with protocol8999 returns the host9000 URL without protocol9001 returns the host9002 URL with user/port9003 returns the host9004 #weak_passwords_digest_set9005 is a Set9006 contains 4500 password digests9007 includes 8 char weak password digest9008 includes 16 char weak password digest9009 includes long char weak password digest9010 does not include 7 char weak password digest9011 does not include plaintext9012RuboCop::Cop::Performance::ReadlinesEach9013 when just using readlines without each9014 does not flag it as an offense9015 when reading all lines using IO.readlines.each9016 autocorrects `readlines.each` to `each_line`9017 behaves like class read9018 and it is called as a class method on IO9019 flags it as an offense9020 when just using readlines without each9021 does not flag it as an offense9022 behaves like class read9023 and it is called as a class method on File9024 flags it as an offense9025 when just using readlines without each9026 does not flag it as an offense9027 and it is called as an instance method on a return value9028 flags it as an offense9029 and it is called as an instance method on an assigned variable9030 flags it as an offense9031 and it is called as an instance method on a new object9032 flags it as an offense9033Users::EmailVerification::ValidateTokenService9034 #execute9035 with a valid attribute9036 attr: :unlock_token9037 when successful9038 returns a success status9039 when rate limited9040 returns a failure status9041 when expired9042 returns a failure status9043 when invalid9044 returns a failure status9045 when encrypted token was not set and a blank token is provided9046 returns a failure status9047 attr: :confirmation_token9048 when successful9049 returns a success status9050 when rate limited9051 returns a failure status9052 when expired9053 returns a failure status9054 when invalid9055 returns a failure status9056 when encrypted token was not set and a blank token is provided9057 returns a failure status9058 with an invalid attribute9059 raises an error9060Projects::CreateFromTemplateService9061 calls the importer service9062 returns the project that is created9063 when template is not present9064 does not set import set import type9065 does not set import set import source9066 is not scheduled9067 repository is empty9068 the result project9069 overrides template description9070 overrides template visibility_level9071Sidebars::Groups::SuperSidebarPanel9072 implements #super_sidebar_context_header9073 #renderable_menus9074 is exposed as a renderable menu9075 behaves like a panel instantiable by the anonymous user9076 is expected to be a kind of Sidebars::Groups::SuperSidebarPanel9077 behaves like a panel with uniquely identifiable menu items9078 all menu_items have unique item_id9079 all menu_items have an item_id9080 behaves like a panel with all menu_items categorized9081 has no uncategorized menu_items9082MergeRequests::UpdateReviewerStateService9083 #execute9084 invalid permissions9085 behaves like failed service execution9086 returns an error9087 behaves like does not trigger GraphQL subscription mergeRequestReviewersUpdated9088 is expected not to receive merge_request_reviewers_updated(*(any args)) 0 times9089 reviewer exists9090 returns success9091 updates reviewers state9092 does not call MergeRequests::RemoveApprovalService9093 behaves like triggers GraphQL subscription mergeRequestReviewersUpdated9094 is expected to receive merge_request_reviewers_updated(#<MergeRequest id:114 namespace1384/project-1406!1>) 1 time9095 when reviewer has approved9096 removes approval when state is requested_changes9097 renders error when remove approval service fails9098Gitlab::DatabaseWarnings9099 .check_single_connection_and_print_warning9100 prints a warning if single connection9101 does not print a warning if single ci connection9102 does not print a warning if multiple connection9103 does not print a warning in Rails runner environment9104 .check_postgres_version_and_print_warning9105 prints a warning if not compliant with minimum postgres version9106 does not print a warning if compliant with minimum postgres version9107 does not print a warning in Rails runner environment9108 ignores ActiveRecord errors9109 ignores Postgres errors9110Todos::AllowedTargetFilterService9111 #execute9112 with reporter user9113 behaves like allowed Todos filter9114 is expected to contain exactly #<Todo id: 21, user_id: 1687, project_id: 906, target_id: 115, target_type: "MergeRequest", author_id...-22 16:31:01.103424461 +0000", commit_id: nil, group_id: nil, resolved_by_action: nil, note_id: nil>, #<Todo id: 13, user_id: 1687, project_id: 906, target_id: 296, target_type: "Issue", author_id: 1684,...-22 16:31:00.515532624 +0000", commit_id: nil, group_id: nil, resolved_by_action: nil, note_id: nil>, #<Todo id: 15, user_id: 1687, project_id: 906, target_id: 297, target_type: "Issue", author_id: 1684,...-22 16:31:00.630317178 +0000", commit_id: nil, group_id: nil, resolved_by_action: nil, note_id: nil>, #<Todo id: 16, user_id: 1687, project_id: 906, target_id: 296, target_type: "Issue", author_id: 1684,...-22 16:31:00.679106185 +0000", commit_id: nil, group_id: nil, resolved_by_action: nil, note_id: 117>, and #<Todo id: 18, user_id: 1687, project_id: 906, target_id: 11, target_type: "DesignManagement::Design"...-22 16:31:00.775081289 +0000", commit_id: nil, group_id: nil, resolved_by_action: nil, note_id: nil>9115 with guest user9116 behaves like allowed Todos filter9117 is expected to contain exactly #<Todo id: 13, user_id: 1687, project_id: 906, target_id: 296, target_type: "Issue", author_id: 1684,...-22 16:31:00.515532624 +0000", commit_id: nil, group_id: nil, resolved_by_action: nil, note_id: nil> and #<Todo id: 18, user_id: 1687, project_id: 906, target_id: 11, target_type: "DesignManagement::Design"...-22 16:31:00.775081289 +0000", commit_id: nil, group_id: nil, resolved_by_action: nil, note_id: nil>9118 with a non-member user9119 behaves like allowed Todos filter9120 is expected to contain exactly9121Ide::TerminalConfigService9122 #execute9123 content is not valid9124 returns an error9125 terminal not defined9126 returns success9127 terminal enabled9128 returns success9129 custom terminal enabled9130 returns success9131IgnorableColumns9132 adds columns to ignored_columns9133 adds columns to ignored_columns (array version)9134 requires remove_after attribute to be set9135 requires remove_after attribute to be set9136 requires remove_with attribute to be set9137 .ignored_columns_details9138 defaults to empty Hash9139 with single column9140 behaves like storing removal information9141 storing removal information9142 with array column9143 behaves like storing removal information9144 storing removal information9145 when called on a subclass without setting the ignored columns9146 does not raise Deadlock error9147 IgnorableColumns::ColumnIgnore9148 #safe_to_remove?9149 after remove_after date has passed9150 returns true (safe to remove)9151 before remove_after date has passed9152 returns false (not safe to remove)9153Gitlab::TerraformRegistryToken9154 .from_token9155 with a deploy token9156 returns the correct token9157 with a job9158 returns the correct token9159 with a personal access token9160 returns the correct token9161 behaves like a gitlab jwt token9162 #secret9163 is expected to eq "26c19e158883d68a752c78b5b92f674adcdfa1038803607e806953dcfb540ddd"9164 #decode9165 with a custom payload9166 returns the correct token9167 returns nil and logs the exception after expiration9168Packages::Go::Module9169 #path_valid?9170 with root path9171 with major version 09172 returns true9173 with major version 19174 returns true9175 with major version 29176 returns false9177 with path ./v29178 with major version 09179 returns false9180 with major version 19181 returns false9182 with major version 29183 returns true9184 #gomod_valid?9185 with good gomod9186 returns true9187 with bad gomod9188 returns false9189 with empty gomod9190 returns false9191Gitlab::Ci::Parsers::Sbom::Validators::CyclonedxSchemaValidator9192 with minimally valid report9193 is expected to be valid9194 when report has components9195 with minimally valid components9196 is expected to be valid9197 when components have versions9198 is expected to be valid9199 when components have licenses9200 is expected to be valid9201 when components have a signature9202 is expected to be valid9203 when components are not valid9204 is expected not to be valid9205 outputs errors for each validation failure9206 when report has metadata9207 is expected to be valid9208 when metadata has properties9209 when properties are valid9210 is expected to be valid9211 when properties are invalid9212 is expected not to be valid9213 outputs errors for each validation failure9214Ml::ExperimentTracking::ExperimentRepository9215 #all9216 fetches experiments for project9217 #by_iid_or_name9218 when iid passed9219 fetches the experiment9220 and name passed9221 ignores the name9222 and does not exist9223 is expected to eq nil9224 when iid is not passed and name is passed9225 when name exists9226 fetches the experiment9227 when name does not exist9228 is expected to eq nil9229 #add_tag!9230 adds a new tag9231 when name missing9232 throws RecordInvalid9233 when tag was already added9234 throws RecordInvalid9235 #create!9236 creates the experiment9237 when name exists9238 throws error9239 when has tags9240 creates the experiment with tag9241 when name is missing9242 throws error9243Gitlab::Usage::Metrics::Instrumentations::DistinctCountProjectsWithExpirationPolicyMetric9244 behaves like a correct instrumented metric value9245 has correct value9246 behaves like a correct instrumented metric value9247 has correct value9248 behaves like a correct instrumented metric value9249 has correct value9250 behaves like a correct instrumented metric value9251 has correct value9252Mutations::Issues::LinkAlerts9253 is expected to require graphql authorizations :update_issue and :admin_issue9254 #resolve9255 when the user is a guest9256 raises an error9257 when a user is also an author9258 raises an error9259 when a user is also an assignee9260 raises an error9261 when the user is a developer9262 when issue type is an incident9263 calls LinkAlerts::CreateService with correct arguments9264 returns no errors9265 when issue type is not an incident9266 does not update alert_management_alerts9267Ci::DagJobGroupEntity9268 #as_json9269 when group contains 1 job9270 exposes a name9271 exposes the size9272 exposes the jobs9273 matches schema9274 when group contains multiple parallel jobs9275 exposes a name9276 exposes the size9277 exposes the jobs9278 matches schema9279Gitlab::Ci::Trace::SectionParser9280 #sections9281 empty trace9282 is expected to be empty9283 with a sectionless trace9284 is expected to be empty9285 with trace markers9286 is expected to eq 29287 is expected to eq "b"9288 is expected to eq 2017-10-05 00:00:00.000000000 +00009289 is expected to eq 2017-10-05 00:00:01.000000000 +00009290 #parse!9291 multiple "section_" but no complete markers9292 must find 3 possible section start but no complete sections9293 trace with UTF-8 chars9294 must handle correctly byte positioning9295Gitlab::Usage::Metrics::Instrumentations::CountImportedProjectsTotalMetric9296 with all time frame9297 behaves like a correct instrumented metric value and query9298 behaves like a correct instrumented metric value9299 has correct value9300 behaves like a correct instrumented metric query9301 has correct generate query9302 for 28d time frame9303 behaves like a correct instrumented metric value and query9304 behaves like a correct instrumented metric value9305 has correct value9306 behaves like a correct instrumented metric query9307 has correct generate query9308Mutations::ContainerRepositories::Destroy9309 is expected to require graphql authorizations :destroy_container_image9310 #resolve9311 with valid id9312 user_role: :maintainer, shared_examples_name: "destroying the container repository"9313 behaves like destroying the container repository9314 marks the repository as delete_scheduled9315 user_role: :developer, shared_examples_name: "destroying the container repository"9316 behaves like destroying the container repository9317 marks the repository as delete_scheduled9318 user_role: :reporter, shared_examples_name: "denying access to container respository"9319 behaves like denying access to container respository9320 raises an error9321 user_role: :guest, shared_examples_name: "denying access to container respository"9322 behaves like denying access to container respository9323 raises an error9324 user_role: :anonymous, shared_examples_name: "denying access to container respository"9325 behaves like denying access to container respository9326 raises an error9327Packages::Conan::CreatePackageService9328 #execute9329 valid params9330 creates a new package9331 behaves like assigns the package creator9332 assigns the package creator9333 behaves like assigns build to package9334 with build info9335 assigns the pipeline to the package9336 behaves like assigns status to package9337 with status param9338 assigns the status to the package9339 invalid params9340 fails9341Resolvers::Crm::OrganizationsResolver9342 #resolve9343 with unauthorized user9344 does not rise an error and returns no crm_organizations9345 with authorized user9346 does not rise an error and returns all crm_organizations in the correct order9347 without parent9348 returns no crm_organizations9349 with a group parent9350 when no filter is provided9351 returns all the crm_organizations in the default order9352 when a sort is provided9353 returns all the crm_organizations in the correct order9354 when filtering for all states9355 returns all the crm_organizations9356 when search term is provided9357 returns the correct crm_organizations9358 when state is provided9359 returns the correct crm_organizations9360 when ids are provided9361 returns the correct crm_organizations9362X509CertificateRevokeService9363 #execute9364 for revoked certificates9365 update all commit signatures9366 for good certificates9367 do not update any commit signature9368Packages::Go::SyncPackagesService9369 #execute_async9370 schedules a package refresh9371 #initialize9372 without a project9373 raises an error9374 without a ref9375 raises an error9376 with an invalid ref9377 raises an error9378WorkItems::ImportWorkItemsCsvWorker9379 .sidekiq_retries_exhausted9380 destroys upload9381 #perform9382 calls #execute on WorkItems::ImportCsvService and destroys upload9383 behaves like an idempotent worker9384 is labeled as idempotent9385 performs multiple times sequentially without raising an exception9386IncidentManagement::TimelineEventPolicy9387 #rules9388 when a user is not able to manage timeline events9389 when timeline event is editable9390 does not allow to edit the timeline event9391 when a user is able to manage timeline events9392 when timeline event is editable9393 allows to edit the timeline event9394 when timeline event is not editable9395 does not allow to edit the timeline event9396Resolvers::Ci::RunnerJobCountResolver9397 #resolve9398 with authorized user9399 with statuses argument filtering on successful builds9400 is expected to eq 29401 with statuses argument filtering on failed builds9402 is expected to eq 19403 without statuses argument9404 is expected to eq 39405 with unauthorized user9406 is expected to be nil9407Gitlab::UrlBlockers::IpAllowlistEntry9408 #initialize9409 initializes without port9410 initializes with port9411 #match?9412 matches with equivalent IP and port9413 matches any port when port is nil9414 does not match when port is present but requested_port is nil9415 matches when port and requested_port are nil9416 works with ipv69417 matches ipv4 within IPv4 range9418 matches IPv6 within IPv6 range9419 matches IPv4 to IPv6 mapped addresses in allow list9420 matches IPv4 to IPv6 mapped addresses in requested IP9421CarrierWave::Uploader::Url9422 #url9423 when file responds to url9424 returns nil when the file.url is empty9425 returns the given file url9426 passes any given options to the file url method9427 when file responds to path9428 when the asset host is a string9429 prefix the path with the asset host9430 when the asset host responds to call9431 prefix the path with the asset host9432 when asset_host is empty9433 when base_path is empty9434 returns the file path9435 when base_path is not empty9436 returns the file path prefixed with the base_path9437 when file does not respond to either url nor path9438 returns nil9439ObjectPool::DestroyWorker9440 #perform9441 when no pool is in the database9442 doesn't raise an error9443 when a pool is present9444 requests Gitaly to remove the object pool9445 destroys the pool9446PipelineTestReportBuilder9447 #previous_pipeline9448 pipeline in a fork project9449 returns fork pipeline9450 pipeline in target project9451 returns failed pipeline9452 #test_report_for_pipeline9453 for previous pipeline9454[PipelineTestReportBuilder] Discovered previous failed pipeline (#1) for MR!1370259455[PipelineTestReportBuilder] 1 failed builds in test stage found...9456 fetches builds from pipeline related to MR9457 canonical pipeline9458 no previous pipeline9459 returns empty hash9460 no failed test builds9461[PipelineTestReportBuilder] Discovered previous failed pipeline (#1) for MR!1370259462[PipelineTestReportBuilder] 0 failed builds in test stage found...9463 returns a hash with an empty "suites" array9464 failed pipeline and failed test builds9465[PipelineTestReportBuilder] Discovered previous failed pipeline (#1) for MR!1370259466[PipelineTestReportBuilder] 1 failed builds in test stage found...9467 returns populated test list for suites9468 when receiving a server error9469 when response code is 4049470/builds/gitlab-org/gitlab/spec/scripts/pipeline_test_report_builder_spec.rb:163: warning: constant Net::HTTPServerException is deprecated9471[PipelineTestReportBuilder] Discovered previous failed pipeline (#1) for MR!1370259472/builds/gitlab-org/gitlab/scripts/pipeline_test_report_builder.rb:107: warning: constant Net::HTTPServerException is deprecated9473[PipelineTestReportBuilder] Artifacts not found. They may have expired. Skipping this build.9474[PipelineTestReportBuilder] 0 failed builds in test stage found...9475 continues without the missing reports9476 when response code is unexpected9477/builds/gitlab-org/gitlab/spec/scripts/pipeline_test_report_builder_spec.rb:163: warning: constant Net::HTTPServerException is deprecated9478[PipelineTestReportBuilder] Discovered previous failed pipeline (#1) for MR!1370259479/builds/gitlab-org/gitlab/scripts/pipeline_test_report_builder.rb:107: warning: constant Net::HTTPServerException is deprecated9480 raises HTTPServerException9481 for latest pipeline9482[PipelineTestReportBuilder] Discovered latest failed pipeline (#3) for MR!1370259483[PipelineTestReportBuilder] 1 failed builds in test stage found...9484 fetches builds from pipeline related to MR9485Gitlab::GithubImport::Stage::ImportIssueEventsWorker9486 behaves like Gitlab::GithubImport::StageMethods9487 .sidekiq_retries_exhausted9488 tracks the exception and marks the import as failed9489 #import9490 when stage is enabled9491 imports issue events9492 when stage is disabled9493 skips issue events import and calls next stage9494StubMethodCalls9495 #stub_method9496 stubs the method response9497 when calling it on an already stubbed method9498 stubs correctly9499 methods that accept arguments9500 stubs correctly9501 methods that use named arguments9502 stubs correctly9503 stubbing non-existent method9504 stubs correctly9505 #restore_original_method9506 restores original behaviour9507 method is not stubbed9508 is expected to raise NotImplementedError with "some_other_method has not been stubbed on #<Class:0x00007d3aaf8f96e0>"9509 #restore_original_methods9510 restores original behaviour9511Database::LockTablesWorker9512 #perform9513 when running with single database9514 skips executing the job (PENDING: Skipping because database ci exists)9515 when running in decomposed database9516 when the table is wrong9517 when trying to lock tables on an unknown database9518 raises an exception9519 when trying to lock tables on the database that does not support locking9520 raises an exception9521 when trying to lock tables on the wrong database9522 raises an exception9523 when trying to lock shared tables on the database9524 raises an exception9525 when the table is correct9526 when the table is not locked for writes9527 database_name: :ci, tables: ["users", "namespaces"]9528 locks the tables on the corresponding database9529 database_name: :main, tables: ["ci_pipelines", "ci_builds"]9530 locks the tables on the corresponding database9531 when the table is already locked for writes9532 database_name: :ci, tables: ["users", "namespaces"]9533 skips locking the tables on the corresponding database9534 database_name: :main, tables: ["ci_pipelines", "ci_builds"]9535 skips locking the tables on the corresponding database9536RuboCop::Cop::Migration::ComplexIndexesRequireName9537 when in migration9538 when creating complex indexes as part of create_table9539 when indexes are configured with an options hash, but no name9540 registers an offense9541 when indexes are configured with an options hash and name9542 registers no offense9543 when indexes are added to an existing table9544 when indexes are configured with an options hash, but no name9545 registers an offense9546 when indexes are configured with an options hash and a name9547 registers no offenses9548 when outside migration9549 registers no offenses9550Gitlab::ServiceDesk9551 enabled?9552 is expected to be truthy9553 when service desk is not supported9554 is expected to be falsy9555 when service desk is disabled for project9556 is expected to be falsy9557 supported?9558 is expected to be truthy9559 when incoming emails are disabled9560 is expected to be falsy9561 when email key is not supported9562 is expected to be falsy9563Gitlab::UsageMetricDefinitionGenerator9564 Creating metric definition file9565 without ee option9566 creates a metric definition file using the template9567 with ee option9568 creates a metric definition file using the template9569 Validation9570 does not raise an error9571 with a missing directory9572 raises an error9573 with an invalid directory9574 raises an error9575 with an already existing metric with the same key_path9576 raises an error9577 with multiple file names9578 creates multiple files9579 when user agreed with deprecation warning by typing: n9580 does not create definition file9581 when user agreed with deprecation warning by typing: N9582 does not create definition file9583 when user agreed with deprecation warning by typing: random word9584 does not create definition file9585 when user agreed with deprecation warning by typing:9586 does not create definition file9587MergeRequests::ExecuteApprovalHooksService9588 #execute9589 sends a notification when approving9590 with remaining approvals9591 fires an approval webhook9592Aws::Role9593 is expected to belong to user required: false9594 is expected to validate that the length of :role_external_id is between 1 and 649595 custom validations9596 :role_arn9597 length is zero9598 is expected to be falsey9599 length is longer than 20489600 is expected to be falsey9601 ARN is valid9602 is expected to be truthy9603 ARN is nil9604 is expected to be truthy9605 callbacks9606 #ensure_role_external_id!9607 for a new record9608 calls #ensure_role_external_id!9609 for an existing record9610 does not call #ensure_role_external_id!9611 #ensure_role_external_id!9612 role_external_id is blank9613 generates an external ID and assigns it to the record9614 role_external_id is already set9615 does not change the existing external id9616MigrateExternalDiffsWorker9617 #perform9618 migrates the listed diff9619 does nothing if the diff is missing9620API::Entities::MergeRequestChanges9621 exposes basic entity fields9622 when #expose_raw_diffs? returns false9623 does not access merge_request.raw_diffs9624 when #expose_raw_diffs? returns true9625 does not access merge_request.raw_diffs9626 :overflow field9627 when :access_raw_diffs is true9628 reports false9629Gitlab::AlertManagement::Payload9630 #parse9631 without a monitoring_tool specified by caller9632 without a monitoring tool in the payload9633 is expected to be a kind of Gitlab::AlertManagement::Payload::Generic9634 with the payload specifying Prometheus9635 is expected to be a kind of Gitlab::AlertManagement::Payload::Prometheus9636 with the payload specifying an unknown tool9637 is expected to be a kind of Gitlab::AlertManagement::Payload::Generic9638 with monitoring_tool specified by caller9639 as Prometheus9640 with an externally managed prometheus payload9641 is expected to be a kind of Gitlab::AlertManagement::Payload::Prometheus9642 as an unknown tool9643 is expected to be a kind of Gitlab::AlertManagement::Payload::Generic9644 with integration specified by caller9645 passes an integration to a specific payload9646Integrations::SlackInteractionService9647 #execute9648 when view is closed9649 executes the correct service9650 when view is submitted9651 executes the submission service9652 when block action service is submitted9653 executes the block actions service9654 when slack_interaction is not known9655 raises an error and does not execute a service class9656ApplicationSetting::Term9657 is expected to validate that :terms cannot be empty/falsy9658 .latest9659 finds the latest terms9660 #accepted_by_user?9661 is true when the user accepted the terms9662 is true when user is a bot9663 is false when the user declined the terms9664 does not cause a query when the user accepted the current terms9665 returns false if the currently accepted terms are different9666Banzai::Filter::InlineDiffFilter9667 adds inline diff span tags for deletions when using square brackets9668 adds inline diff span tags for deletions when using curley braces9669 does not add inline diff span tags when a closing tag is not provided9670 adds inline span tags for additions when using square brackets9671 adds inline span tags for additions when using curley braces9672 does not add inline diff span tags when a closing addition tag is not provided9673 does not add inline diff span tags when the tags do not match9674 prevents user-land html being injected9675 preserves content inside pre tags9676 preserves content inside code tags9677 preserves content inside tt tags9678 protects against malicious backtracking9679Gitlab::Diff::Formatters::ImageFormatter9680 behaves like position formatter9681 #key9682 is expected to eq [123, 456, 789, "8b5f87754bd090b9e0837feef68f1737103de62b", "5b972068ce0905d88056d0c4b788554d34949d27", 1, 2]9683 #complete?9684 when there are missing key attributes9685 is expected to be truthy9686 when old_line and new_line are nil9687 is expected to be falsy9688 #to_h9689 is expected to eq {:base_sha=>123, :head_sha=>789, :height=>100, :new_path=>"new_image.png", :old_path=>"old_image.png", :position_type=>"image", :start_sha=>456, :width=>100, :x=>1, :y=>2}9690 #==9691 is expected to eq #<Gitlab::Diff::Formatters::ImageFormatter:0x00007d3ab1676308 @x=1, @y=2, @width=100, @height=100, @i... @old_path="old_image.png", @new_path="new_image.png", @base_sha=123, @start_sha=456, @head_sha=789>9692 #==9693 is expected to eq #<Gitlab::Diff::Formatters::ImageFormatter:0x00007d3ab0f7e8c0 @x=1, @y=2, @width=100, @height=100, @i... @old_path="old_image.png", @new_path="new_image.png", @base_sha=123, @start_sha=456, @head_sha=789>9694 with attribute:width9695 is expected not to eq #<Gitlab::Diff::Formatters::ImageFormatter:0x00007d3ab07a9c08 @x=1, @y=2, @width=9, @height=100, @ign... @old_path="old_image.png", @new_path="new_image.png", @base_sha=123, @start_sha=456, @head_sha=789>9696 with attribute:height9697 is expected not to eq #<Gitlab::Diff::Formatters::ImageFormatter:0x00007d3ab01147f8 @x=1, @y=2, @width=100, @height=9, @ign... @old_path="old_image.png", @new_path="new_image.png", @base_sha=123, @start_sha=456, @head_sha=789>9698 with attribute:x9699 is expected not to eq #<Gitlab::Diff::Formatters::ImageFormatter:0x00007d3aaf95cfd8 @x=9, @y=2, @width=100, @height=100, @i... @old_path="old_image.png", @new_path="new_image.png", @base_sha=123, @start_sha=456, @head_sha=789>9700 with attribute:y9701 is expected not to eq #<Gitlab::Diff::Formatters::ImageFormatter:0x00007d3aae405658 @x=1, @y=9, @width=100, @height=100, @i... @old_path="old_image.png", @new_path="new_image.png", @base_sha=123, @start_sha=456, @head_sha=789>9702Gitlab::ImportExport::Base::ObjectBuilder9703 #build9704 when object exists9705 when where_clauses are implemented9706 finds existing object instead of creating one9707 when where_clauses are not implemented9708 raises NotImplementedError9709 when object does not exist9710 creates new object9711Resolvers::DesignManagement::VersionInCollectionResolver9712 #resolve9713 Neither id nor sha is passed as parameters9714 generates an appropriate error9715 we pass an id9716 is expected to eq #<DesignManagement::Version id: 11, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 306, created_at: "2023-11-22 16:31:49.104960622 +0000", author_id: 1777>9717 we pass a sha9718 is expected to eq #<DesignManagement::Version id: 11, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 306, created_at: "2023-11-22 16:31:49.104960622 +0000", author_id: 1777>9719 we pass an inconsistent mixture of sha and version id9720 is expected to be nil9721Gitlab::StringPlaceholderReplacer9722 .render_url9723 returns the nil if the string is blank9724 returns the string if the placeholder regex9725 returns the string if no block given9726 when all params are valid9727 replaces each placeholders with the block result9728 does not replace the placeholder if the block result is nil9729Packages::Pypi::SimpleIndexPresenter9730 #body9731 for project9732 behaves like pypi package presenter9733 version: ">=2.7", expected_version: ">=2.7"9734 contains links for all packages9735 version: "\"><script>alert(1)</script>", expected_version: ""><script>alert(1)</script>"9736 contains links for all packages9737 version: ">=2.7, !=3.0", expected_version: ">=2.7, !=3.0"9738 contains links for all packages9739 for group9740 behaves like pypi package presenter9741 version: ">=2.7", expected_version: ">=2.7"9742 contains links for all packages9743 version: "\"><script>alert(1)</script>", expected_version: ""><script>alert(1)</script>"9744 contains links for all packages9745 version: ">=2.7, !=3.0", expected_version: ">=2.7, !=3.0"9746 contains links for all packages9747 with package files pending destruction9748 is expected not to include "package_pending_destruction"9749Gitlab::JiraImport::Stage::ImportNotesWorker9750 modules9751 behaves like include import workers modules9752 is expected to includes the ApplicationWorker module9753 is expected to includes the Gitlab::JiraImport::QueueOptions module9754 is expected to includes the Gitlab::JiraImport::ImportWorker module9755 #perform9756 when import did not start9757 behaves like cannot do Jira import9758 does not advance to next stage9759 behaves like does not advance to next stage9760 does not advance to next stage9761 when import started9762 behaves like advance to next stage9763 advances to finish stage9764Gitlab::GithubImport::Importer::Events::Closed9765 with Issue9766 behaves like new event9767 creates expected event and state event9768 when closed by commit9769 creates expected event and state event9770 with MergeRequest9771 behaves like new event9772 creates expected event and state event9773 when closed by commit9774 creates expected event and state event9775Clusters::Agents::Authorizations::CiAccess::ImplicitAuthorization9776 is expected to eq 29777 is expected to eq #<Clusters::Agent id: 2, created_at: "2023-11-22 16:31:54.904291511 +0000", updated_at: "2023-11-22 1...1511 +0000", project_id: 968, name: "agent-2", created_by_user_id: 1787, has_vulnerabilities: false>9778 is expected to eq {}9779 is expected to eq #<Project id:968 namespace1448/project-1466>>9780GitlabSettings::Settings9781 loads the given section config9782 #initialize9783 requires a source9784 requires a section9785 sets encodings9786 on lazy loading9787 does not raise exception on initialization if source does not exists9788 #reload!9789 reloads the config9790projects/environments/terminal9791 when environment has external URL9792 shows external URL button9793 when environment does not have external URL9794 shows external URL button9795Gitlab::Ci::Config::Entry::Release::Assets::Links9796 validation9797 when entry config value is correct9798 #value9799 returns links configuration9800 #valid?9801 is valid9802 when entry value is not correct9803 #errors9804 when value of link is invalid9805 reports error9806 when value of links link is empty9807 reports error9808 when there is an unknown key present9809 reports error9810Clusters::Integrations::CreateService#execute9811 behaves like a cluster integration9812 when enabled param is true9813 creates a new enabled integration9814 when enabled param is false9815 creates a new disabled integration9816 when integration already exists9817 updates the integration9818 when application_type is invalid9819 errors9820 when user is unauthorized9821 returns error and does not create a new integration record9822Users::SavedReplies::DestroyService9823 #execute9824 when destroy fails9825 does not remove Saved Reply from database9826 is expected not to be success9827 when destroy succeeds9828 is expected to be success9829 removes Saved Reply from database9830 returns saved reply9831Mutations::Environments::Stop9832 #resolve9833 when service execution succeeded9834 returns no errors9835 stops the environment9836 when service cannot change the status without force9837 returns an error9838 when force is set to true9839 and state transition would fail without force9840 stops the environment9841 when user is reporter who does not have permission to access the environment9842 raises an error9843GoogleCloud::GetCloudsqlInstancesService9844 when project has no registered cloud sql instances9845 result is empty9846 when project has registered cloud sql instance9847 result is grouped by environment9848Gitlab::Ci::Pipeline::Expression::Lexeme::Variable9849 .build9850 creates a new instance of the token9851 .type9852 is a value lexeme9853 #evaluate9854 returns variable value if it is defined9855 allows to use a string as a variable key too9856 returns nil if it is not defined9857 returns an empty string if it is empty9858 does not call with_indifferent_access unnecessarily9859Achievements::Achievement9860 associations9861 is expected to belong to namespace required: true9862 is expected to have many user_achievements inverse_of => achievement9863 is expected to have many users through user_achievements inverse_of => achievements9864 validations9865 is expected to validate that :name cannot be empty/falsy9866 is expected to validate that :name is case-insensitively unique within the scope of :namespace_id9867 is expected to validate that the length of :name is at most 2559868 is expected to validate that the length of :description is at most 10249869 modules9870 is expected to includes the Avatarable module9871 #name9872 strips name9873ProjectCustomAttribute9874 assocations9875 is expected to belong to project required: false9876 validations9877 is expected to validate that :project cannot be empty/falsy9878 is expected to validate that :key cannot be empty/falsy9879 is expected to validate that :value cannot be empty/falsy9880 is expected to validate that :key is case-sensitively unique within the scope of :project_id9881Support::AbilityCheck9882 checking ability9883 with valid direct ability9884 policy ability is found9885 with empty TODO yaml9886 policy ability is found9887 with non-Hash TODO yaml9888 policy ability is found9889 with unreachable ability9890 policy ability is not found and emits a warning9891 when ignored in TODO YAML9892 policy ability is not found without warning9893 with unknown ability9894 policy ability is not found and emits a warning9895 with delegated ability9896 policy ability is found9897Gitlab::Qa9898 .request?9899 dot_com: false, request_user_agent: "qa_user_agent", qa_user_agent: "qa_user_agent", result: false9900 is expected to eq false9901 dot_com: true, request_user_agent: nil, qa_user_agent: "qa_user_agent", result: false9902 is expected to eq false9903 dot_com: true, request_user_agent: "", qa_user_agent: "qa_user_agent", result: false9904 is expected to eq false9905 dot_com: true, request_user_agent: "qa_user_agent", qa_user_agent: "", result: false9906 is expected to eq false9907 dot_com: true, request_user_agent: "qa_user_agent", qa_user_agent: nil, result: false9908 is expected to eq false9909 dot_com: true, request_user_agent: "qa_user_agent", qa_user_agent: "qa_user_agent", result: true9910 is expected to eq true9911ProtectedTags::UpdateService9912 #execute9913 updates a protected tag9914 when updating protected tag with a name that contains HTML tags9915 updates a protected tag9916 without admin_project permissions9917 raises error9918layouts/_page9919 _silent_mode_banner9920 when ::Gitlab::SilentMode.enabled? is true9921 renders silent mode banner9922 when ::Gitlab::SilentMode.enabled? is false9923 does not silent mode banner9924Gitlab::Graphql::NegatableArguments9925 #negated9926 defines :not argument9927 defines any arguments passed as block9928 defines all arguments passed as block even if called multiple times (PENDING: Temporarily skipped with xit)9929 allows to specify custom argument name9930Tooling::Danger::CustomerSuccess9931 customer success danger9932 with data category changes to Ops and no Customer Success::Impact Check label9933 generates correct message9934 with data category changes and Customer Success::Impact Check label9935 generates correct message9936 with metric file changes and no data category changes9937 generates correct message9938 with data category changes from Ops9939 generates correct message9940 with data category removed9941 generates correct message9942 with data category added9943 generates correct message9944 with data category in uppercase9945 generates correct message9946Ci::ChangeVariableService9947 #execute9948 when creating a variable9949 persists a variable9950 when updating a variable9951 updates a variable9952 when the variable does not exist9953 raises a record not found error9954 when destroying a variable9955 destroys a variable9956 when the variable does not exist9957 raises a record not found error9958Gitlab::Instrumentation::Redis9959 behaves like aggregation of redis storage data9960 get_request_count sum9961 sums data from all Redis storages9962 behaves like aggregation of redis storage data9963 get_cross_slot_request_count sum9964 sums data from all Redis storages9965 behaves like aggregation of redis storage data9966 get_allowed_cross_slot_request_count sum9967 sums data from all Redis storages9968 behaves like aggregation of redis storage data9969 query_time sum9970 sums data from all Redis storages9971 behaves like aggregation of redis storage data9972 read_bytes sum9973 sums data from all Redis storages9974 behaves like aggregation of redis storage data9975 write_bytes sum9976 sums data from all Redis storages9977 .payload9978 returns payload filtering out zeroed values9979 .detail_store9980 returns a flat array of detail stores with the storage name added to each item9981Gitlab::Graphql::KnownOperations9982 #from_query9983 query_string: "query { helloWorld }", expected: #<struct Gitlab::Graphql::KnownOperations::Operation name="unknown">9984 returns known operation name from GraphQL Query9985 query_string: "query fuzzyyy { helloWorld }", expected: #<struct Gitlab::Graphql::KnownOperations::Operation name="unknown">9986 returns known operation name from GraphQL Query9987 query_string: "query foo { helloWorld }", expected: #<struct Gitlab::Graphql::KnownOperations::Operation name="foo">9988 returns known operation name from GraphQL Query9989 #operations9990 returns array of known operations9991 Operation#to_caller_id9992 query_string: "query { helloWorld }", expected: "graphql:unknown"9993 formats operation name for caller_id metric property9994 query_string: "query foo { helloWorld }", expected: "graphql:foo"9995 formats operation name for caller_id metric property9996 Opeartion#query_urgency9997 returns the associated query urgency9998 .default9999 returns a memoization of values from webpack10000API::Base10001 declare feature categories at handler level for all routes10002 sets feature category for a particular route10003 sets request urgency for a particular route10004 declare feature categories at route level10005 sets feature category for a particular route10006 sets request urgency for a particular route10007 declare feature categories at both handler level and route level10008 sets feature category for a particular route10009 sets target duration for a particular route10010Gitlab::GithubImport::ParallelImporter10011 .async?10012 returns true10013 .track_start_import10014 tracks the start of import10015 #execute10016 schedules the importing of the repository10017 sets the JID in Redis10018Gitlab::RackAttack::Store10019 #write10020 sets the key10021 with expiry10022 sets the key with expiry10023 #delete10024 is expected to eq 010025 when the key exists10026 is expected to eq 110027 #read10028 reads the namespaced key10029 #increment10030 increments without expiry10031 rejects amounts other than 110032 with expiry10033 increments and sets expiry10034 #with10035 is expected to eq "PONG"10036 when redis is unavailable10037 is expected to eq nil10038Gitlab::Ci::Variables::Builder::Release10039 #variables10040 when the release is present10041 contains all the variables10042 for large description10043 truncates10044 when description is nil10045 returns without error10046 when the release is not present10047 contains no variables10048Security::CiConfiguration::SecretDetectionBuildAction10049 with existing .gitlab-ci.yml10050 secret_detection has not been included10051 template includes are an array10052 generates the correct YML10053 template include is not an array10054 generates the correct YML10055 secret_detection has been included10056 secret_detection template include are an array10057 generates the correct YML10058 secret_detection template include is not an array10059 generates the correct YML10060 with no .gitlab-ci.yml10061 autodevops disabled10062 generates the correct YML10063 with autodevops enabled10064 generates the correct YML10065UserGroupsCounter10066 #execute10067 returns authorized group count for the user10068 when request to join group is pending10069 does not include pending group in the count10070 when user is part of sub group10071 includes sub group in the count10072 when user is part of namespaced project10073 includes the project group10074Tooling::Danger::SidekiqQueues10075 #changed_queue_files10076 modified_files: ["app/workers/all_queues.yml", "ee/app/workers/all_queues.yml", "foo"], changed_queue_files: ["app/workers/all_queues.yml", "ee/app/workers/all_queues.yml"]10077 is expected to contain exactly "app/workers/all_queues.yml" and "ee/app/workers/all_queues.yml"10078 modified_files: ["app/workers/all_queues.yml", "ee/app/workers/all_queues.yml"], changed_queue_files: ["app/workers/all_queues.yml", "ee/app/workers/all_queues.yml"]10079 is expected to contain exactly "app/workers/all_queues.yml" and "ee/app/workers/all_queues.yml"10080 modified_files: ["app/workers/all_queues.yml", "foo"], changed_queue_files: ["app/workers/all_queues.yml"]10081 is expected to contain exactly "app/workers/all_queues.yml"10082 modified_files: ["ee/app/workers/all_queues.yml", "foo"], changed_queue_files: ["ee/app/workers/all_queues.yml"]10083 is expected to contain exactly "ee/app/workers/all_queues.yml"10084 modified_files: ["foo"], changed_queue_files: []10085 is expected to contain exactly10086 modified_files: [], changed_queue_files: []10087 is expected to contain exactly10088 #changed_queue_names10089 returns names for queues whose attributes were changed10090 ignores removed queues10091 #added_queue_names10092 returns queue names added by this change10093LegacyBulkInsert10094 #bulk_insert10095 does nothing with empty rows10096 uses the ordering from the first row10097 quotes column names10098 quotes values10099 does not quote values of a column in the disable_quote option10100 does not quote values of columns in the disable_quote option10101 handles non-UTF-8 data10102 when using PostgreSQL10103 allows the returning of the IDs of the inserted rows10104 allows setting the upsert to do nothing10105Resolvers::Projects::ForkTargetsResolver10106 #resolve10107 returns forkable namespaces10108 when a user cannot fork the project10109 does not return results10110Gitlab::Ci::Status::Running10111 #text10112 is expected to eq "Running"10113 #label10114 is expected to eq "running"10115 #icon10116 is expected to eq "status_running"10117 #favicon10118 is expected to eq "favicon_status_running"10119 #group10120 is expected to eq "running"10121 #details_path10122 is expected to be nil10123Projects::ScheduleRefreshBuildArtifactsSizeStatisticsWorker10124 #perform10125 is labeled as idempotent10126 performs multiple times sequentially without raising an exception10127 schedules Projects::RefreshBuildArtifactsSizeStatisticsWorker to be performed with capacity10128Gitlab::ConanToken10129 .from_personal_access_token10130 sets access token and user id and does not use the token id10131 .from_job10132 sets access token id and user id10133 .from_deploy_token10134 sets access token id and user id10135 .decode10136 sets access token id and user id10137 returns nil for invalid JWT10138 returns nil for expired JWT10139 #to_jwt10140 returns the encoded JWT10141Types::ContainerExpirationPolicyType10142 is expected to eq "ContainerExpirationPolicy"10143 is expected to eq "A tag expiration policy designed to keep only the images that matter most"10144 is expected to require graphql authorizations :admin_container_image10145 older_than field10146 returns older_than enum10147 keep n field10148 returns keep enum10149 name_regex field10150 returns untrusted regexp type10151 name_regex_keep field10152 returns untrusted regexp type10153Packages::Composer::CacheUpdateWorker10154 #perform10155 is labeled as idempotent10156 performs multiple times sequentially without raising an exception10157 creating a package10158 does nothing10159 deleting a package10160 does nothing10161Issuable::ImportCsv::BaseService10162 #preprocess_milestones10163 with csv that has milestone heading10164 calls PreprocessMilestonesService10165 calls PreprocessMilestonesService with unique milestone titles10166 with csv that does not have milestone heading10167 does not call PreprocessMilestonesService10168 when one or more milestones do not exist10169 returns the expected error in results payload10170 when all milestones exist10171 returns a successful response10172Ci::BuildCancelService10173 #execute10174 when user is authorized to cancel the build10175 when build is cancelable10176 transits build to canceled10177 when build is not cancelable10178 responds with unprocessable entity10179 when user is not authorized to cancel the build10180 responds with forbidden10181Gitlab::Ci::Build::Prerequisite::Factory10182 .for_build10183 prerequisite is unmet10184 is expected to eq [#<InstanceDouble(Gitlab::Ci::Build::Prerequisite::KubernetesNamespace) (anonymous)>]10185 prerequisite is met10186 is expected to be empty10187Gitlab::UsageDataCounters::ContainerRegistryEventCounter10188 behaves like a redis usage counter10189 .count(i_container_registry_delete_manifest)10190 increments the ContainerRegistryEvent i_container_registry_delete_manifest counter by 110191 .read(i_container_registry_delete_manifest)10192 returns the total number of i_container_registry_delete_manifest events10193 behaves like a redis usage counter with totals10194 totals10195 can report all totals10196 unknown events10197 cannot increment10198 cannot read10199Gitlab::BitbucketImport::Stage::FinishImportWorker10200 does not abort on failure10201 behaves like Gitlab::BitbucketImport::StageMethods10202 .sidekiq_retries_exhausted10203 tracks the import failure10204 .perform10205 executes the import10206 #perform10207 finalises the import process10208RolloutStatusEntity10209 exposes status10210 exposes has_legacy_app_label10211 when kube deployment is valid10212 exposes deployment data10213 does not expose canary ingress if it does not exist10214 when canary ingress exists10215 expose canary ingress10216 when kube deployment is empty10217 exposes status10218 does not expose deployment data10219VsCode::Settings::SettingsFinder10220 #execute10221 when nil is passed in as the list of settings10222 when user has no settings10223 returns an empty array10224 when user has settings10225 returns an array of settings10226 when a list of settings is passed, filters by the setting10227 when user has no settings with that type10228 returns an empty array10229 when user does have settings with the type10230 returns the record when a single setting exists10231 returns multiple records when more than one setting exists10232Resolvers::Environments::NestedEnvironmentsResolver10233 #resolve10234 finds the nested environments when status matches10235 finds the nested environments when searching by name10236 finds the nested environments when name matches exactly10237Gitlab::WordDiff::Segments::Chunk10238 #removed?10239 is expected to be falsey10240 when line starts with "-"10241 is expected to be truthy10242 #added?10243 is expected to be falsey10244 when line starts with "+"10245 is expected to be truthy10246 #to_s10247 removes lead string modifier10248 when chunk is empty10249 is expected to eq ""10250 #length10251 is expected to eq 510252Ml::CandidateMetric10253 associations10254 is expected to belong to candidate required: false10255 scope :latest10256 fetches only the last metric for the name10257Sidebars::Projects::Menus::WikiMenu10258 does not contain any sub menu10259 #render?10260 when user can access project wiki10261 returns true10262 when user cannot access project wiki10263 returns false10264 behaves like serializable as super_sidebar_menu_args10265 returns hash with provided attributes10266 returns hash with an item_id10267Types::ContainerRepositoryTagsSortEnum10268 is expected to eq "ContainerRepositoryTagSort"10269 exposes all the existing issue sort values10270DisallowTwoFactorForGroupWorker10271 updates group10272 updates group members10273Import::ProviderRepoSerializer10274 #represent10275 raises an error if invalid provider supplied10276 provider: :github, class_name: "Import::GithubishProviderRepoEntity"10277 uses correct entity class10278 provider: :gitea, class_name: "Import::GithubishProviderRepoEntity"10279 uses correct entity class10280 provider: :bitbucket, class_name: "Import::BitbucketProviderRepoEntity"10281 uses correct entity class10282 provider: :bitbucket_server, class_name: "Import::BitbucketServerProviderRepoEntity"10283 uses correct entity class10284 provider: :fogbugz, class_name: "Import::FogbugzProviderRepoEntity"10285 uses correct entity class10286Users::SavedReply10287 validations10288 is expected to validate that :user_id cannot be empty/falsy10289 is expected to validate that :name cannot be empty/falsy10290 is expected to validate that :content cannot be empty/falsy10291 is expected to validate that :name is case-sensitively unique within the scope of :user_id10292 is expected to validate that the length of :name is at most 25510293 is expected to validate that the length of :content is at most 1000010294FaviconUploader10295 accept allowlist file content type10296 mime_type: "image/png"10297 behaves like accepted carrierwave upload10298 will accept upload10299 will cache uploaded file10300 mime_type: "image/vnd.microsoft.icon"10301 behaves like accepted carrierwave upload10302 will accept upload10303 will cache uploaded file10304 upload denylisted file content type10305 behaves like denied carrierwave upload10306 will deny upload10307 upload misnamed denylisted file content type10308 behaves like denied carrierwave upload10309 will deny upload10310Serverless::DomainEntity10311 #as_json10312 has an id10313 has a domain10314API::Entities::Issue10315 #service_desk_reply_to10316 as developer10317 is expected to eq "creator@example.com"10318 as guest10319 is expected to eq "cr*****@e*****.c**"10320 without email10321 is expected to have key :service_desk_reply_to10322 is expected to eq nil10323Types::LabelType10324 has the correct fields10325 is expected to require graphql authorizations :read_label10326Gitlab::BitbucketImport::Importers::PullRequestsNotesImporter10327 #execute10328 imports the notes from each merge request in parallel10329 when an error is raised10330 tracks the failure and does not fail10331 when merge request was already enqueued10332 does not schedule job for enqueued merge requests10333Tooling::Danger::Database10334 #changes10335 with database changes to a migration file10336 returns database changes10337 with non-database changes10338 returns database changes10339 with database changes in a doc10340 returns database changes10341 with database changes in a model10342 returns database changes10343 with database changes in a concern10344 returns database changes10345 #find_migration_files_before10346 returns migrations that are before the cutoff10347WorkItems::Widgets::Notes10348 .type10349 is expected to eq :notes10350 #notes10351 is expected to eq #<ActiveRecord::Associations::CollectionProxy [#<Note note: [FILTERED], noteable_type: "Issue", autho...iew_id: nil, confidential: nil, last_edited_at: nil, internal: false, id: 121, namespace_id: 3100>]>10352 #type10353 is expected to eq :notes10354RsaKeyValidator10355 is not valid when invalid RSA key is provided10356 is valid when valid RSA key is provided10357Capybara::Node::Base::SlowFinder10358 without timeout10359 when element is found10360 does not raise error10361 when element is not found10362 raises Capybara::ElementNotFound error10363 with timeout10364 with default timeout10365 raises a timeout error10366 when passed as paramater10367 raises a timeout error10368CodequalityDegradationEntity10369 #as_json10370 when sast_reports_in_inline_diff is disabled10371 does not contain fingerprint10372 when codequality contains an error10373 when line is included in location10374 contains correct codequality degradation details10375 when line is included in positions10376 contains correct codequality degradation details10377 when severity is capitalized10378 lowercases severity10379Gitlab::SlashCommands::IncidentManagement::IncidentNew10380 #allowed?10381 returns true10382 when feature flag is disabled10383 returns false in allowed?10384 #collection10385 when collection method id called10386 calls IssuesFinder10387 #execute10388 when invoked10389 sends ephemeral response10390Gitlab::QueryLimiting::Middleware10391 #call10392 runs the application with query limiting in place10393 #action_name10394 using a Rails request10395 returns the name of the controller and action10396 includes the content type if this is not text/html10397 using a Grape API request10398 returns the name of the request method and endpoint path10399 returns nil if the route can not be retrieved10400Gitlab::Database::Migrations::LockRetriesHelpers10401 #with_lock_retries10402 sets the migration class name in the logs10403 does not raise on exhaustion by default10404 defaults to allowing subtransactions10405 raise_on_exhaustion: true10406 sets raise_on_exhaustion as requested10407 raise_on_exhaustion: false10408 sets raise_on_exhaustion as requested10409GoogleCloud::EnableVisionAiService10410 when a project has 3 gcp projects10411 enables cloud run, artifacts registry and cloud build10412 when a project does not have any gcp projects10413 returns error10414Releases::Source10415 .all10416 returns all formats of sources10417 #url10418 returns zip archived source url10419 when ref is directory structure10420 converts slash to dash10421Types::Kas::AgentConnectionType10422 is expected to eq "ConnectedAgent"10423 is expected to eq "Connection details for an Agent"10424 is expected to have graphql fields :connected_at, :connection_id, and :metadata10425 #connected_at10426 converts the seconds value to a timestamp10427Gitlab::Config::Entry::Validator10428 delegated validator10429 when node is valid10430 validates attribute in node10431 returns no errors10432 when node is invalid10433 validates attribute in node10434 returns errors10435Gitlab::PumaLogging::JSONFormatter10436 generate json format with timestamp and pid10437GpgKeySubkey10438 associations10439 is expected to belong to gpg_key required: false10440 validations10441 is expected to validate that :gpg_key_id cannot be empty/falsy10442 is expected to validate that :fingerprint cannot be empty/falsy10443 is expected to validate that :keyid cannot be empty/falsy10444Groups::DeployTokens::RevokeService10445 #execute10446 revokes a group deploy token10447 invalid token id10448 raises an error10449PagerDuty::WebhookPayloadParser10450 .call10451 when payload is a correct PagerDuty payload10452 returns parsed payload10453 when assignments summary and html_url are blank10454 returns parsed payload with blank assignees10455 when impacted_services summary and html_url are blank10456 returns parsed payload with blank impacted service10457 when payload schema is invalid10458 returns payload with blank incident10459 when event is unknown10460 returns empty payload10461WebHooks::WildcardBranchFilterValidator10462 #validates_each10463 allows valid branch names10464 disallows bad branch names10465 allows wildcards10466 gets rid of whitespace10467 limits length to 4000 chars10468Packages::PipelinesFinder10469 #execute10470 returns only pipelines that match the given IDs, in descending order10471 returns only selected columns10472LicenseTemplate10473 #content10474 calls a proc exactly once if provided10475 returns a string if provided10476 #resolve!10477 updates placeholders in a copy of the template content10478API::Entities::BulkImports::ExportStatus10479 has the correct attributes10480 when export is batched10481 exposes batches10482TestReportsComparerSerializer10483 #to_json10484 when head and base reports include two test suites10485 when the status of head report is success10486 matches the schema10487 when the status of head report is failed10488 matches the schema10489 when the status of head report is resolved10490 matches the schema10491SmimeSignatureSettings10492 .parse10493 sets correct default values to disabled10494 when providing custom values10495 sets correct default values to disabled10496 enables smime with default key and cert10497 enables smime with custom key and cert10498Types::CustomEmojiType10499 is expected to eq "CustomEmoji"10500 is expected to require graphql authorizations :read_custom_emoji10501 is expected to have graphql fields "id", "name", "url", "external", "created_at", and "user_permissions"10502 is expected to expose permissions using Types::PermissionTypes::CustomEmoji10503AnalyticsBuildSerializer10504 when there is a single object provided10505 contains important elements of analyticsBuild10506Banzai::Pipeline::QuickActionPipeline10507 does detect a multiple quick actions but not in a multi-line blockquote10508 does not a quick action in a code block10509 does detect a quick action10510 does not detect a quick action10511AnalyticsMergeRequestSerializer10512 when there is a single object provided10513 contains important elements of the merge request10514Gitlab::Usage::Metrics::Instrumentations::OmniauthEnabledMetric10515 when the setting is false10516 behaves like a correct instrumented metric value10517 has correct value10518 when the setting is true10519 behaves like a correct instrumented metric value10520 has correct value10521Users::CreateStatisticsWorker10522 #perform10523 when successful10524 create an users statistics entry10525 when unsuccessful10526 logs an error10527Gitlab::Memory::Watchdog::Monitor::UniqueMemoryGrowth10528 #call10529 gets memory_usage_uss_pss10530 when monitor is called twice10531 reference memory is calculated only once10532 when process exceeds threshold10533 returns if threshold is violated and payload10534 when process does not exceed threshold10535 returns if threshold is violated and payload10536API::Entities::Clusters::Agent10537 includes basic fields10538API::Entities::Projects::Topic10539 exposes correct attributes10540Gitlab::Database::Grant10541 .create_and_execute_trigger10542 returns true when the user can create and execute a trigger10543 returns false when the user can not create and/or execute a trigger10544Import::GitlabProjects::FileAcquisitionStrategies::FileUpload10545 validation10546 validates presence of file10547 #project_params10548 returns the file to upload in the params10549Gitlab::GithubImport::Attachments::ImportNoteWorker10550 #import10551 imports an release attachments10552Integrations::HarborSerializers::ArtifactEntity10553 returns the Harbor artifact10554API::Entities::GroupDetail10555 #as_json10556 includes prevent_sharing_groups_outside_hierarchy for a root group10557 excludes prevent_sharing_groups_outside_hierarchy for a subgroup10558Gitlab::RepositoryArchiveRateLimiter10559 #check_archive_rate_limit!10560 when archive_rate_limit feature flag is disabled10561 does not check rate limit10562 when archive_rate_limit feature flag is enabled10563 when current user exists10564 checks for project_repositories_archive rate limiting with default threshold10565 when current user does not exist10566 checks for project_repositories_archive rate limiting with threshold 10010567Sidebars::Projects::Menus::ExternalWikiMenu10568 does not contain any sub menu10569 #render?10570 when active external issue tracker10571 is present10572 returns true10573 is not present10574 returns false10575SshKeysHelper10576 #ssh_key_allowed_algorithms10577 returns string with the names of allowed algorithms that are quoted and joined by commas10578 returns only allowed algorithms10579FileHookWorker10580 #perform10581 executes Gitlab::FileHook with expected values10582 logs message in case of file_hook execution failure10583Types::Ci::RunnerType10584 is expected to eq "CiRunner"10585 is expected to require graphql authorizations :read_runner10586 contains attributes related to a runner10587Sidebars::Groups::SuperSidebarMenus::OperationsMenu10588 has title and sprite_icon10589 defines list of NilMenuItem placeholders10590Gitlab::Usage::Metrics::Instrumentations::CollectedDataCategoriesMetric10591 behaves like a correct instrumented metric value10592 has correct value10593Integrations::SlackWorkspace::ApiScope10594 .find_or_initialize_by_names10595 acts as insert into a global set of scope names10596Types::AlertManagement::SeverityEnum10597 is expected to eq "AlertManagementSeverity"10598 exposes all the severity values10599Gitlab::GrapeLogging::Loggers::FilterParameters10600 .parameters10601 when the log_safety setting is provided10602 includes safe parameters, and filters unsafe ones10603 when the log_safety is not provided10604 behaves like the normal parameter filter10605Gitlab::Usage::Metrics::Instrumentations::LdapEncryptedSecretsMetric10606 ldap_encrypted_secrets_enabled: false, expected_value: false10607 behaves like a correct instrumented metric value10608 has correct value10609 ldap_encrypted_secrets_enabled: true, expected_value: true10610 behaves like a correct instrumented metric value10611 has correct value10612Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies::None10613 #schedule10614 yields without checking for duplicates10615 #perform10616 does not delete any locks before executing10617Gitlab::Usage::Metrics::Instrumentations::CountCiRunnersInstanceTypeActiveMetric10618 behaves like a correct instrumented metric value10619 has correct value10620Gitlab::Middleware::SidekiqWebStatic10621 #call10622 with an /admin/sidekiq route10623 deletes the HTTP_X_SENDFILE_TYPE header10624 with some static asset route10625 keeps the HTTP_X_SENDFILE_TYPE header10626Types::MergeRequests::MergeabilityCheckType10627 is expected to have graphql fields :identifier and :status10628 is expected to eq "MergeRequestMergeabilityCheck"10629RuboCop::Cop::Migration::RemoveIndex10630 when in migration10631 registers an offense when remove_index is used10632 when outside of migration10633 registers no offense10634Types::Packages::Conan::MetadatumType10635 includes conan metadatum fields10636notify/new_achievement_email.html.haml10637 contains achievement information10638Gitlab::GithubImport::ImportProtectedBranchWorker10639 #import10640 imports protected branch rule10641Gitlab::Search::FoundWikiPage10642 policy10643 works with policy10644Gitlab::Ci::Config::Entry::Includes10645 #initialize10646 does not increase aspects10647TodosDestroyer::EntityLeaveWorker10648 calls the Todos::Destroy::EntityLeaveService with the params it was given10649Types::Packages::Composer::MetadatumType10650 includes composer metadatum fields10651Gitlab::GithubImport::PullRequests::ImportReviewRequestWorker10652 #import10653 imports an pull request review requests10654UpdateContainerRegistryInfoWorker10655 #perform10656 calls UpdateContainerRegistryInfoService10657Types::Ci::AnalyticsType10658 exposes the expected fields10659Sidebars::UncategorizedMenu10660 has title and sprite_icon10661Types::Packages::Maven::MetadatumType10662 includes maven metadatum fields10663auto_explain log contains 1697 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-22-24.337.main.ndjson.gz10664took 25.35750751410665auto_explain log contains 1698 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-unit-pg14-22-24.337.ci.ndjson.gz10666took 24.87887508510667Knapsack report was generated. Preview:10669 "spec/scripts/lib/glfm/update_example_snapshots_spec.rb": 293.690883839,10670 "spec/lib/gitlab/asciidoc_spec.rb": 242.37897689999977,10671 "spec/models/clusters/platforms/kubernetes_spec.rb": 171.48577182300005,10672 "spec/lib/gitlab/usage_data_counters/ci_template_unique_counter_spec.rb": 33.299788468000315,10673 "spec/models/concerns/mentionable_spec.rb": 95.57785275100014,10674 "spec/finders/issues_finder_spec.rb": 53.31686849899961,10675 "spec/lib/gitlab/database/query_analyzers/prevent_set_operator_mismatch/select_stmt_spec.rb": 34.869591050000054,10676 "spec/models/release_highlight_spec.rb": 67.52279437900006,10677 "spec/lib/object_storage/direct_upload_spec.rb": 29.527537676000065,10678 "spec/services/ci/retry_pipeline_service_spec.rb": 40.119170765000035,10679 "spec/lib/gitlab/auth/auth_finders_spec.rb": 9.773004585999843,10680 "spec/finders/cluster_ancestors_finder_spec.rb": 40.70608273900007,10681 "spec/models/resource_milestone_event_spec.rb": 29.93831125199995,10682 "spec/models/alert_management/alert_spec.rb": 9.829738073000044,10683 "spec/validators/addressable_url_validator_spec.rb": 27.052583455999866,10684 "spec/services/deployments/create_for_job_service_spec.rb": 27.25379969000005,10685 "spec/models/concerns/avatarable_spec.rb": 20.766689456999757,10686 "spec/lib/gitlab/ci/build/prerequisite/kubernetes_namespace_spec.rb": 26.3819729490001,10687 "spec/models/concerns/require_email_verification_spec.rb": 7.669157950999761,10688 "spec/models/label_spec.rb": 17.992121185000087,10689 "spec/lib/gitlab/utils/usage_data_spec.rb": 7.638568082999882,10690 "spec/lib/gitlab/tree_summary_spec.rb": 18.707057577999876,10691 "spec/services/push_event_payload_service_spec.rb": 15.542154625999956,10692 "spec/lib/gitlab/database/tables_truncate_spec.rb": 17.44624220700007,10693 "spec/services/members/groups/creator_service_spec.rb": 16.65448652899977,10694 "spec/lib/banzai/reference_parser/user_parser_spec.rb": 16.285943466999925,10695 "spec/models/integrations/telegram_spec.rb": 11.780614120000337,10696 "spec/uploaders/packages/debian/component_file_uploader_spec.rb": 11.99377017300003,10697 "spec/lib/gitlab/diff/file_collection/paginated_merge_request_diff_spec.rb": 15.037786364000112,10698 "spec/serializers/merge_request_poll_cached_widget_entity_spec.rb": 12.776150682000207,10699 "spec/lib/gitlab/ci/lint_spec.rb": 11.58583368499967,10700 "spec/lib/api/entities/user_spec.rb": 11.138204019000113,10701 "spec/services/issues/build_service_spec.rb": 12.532866121000097,10702 "spec/services/clusters/create_service_spec.rb": 14.061567520999688,10703 "spec/lib/gitlab/json_spec.rb": 2.5905305299997963,10704 "spec/views/notify/pipeline_success_email.text.erb_spec.rb": 14.995555043999957,10705 "spec/presenters/ci/pipeline_presenter_spec.rb": 6.240668423999978,10706 "spec/models/ci/build_metadata_spec.rb": 6.901156535999689,10707 "spec/lib/gitlab/ci/config/entry/need_spec.rb": 2.5261855160001687,10708 "spec/lib/gitlab/legacy_github_import/pull_request_formatter_spec.rb": 6.514715167999839,10709 "spec/helpers/appearances_helper_spec.rb": 6.885110528000041,10710 "spec/services/projects/protect_default_branch_service_spec.rb": 8.351038873000107,10711 "spec/uploaders/ci/pipeline_artifact_uploader_spec.rb": 7.753957937999985,10712 "spec/services/ci/list_config_variables_service_spec.rb": 11.822549564999917,10713 "spec/models/concerns/discussion_on_diff_spec.rb": 9.657793558999856,10714 "spec/bin/audit_event_type_spec.rb": 2.612236360999759,10715 "spec/services/quick_actions/target_service_spec.rb": 8.90791923200004,10716 "spec/lib/bulk_imports/projects/pipelines/design_bundle_pipeline_spec.rb": 8.103501929000231,10717 "spec/lib/gitlab/database/partitioning/list/convert_table_spec.rb": 6.603874651999831,10718 "spec/lib/gitlab/import_export/merge_request_parser_spec.rb": 10.292112201999771,10719 "spec/lib/gitlab/ci/templates/AWS/deploy_ecs_gitlab_ci_yaml_spec.rb": 10.382255938000071,10720 "spec/services/projects/git_deduplication_service_spec.rb": 8.863926894000087,10721 "spec/models/analytics/cycle_analytics/aggregation_spec.rb": 4.379219779999858,10722 "spec/workers/packages/nuget/extraction_worker_spec.rb": 8.549300063000373,10723 "spec/serializers/environment_status_entity_spec.rb": 5.265380839000045,10724 "spec/tasks/rubocop_rake_spec.rb": 7.429924786000356,10725 "spec/presenters/project_member_presenter_spec.rb": 5.613116600000012,10726 "spec/lib/gitlab/ci/status/external/common_spec.rb": 8.533127882999906,10727 "spec/models/ci/external_pull_request_spec.rb": 5.711468114000127,10728 "spec/lib/banzai/filter/broadcast_message_sanitization_filter_spec.rb": 3.6092354239999622,10729 "spec/lib/gitlab/github_import/representation/diff_note_spec.rb": 1.400028779999957,10730 "spec/services/environments/schedule_to_delete_review_apps_service_spec.rb": 6.331763529,10731 "spec/lib/gitlab/gitaly_client/blob_service_spec.rb": 5.525734783999724,10732 "spec/config/object_store_settings_spec.rb": 1.3460460930000409,10733 "spec/services/award_emojis/add_service_spec.rb": 6.934427413999856,10734 "spec/graphql/resolvers/group_packages_resolver_spec.rb": 3.303511391000029,10735 "spec/models/protectable_dropdown_spec.rb": 5.784552029999759,10736 "spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb": 3.62342621300013,10737 "spec/services/personal_access_tokens/create_service_spec.rb": 3.220237094999902,10738 "spec/lib/banzai/filter/table_of_contents_filter_spec.rb": 1.0102634819995728,10739 "spec/lib/gitlab/import_export/file_importer_spec.rb": 3.020676806999745,10740 "spec/lib/gitlab/exclusive_lease_spec.rb": 3.752344745999835,10741 "spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb": 4.2473800570001,10742 "spec/lib/gitlab/diff/suggestions_parser_spec.rb": 5.307969345999936,10743 "spec/services/ci/pipeline_schedules/create_service_spec.rb": 2.9174447039999905,10744 "spec/services/notes/post_process_service_spec.rb": 5.80601304899983,10745 "spec/serializers/discussion_entity_spec.rb": 4.599470366999867,10746 "spec/services/work_items/task_list_reference_replacement_service_spec.rb": 3.2705875440001364,10747 "spec/lib/gitlab/error_tracking/processor/sidekiq_processor_spec.rb": 1.0731857079999827,10748 "spec/lib/gitlab/ci/pipeline_object_hierarchy_spec.rb": 4.400070678999782,10749 "spec/serializers/import/github_failure_entity_spec.rb": 0.906009217999781,10750 "spec/services/projects/download_service_spec.rb": 3.611118463999901,10751 "spec/models/prometheus_alert_event_spec.rb": 2.3591187659999378,10752 "spec/models/ci/running_build_spec.rb": 3.3705081980001523,10753 "spec/lib/gitlab/ci/pipeline/chain/evaluate_workflow_rules_spec.rb": 3.9155322169999636,10754 "spec/lib/gitlab/ci/runner_instructions_spec.rb": 0.9908190030000696,10755 "spec/lib/sidebars/groups/menus/settings_menu_spec.rb": 1.9587253479999163,10756 "spec/initializers/00_deprecations_spec.rb": 0.9882281640002475,10757 "spec/services/security/ci_configuration/container_scanning_create_service_spec.rb": 3.5369601779998447,10758 "spec/workers/reactive_caching_worker_spec.rb": 4.167258512999979,10759 "spec/lib/error_tracking/sentry_client/projects_spec.rb": 1.058239120000053,10760 "spec/services/ci/update_instance_variables_service_spec.rb": 1.7153593819998605,10761 "spec/lib/gitlab/ci/runner_releases_spec.rb": 1.0455936110001858,10762 "spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_deployed_to_production_spec.rb": 1.790982707999774,10763 "spec/serializers/entity_date_helper_spec.rb": 0.8422588720000022,10764 "spec/models/ci/runner_namespace_spec.rb": 3.5476004480001393,10765 "spec/lib/sbom/package_url/encoder_spec.rb": 1.2237427099998968,10766 "spec/workers/every_sidekiq_worker_spec.rb": 1.2484072789998208,10767 "spec/services/gpg_keys/destroy_service_spec.rb": 4.596079537999685,10768 "spec/models/loose_foreign_keys/deleted_record_spec.rb": 1.3372653639999044,10769 "spec/models/namespace_statistics_spec.rb": 1.4148589389997142,10770 "spec/services/ci/job_token_scope/remove_project_service_spec.rb": 2.3569563760001984,10771 "spec/lib/gitlab/utils/username_and_email_generator_spec.rb": 1.6219399480000902,10772 "spec/lib/gitlab/wiki_pages/front_matter_parser_spec.rb": 0.9354844959998445,10773 "spec/lib/gitlab/api_authentication/builder_spec.rb": 0.7643941269998322,10774 "spec/tasks/gitlab/ci_secure_files/check_rake_spec.rb": 4.290554465000241,10775 "spec/helpers/award_emoji_helper_spec.rb": 2.965752590000193,10776 "spec/workers/gitlab/bitbucket_server_import/import_pull_request_worker_spec.rb": 2.198954275000233,10777 "spec/workers/new_issue_worker_spec.rb": 3.7583351650000623,10778 "spec/models/project_deploy_token_spec.rb": 2.1472360170000684,10779 "spec/workers/ci/drop_pipeline_worker_spec.rb": 3.563070196999888,10780 "spec/models/concerns/use_sql_function_for_primary_key_lookups_spec.rb": 1.8530892840003617,10781 "spec/services/jira_import/cloud_users_mapper_service_spec.rb": 3.49496783099994,10782 "spec/lib/gitlab/ci/config/entry/product/matrix_spec.rb": 0.9283083059999626,10783 "spec/tasks/cache_rake_spec.rb": 4.3240568639998855,10784 "spec/views/shared/wikis/_sidebar.html.haml_spec.rb": 2.0478739029999815,10785 "spec/lib/sidebars/user_profile/menus/activity_menu_spec.rb": 0.7664819360002184,10786 "spec/views/groups/_home_panel.html.haml_spec.rb": 1.0827094279998164,10787 "spec/initializers/settings_spec.rb": 0.48468090300002586,10788 "spec/rubocop/cop/performance/readlines_each_spec.rb": 0.4166264659997978,10789 "spec/services/users/email_verification/validate_token_service_spec.rb": 1.2220223799999985,10790 "spec/services/projects/create_from_template_service_spec.rb": 2.476831749000212,10791 "spec/lib/sidebars/groups/super_sidebar_panel_spec.rb": 2.1899097450000227,10792 "spec/services/merge_requests/update_reviewer_state_service_spec.rb": 2.4709178890002477,10793 "spec/lib/gitlab/database_warnings_spec.rb": 0.43000445600000603,10794 "spec/services/todos/allowed_target_filter_service_spec.rb": 2.7587558730001547,10795 "spec/services/ide/terminal_config_service_spec.rb": 1.2171967809999842,10796 "spec/models/concerns/ignorable_columns_spec.rb": 0.5237869610000416,10797 "spec/lib/gitlab/terraform_registry_token_spec.rb": 1.1187097160000121,10798 "spec/models/packages/go/module_spec.rb": 1.6585019050003211,10799 "spec/lib/gitlab/ci/parsers/sbom/validators/cyclonedx_schema_validator_spec.rb": 0.5244597400001112,10800 "spec/services/ml/experiment_tracking/experiment_repository_spec.rb": 1.2538666890000059,10801 "spec/lib/gitlab/usage/metrics/instrumentations/distinct_count_projects_with_expiration_policy_metric_spec.rb": 1.8479070150001462,10802 "spec/graphql/mutations/issues/link_alerts_spec.rb": 2.0385093039999447,10803 "spec/serializers/ci/dag_job_group_entity_spec.rb": 1.0284975909999048,10804 "spec/lib/gitlab/ci/trace/section_parser_spec.rb": 0.38593867800000226,10805 "spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_total_metric_spec.rb": 2.339905756999997,10806 "spec/graphql/mutations/container_repositories/destroy_spec.rb": 1.406715949000045,10807 "spec/services/packages/conan/create_package_service_spec.rb": 1.2506086890002734,10808 "spec/graphql/resolvers/crm/organizations_resolver_spec.rb": 1.8657475230002092,10809 "spec/services/x509_certificate_revoke_service_spec.rb": 3.0856134949999614,10810 "spec/services/packages/go/sync_packages_service_spec.rb": 1.448106198000005,10811 "spec/workers/work_items/import_work_items_csv_worker_spec.rb": 1.6961159329998736,10812 "spec/policies/incident_management/timeline_event_policy_spec.rb": 2.092152231,10813 "spec/graphql/resolvers/ci/runner_job_count_resolver_spec.rb": 1.2695849970000381,10814 "spec/lib/gitlab/url_blockers/ip_allowlist_entry_spec.rb": 0.5104112510002778,10815 "spec/initializers/carrierwave_performance_patch_spec.rb": 0.40905070600001636,10816 "spec/workers/object_pool/destroy_worker_spec.rb": 1.382922330999918,10817 "spec/scripts/pipeline_test_report_builder_spec.rb": 0.4757174430001214,10818 "spec/workers/gitlab/github_import/stage/import_issue_events_worker_spec.rb": 2.030280703999779,10819 "spec/support_specs/helpers/stub_method_calls_spec.rb": 0.414852695999798,10820 "spec/workers/database/lock_tables_worker_spec.rb": 0.7797964760002287,10821 "spec/rubocop/cop/migration/complex_indexes_require_name_spec.rb": 0.33690939099960815,10822 "spec/lib/gitlab/service_desk_spec.rb": 0.6144699050000781,10823 "spec/lib/generators/gitlab/usage_metric_definition_generator_spec.rb": 0.700142870000036,10824 "spec/services/merge_requests/execute_approval_hooks_service_spec.rb": 1.973939737999899,10825 "spec/models/aws/role_spec.rb": 0.7642919360000633,10826 "spec/workers/migrate_external_diffs_worker_spec.rb": 1.7856283779997284,10827 "spec/lib/api/entities/merge_request_changes_spec.rb": 1.3763937310000074,10828 "spec/lib/gitlab/alert_management/payload_spec.rb": 0.3677152189998196,10829 "spec/services/integrations/slack_interaction_service_spec.rb": 0.27975710500004425,10830 "spec/models/application_setting/term_spec.rb": 1.0058810030000132,10831 "spec/lib/banzai/filter/inline_diff_filter_spec.rb": 0.5787586470000861,10832 "spec/lib/gitlab/diff/formatters/image_formatter_spec.rb": 0.5214896800002862,10833 "spec/lib/gitlab/import_export/base/object_builder_spec.rb": 1.8281287059999158,10834 "spec/graphql/resolvers/design_management/version_in_collection_resolver_spec.rb": 1.6318558169996322,10835 "spec/lib/gitlab/string_placeholder_replacer_spec.rb": 0.3164107319998948,10836 "spec/presenters/packages/pypi/simple_index_presenter_spec.rb": 0.9819921339999382,10837 "spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb": 1.004392972000005,10838 "spec/lib/gitlab/github_import/importer/events/closed_spec.rb": 1.9432544090000192,10839 "spec/models/clusters/agents/authorizations/ci_access/implicit_authorization_spec.rb": 0.5954313160000311,10840 "spec/lib/gitlab_settings/settings_spec.rb": 0.3695096989999911,10841 "spec/views/projects/environments/terminal.html.haml_spec.rb": 1.755041269999765,10842 "spec/lib/gitlab/ci/config/entry/release/assets/links_spec.rb": 0.32418233199996394,10843 "spec/services/clusters/integrations/create_service_spec.rb": 1.2282969790003335,10844 "spec/services/users/saved_replies/destroy_service_spec.rb": 0.9061874680000983,10845 "spec/graphql/mutations/environments/stop_spec.rb": 1.1446306040002128,10846 "spec/services/google_cloud/get_cloudsql_instances_service_spec.rb": 0.9848359729999174,10847 "spec/lib/gitlab/ci/pipeline/expression/lexeme/variable_spec.rb": 0.4785892329996386,10848 "spec/models/achievements/achievement_spec.rb": 1.0313551710000866,10849 "spec/models/project_custom_attribute_spec.rb": 0.7448951679998572,10850 "spec/support_specs/ability_check_spec.rb": 0.515241529999912,10851 "spec/lib/gitlab/qa_spec.rb": 0.3920248879999235,10852 "spec/services/protected_tags/update_service_spec.rb": 1.5322572919999402,10853 "spec/views/layouts/_page.html.haml_spec.rb": 1.1125184170000466,10854 "spec/lib/gitlab/graphql/negatable_arguments_spec.rb": 0.25069334599993454,10855 "spec/tooling/danger/customer_success_spec.rb": 0.4352596649996485,10856 "spec/services/ci/change_variable_service_spec.rb": 1.4815263149998827,10857 "spec/lib/gitlab/instrumentation/redis_spec.rb": 0.49253596200014726,10858 "spec/lib/gitlab/graphql/known_operations_spec.rb": 0.47495389200003046,10859 "spec/lib/api/base_spec.rb": 0.3896786880000036,10860 "spec/lib/gitlab/github_import/parallel_importer_spec.rb": 0.9785341440001503,10861 "spec/lib/gitlab/rack_attack/store_spec.rb": 0.447373295000034,10862 "spec/lib/gitlab/ci/variables/builder/release_spec.rb": 0.8953285590000633,10863 "spec/lib/security/ci_configuration/secret_detection_build_action_spec.rb": 0.3920972780001648,10864 "spec/finders/user_groups_counter_spec.rb": 1.370379112000137,10865 "spec/tooling/danger/sidekiq_queues_spec.rb": 0.41239471700009744,10866 "spec/models/concerns/legacy_bulk_insert_spec.rb": 0.3984944170001654,10867 "spec/graphql/resolvers/projects/fork_targets_resolver_spec.rb": 1.573317809999935,10868 "spec/lib/gitlab/ci/status/running_spec.rb": 0.3049962320001214,10869 "spec/workers/projects/schedule_refresh_build_artifacts_size_statistics_worker_spec.rb": 0.41867225699979826,10870 "spec/lib/gitlab/conan_token_spec.rb": 0.327573800999744,10871 "spec/graphql/types/container_expiration_policy_type_spec.rb": 0.3850851780002813,10872 "spec/workers/packages/composer/cache_update_worker_spec.rb": 0.9690023539997128,10873 "spec/services/issuable/import_csv/base_service_spec.rb": 0.8436473819997445,10874 "spec/services/ci/build_cancel_service_spec.rb": 1.0840449080001235,10875 "spec/lib/gitlab/ci/build/prerequisite/factory_spec.rb": 1.2436345189998974,10876 "spec/lib/gitlab/usage_data_counters/container_registry_event_counter_spec.rb": 0.30087085300010585,10877 "spec/workers/gitlab/bitbucket_import/stage/finish_import_worker_spec.rb": 0.6218174840000756,10878 "spec/serializers/rollout_status_entity_spec.rb": 0.37636967800017374,10879 "spec/finders/vs_code/settings/settings_finder_spec.rb": 0.45616593400018246,10880 "spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb": 0.8506323520000478,10881 "spec/lib/gitlab/word_diff/segments/chunk_spec.rb": 0.3313670410002487,10882 "spec/models/ml/candidate_metric_spec.rb": 0.8106436930002019,10883 "spec/lib/sidebars/projects/menus/wiki_menu_spec.rb": 0.35756520000040837,10884 "spec/graphql/types/container_respository_tags_sort_enum_spec.rb": 0.1779276300003403,10885 "spec/workers/disallow_two_factor_for_group_worker_spec.rb": 0.6499467630001163,10886 "spec/serializers/import/provider_repo_serializer_spec.rb": 0.32076809199998024,10887 "spec/models/users/saved_reply_spec.rb": 0.4228639859998111,10888 "spec/uploaders/favicon_uploader_spec.rb": 0.539721229999941,10889 "spec/serializers/serverless/domain_entity_spec.rb": 0.31802455099978033,10890 "spec/lib/api/entities/issue_spec.rb": 0.6848919310000383,10891 "spec/graphql/types/label_type_spec.rb": 0.18672020899975905,10892 "spec/lib/gitlab/bitbucket_import/importers/pull_requests_notes_importer_spec.rb": 0.7501996870000767,10893 "spec/tooling/danger/database_spec.rb": 0.3396405810003671,10894 "spec/models/work_items/widgets/notes_spec.rb": 0.5616786780001348,10895 "spec/validators/rsa_key_validator_spec.rb": 0.18901341900027546,10896 "spec/support_specs/capybara_slow_finder_spec.rb": 0.28569719400002214,10897 "spec/serializers/codequality_degradation_entity_spec.rb": 0.2502748350002548,10898 "spec/lib/gitlab/slash_commands/incident_management/incident_new_spec.rb": 0.6479587539997738,10899 "spec/lib/gitlab/query_limiting/middleware_spec.rb": 0.2640177049997874,10900 "spec/lib/gitlab/database/migrations/lock_retries_helpers_spec.rb": 0.2726443350002228,10901 "spec/services/google_cloud/enable_vision_ai_service_spec.rb": 0.7789652550000028,10902 "spec/models/releases/source_spec.rb": 0.697710761000053,10903 "spec/graphql/types/kas/agent_connection_type_spec.rb": 0.2540610249998281,10904 "spec/lib/gitlab/config/entry/validator_spec.rb": 0.25346016500043334,10905 "spec/lib/gitlab/puma_logging/json_formatter_spec.rb": 0.159266991000095,10906 "spec/models/gpg_key_subkey_spec.rb": 0.2904228040001726,10907 "spec/services/groups/deploy_tokens/revoke_service_spec.rb": 0.3798066579997794,10908 "spec/lib/pager_duty/webhook_payload_parser_spec.rb": 0.4151276570000846,10909 "spec/validators/web_hooks/wildcard_branch_filter_validator_spec.rb": 0.3336718909999945,10910 "spec/finders/packages/pipelines_finder_spec.rb": 0.5012449920000108,10911 "spec/models/license_template_spec.rb": 0.21561583799984874,10912 "spec/lib/api/entities/bulk_imports/export_status_spec.rb": 0.3822468769999432,10913 "spec/serializers/test_reports_comparer_serializer_spec.rb": 0.2759365639999487,10914 "spec/config/smime_signature_settings_spec.rb": 0.24704561599992303,10915 "spec/graphql/types/custom_emoji_type_spec.rb": 0.25575608500003,10916 "spec/serializers/analytics_build_serializer_spec.rb": 0.6414772230000381,10917 "spec/lib/banzai/pipeline/quick_action_pipeline_spec.rb": 0.29333305299996937,10918 "spec/serializers/analytics_merge_request_serializer_spec.rb": 0.5495836779996353,10919 "spec/lib/gitlab/usage/metrics/instrumentations/omniauth_enabled_metric_spec.rb": 0.17634110000017245,10920 "spec/workers/users/create_statistics_worker_spec.rb": 0.4169268759997067,10921 "spec/lib/gitlab/memory/watchdog/monitor/unique_memory_growth_spec.rb": 0.25747872600004484,10922 "spec/lib/api/entities/clusters/agent_spec.rb": 0.480304531999991,10923 "spec/lib/api/entities/projects/topic_spec.rb": 0.2238959569999679,10924 "spec/lib/gitlab/database/grant_spec.rb": 0.19705700899976364,10925 "spec/services/import/gitlab_projects/file_acquisition_strategies/file_upload_spec.rb": 0.20776876800027821,10926 "spec/workers/gitlab/github_import/attachments/import_note_worker_spec.rb": 0.5272911100000783,10927 "spec/serializers/integrations/harbor_serializers/artifact_entity_spec.rb": 0.5258881299996574,10928 "spec/lib/api/entities/group_detail_spec.rb": 0.3379412509998474,10929 "spec/lib/gitlab/repository_archive_rate_limiter_spec.rb": 0.21899841699996614,10930 "spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb": 0.2371872369999437,10931 "spec/helpers/ssh_keys_helper_spec.rb": 0.19631540899990796,10932 "spec/workers/file_hook_worker_spec.rb": 0.18837771900007283,10933 "spec/graphql/types/ci/runner_type_spec.rb": 0.22288945699983742,10934 "spec/lib/sidebars/groups/super_sidebar_menus/operations_menu_spec.rb": 0.19192109899995557,10935 "spec/lib/gitlab/usage/metrics/instrumentations/collected_data_categories_metric_spec.rb": 0.16026280100004442,10936 "spec/models/integrations/slack_workspace/api_scope_spec.rb": 0.22447385700024824,10937 "spec/graphql/types/alert_management/severity_enum_spec.rb": 0.1912996790001671,10938 "spec/lib/gitlab/grape_logging/loggers/filter_parameters_spec.rb": 0.1874120400002539,10939 "spec/lib/gitlab/usage/metrics/instrumentations/ldap_encrypted_secrets_metric_spec.rb": 0.2500161759999173,10940 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/none_spec.rb": 0.19601790900014748,10941 "spec/lib/gitlab/usage/metrics/instrumentations/count_ci_runners_instance_type_active_metric_spec.rb": 0.23860293699999602,10942 "spec/lib/gitlab/middleware/sidekiq_web_static_spec.rb": 0.21720973800029242,10943 "spec/graphql/types/merge_requests/mergeability_check_type_spec.rb": 0.2018323990000681,10944 "spec/rubocop/cop/migration/remove_index_spec.rb": 0.2031134280000515,10945 "spec/graphql/types/packages/conan/metadatum_type_spec.rb": 0.15376189100015836,10946 "spec/views/notify/new_achievement_email.html.haml_spec.rb": 0.2529627049998453,10947 "spec/workers/gitlab/github_import/import_protected_branch_worker_spec.rb": 0.17669546099978106,10948 "spec/lib/gitlab/search/found_wiki_page_spec.rb": 0.18671798900004433,10949 "spec/lib/gitlab/ci/config/entry/includes_spec.rb": 0.15901034000034997,10950 "spec/workers/todos_destroyer/entity_leave_worker_spec.rb": 0.15872028100011448,10951 "spec/graphql/types/packages/composer/metadatum_type_spec.rb": 0.16028103000007832,10952 "spec/workers/gitlab/github_import/pull_requests/import_review_request_worker_spec.rb": 0.18525208899973222,10953 "spec/workers/update_container_registry_info_worker_spec.rb": 0.15651706100015872,10954 "spec/graphql/types/ci/analytics_type_spec.rb": 0.15648979100024007,10955 "spec/lib/sidebars/uncategorized_menu_spec.rb": 0.16339709099975153,10956 "spec/graphql/types/packages/maven/metadatum_type_spec.rb": 0.1629920700002003310958Knapsack global time execution for tests: 32m 22s10959Pending: (Failures listed here are expected and do not affect your suite's status)10960 1) Gitlab::Database::QueryAnalyzers::PreventSetOperatorMismatch::SelectStmt with lateral join 10961 # Not yet implemented10962 # ./spec/lib/gitlab/database/query_analyzers/prevent_set_operator_mismatch/select_stmt_spec.rb:34010963 2) Gitlab::Database::TablesTruncate#needs_truncation? when running in a single database mode 10964 # Skipping because some of the extra databases [:ci] are setup10965 # ./spec/lib/gitlab/database/tables_truncate_spec.rb:36110966 3) Gitlab::Database::TablesTruncate when running in a single database mode raises an error when truncating the main database that it is a single database setup10967 # Skipping because some of the extra databases [:ci] are setup10968 # ./spec/lib/gitlab/database/tables_truncate_spec.rb:33810969 4) Gitlab::Database::TablesTruncate when running in a single database mode raises an error when truncating the ci database that it is a single database setup10970 # Skipping because some of the extra databases [:ci] are setup10971 # ./spec/lib/gitlab/database/tables_truncate_spec.rb:34410972 5) Gitlab::Database::TablesTruncate when running with multiple shared databases raises an error when truncating the main database that it is a single database setup10973 # Skipping because database ci exists10974 # ./spec/lib/gitlab/database/tables_truncate_spec.rb:32010975 6) Gitlab::Database::TablesTruncate when running with multiple shared databases raises an error when truncating the ci database that it is a single database setup10976 # Skipping because database ci exists10977 # ./spec/lib/gitlab/database/tables_truncate_spec.rb:32610978 7) Gitlab::Database::TablesTruncate when truncating gitlab_ci tables on the main database behaves like truncating legacy tables on a database when the truncated tables are locked for writes when one of the attached partitions happened to be locked for writes truncates the locked partition successfully10979 # No reason given10980 # ./spec/lib/gitlab/database/tables_truncate_spec.rb:25210981 8) Gitlab::Database::TablesTruncate when truncating gitlab_ci tables on the main database behaves like truncating legacy tables on a database when the truncated tables are locked for writes with geo configured does not truncate gitlab_geo tables10982 # No reason given10983 # ./spec/lib/gitlab/database/tables_truncate_spec.rb:26810984 9) Gitlab::Database::TablesTruncate when truncating gitlab_main tables on the ci database behaves like truncating legacy tables on a database when the truncated tables are locked for writes with geo configured does not truncate gitlab_geo tables10985 # No reason given10986 # ./spec/lib/gitlab/database/tables_truncate_spec.rb:26810987 10) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile behaves like builds correct paths #upload_path behaves like matches the method pattern 10988 # No pattern provided, skipping.10989 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810990 11) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile behaves like builds correct paths #relative_path is relative10991 # Path not set, skipping.10992 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4010993 12) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile behaves like builds correct paths .absolute_path behaves like matches the method pattern 10994 # No pattern provided, skipping.10995 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810996 13) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile behaves like builds correct paths .base_dir behaves like matches the method pattern 10997 # No pattern provided, skipping.10998 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810999 14) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 11000 # No pattern provided, skipping.11001 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811002 15) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile object store is remote behaves like builds correct paths #relative_path is relative11003 # Path not set, skipping.11004 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4011005 16) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 11006 # No pattern provided, skipping.11007 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811008 17) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 11009 # No pattern provided, skipping.11010 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811011 18) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile behaves like builds correct paths #upload_path behaves like matches the method pattern 11012 # No pattern provided, skipping.11013 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811014 19) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile behaves like builds correct paths #relative_path is relative11015 # Path not set, skipping.11016 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4011017 20) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile behaves like builds correct paths .absolute_path behaves like matches the method pattern 11018 # No pattern provided, skipping.11019 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811020 21) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile behaves like builds correct paths .base_dir behaves like matches the method pattern 11021 # No pattern provided, skipping.11022 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811023 22) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 11024 # No pattern provided, skipping.11025 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811026 23) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile object store is remote behaves like builds correct paths #relative_path is relative11027 # Path not set, skipping.11028 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4011029 24) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 11030 # No pattern provided, skipping.11031 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811032 25) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 11033 # No pattern provided, skipping.11034 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811035 26) Ci::PipelineArtifactUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 11036 # No pattern provided, skipping.11037 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811038 27) Ci::PipelineArtifactUploader behaves like builds correct paths #relative_path is relative11039 # Path not set, skipping.11040 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4011041 28) Ci::PipelineArtifactUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 11042 # No pattern provided, skipping.11043 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811044 29) Ci::PipelineArtifactUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 11045 # No pattern provided, skipping.11046 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811047 30) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 11048 # No pattern provided, skipping.11049 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811050 31) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 11051 # No pattern provided, skipping.11052 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811053 32) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #upload_path behaves like matches the method pattern 11054 # No pattern provided, skipping.11055 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811056 33) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #relative_path is relative11057 # Path not set, skipping.11058 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4011059 34) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 11060 # No pattern provided, skipping.11061 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811062 35) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 11063 # No pattern provided, skipping.11064 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:811065 36) Database::LockTablesWorker#perform when running with single database skips executing the job11066 # Skipping because database ci exists11067 # ./spec/workers/database/lock_tables_worker_spec.rb:1711068 37) Gitlab::Graphql::NegatableArguments#negated defines all arguments passed as block even if called multiple times11069 # Temporarily skipped with xit11070 # ./spec/lib/gitlab/graphql/negatable_arguments_spec.rb:3011071Finished in 33 minutes 17 seconds (files took 42.07 seconds to load)110724768 examples, 0 failures, 37 pending11073Randomized with seed 5890811074[TEST PROF INFO] Time spent in factories: 12:38.721 (37.83% of total time)11075RSpec exited with 0.11076No examples to retry, congrats!11078Running after script...11079$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"11087$ tooling/bin/push_job_metrics || true11088[job-metrics] Pushing job metrics file for the CI/CD job.11089[job-metrics] Pushed 4 CI job metric entries to InfluxDB.11091Not uploading cache ruby-gems-debian-bullseye-ruby-3.1-16 due to policy11093Uploading artifacts...11094auto_explain/: found 7 matching artifact files and directories 11095coverage/: found 5 matching artifact files and directories 11096crystalball/: found 2 matching artifact files and directories 11097WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 11098knapsack/: found 4 matching artifact files and directories 11099rspec/: found 16 matching artifact files and directories 11100WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 11101log/*.log: found 19 matching artifact files and directories 11102WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/5597251267/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com11103WARNING: Retrying... context=artifacts-uploader error=request redirected11104Uploading artifacts as "archive" to coordinator... 201 Created id=5597251267 responseStatus=201 Created token=64_2w62j11105Uploading artifacts...11106rspec/rspec-*.xml: found 1 matching artifact files and directories 11107WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/5597251267/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com11108WARNING: Retrying... context=artifacts-uploader error=request redirected11109Uploading artifacts as "junit" to coordinator... 201 Created id=5597251267 responseStatus=201 Created token=64_2w62j11111Job succeeded