From a8281ac43424e4b820286823bdb48f068b21d7d3 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 11 Jan 2022 15:15:55 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../oauth/token_info_controller_spec.rb | 24 +++++----- spec/factories/clusters/agent_tokens.rb | 4 ++ .../features/issues/user_comments_on_issue_spec.rb | 1 + spec/features/markdown/mermaid_spec.rb | 4 ++ spec/features/markdown/sandboxed_mermaid_spec.rb | 32 +++++++++++++ .../clusters/agent_tokens_resolver_spec.rb | 9 ++++ .../resolvers/concerns/resolves_pipelines_spec.rb | 20 ++------ .../types/clusters/agent_token_status_enum_spec.rb | 8 ++++ spec/lib/backup/manager_spec.rb | 6 +-- spec/lib/backup/object_backup_spec.rb | 36 +++++++++++++++ spec/lib/backup/terraform_state_spec.rb | 27 ----------- .../content_security_policy/config_loader_spec.rb | 6 +-- spec/lib/gitlab/usage_data_spec.rb | 7 +-- spec/models/ci/runner_spec.rb | 2 +- spec/models/clusters/agent_token_spec.rb | 16 +++++-- spec/models/namespace_setting_spec.rb | 53 ---------------------- spec/requests/sandbox_controller_spec.rb | 14 ++++++ spec/routing/routing_spec.rb | 6 +++ .../cross-database-modification-allowlist.yml | 1 - spec/support/helpers/test_env.rb | 5 ++ spec/tasks/gitlab/backup_rake_spec.rb | 20 +++++--- 21 files changed, 171 insertions(+), 130 deletions(-) create mode 100644 spec/features/markdown/sandboxed_mermaid_spec.rb create mode 100644 spec/graphql/types/clusters/agent_token_status_enum_spec.rb create mode 100644 spec/lib/backup/object_backup_spec.rb delete mode 100644 spec/lib/backup/terraform_state_spec.rb create mode 100644 spec/requests/sandbox_controller_spec.rb (limited to 'spec') diff --git a/spec/controllers/oauth/token_info_controller_spec.rb b/spec/controllers/oauth/token_info_controller_spec.rb index 6d01a534673..b66fff4d4e9 100644 --- a/spec/controllers/oauth/token_info_controller_spec.rb +++ b/spec/controllers/oauth/token_info_controller_spec.rb @@ -5,11 +5,11 @@ require 'spec_helper' RSpec.describe Oauth::TokenInfoController do describe '#show' do context 'when the user is not authenticated' do - it 'responds with a 400' do + it 'responds with a 401' do get :show - expect(response).to have_gitlab_http_status(:bad_request) - expect(Gitlab::Json.parse(response.body)).to include('error' => 'invalid_request') + expect(response).to have_gitlab_http_status(:unauthorized) + expect(Gitlab::Json.parse(response.body)).to include('error' => 'invalid_token') end end @@ -36,11 +36,11 @@ RSpec.describe Oauth::TokenInfoController do end context 'when the doorkeeper_token is not recognised' do - it 'responds with a 400' do + it 'responds with a 401' do get :show, params: { access_token: 'unknown_token' } - expect(response).to have_gitlab_http_status(:bad_request) - expect(Gitlab::Json.parse(response.body)).to include('error' => 'invalid_request') + expect(response).to have_gitlab_http_status(:unauthorized) + expect(Gitlab::Json.parse(response.body)).to include('error' => 'invalid_token') end end @@ -49,22 +49,22 @@ RSpec.describe Oauth::TokenInfoController do create(:oauth_access_token, created_at: 2.days.ago, expires_in: 10.minutes) end - it 'responds with a 400' do + it 'responds with a 401' do get :show, params: { access_token: access_token.token } - expect(response).to have_gitlab_http_status(:bad_request) - expect(Gitlab::Json.parse(response.body)).to include('error' => 'invalid_request') + expect(response).to have_gitlab_http_status(:unauthorized) + expect(Gitlab::Json.parse(response.body)).to include('error' => 'invalid_token') end end context 'when the token is revoked' do let(:access_token) { create(:oauth_access_token, revoked_at: 2.days.ago) } - it 'responds with a 400' do + it 'responds with a 401' do get :show, params: { access_token: access_token.token } - expect(response).to have_gitlab_http_status(:bad_request) - expect(Gitlab::Json.parse(response.body)).to include('error' => 'invalid_request') + expect(response).to have_gitlab_http_status(:unauthorized) + expect(Gitlab::Json.parse(response.body)).to include('error' => 'invalid_token') end end end diff --git a/spec/factories/clusters/agent_tokens.rb b/spec/factories/clusters/agent_tokens.rb index c49d197c3cd..03f765123db 100644 --- a/spec/factories/clusters/agent_tokens.rb +++ b/spec/factories/clusters/agent_tokens.rb @@ -7,5 +7,9 @@ FactoryBot.define do token_encrypted { Gitlab::CryptoHelper.aes256_gcm_encrypt(SecureRandom.hex(50)) } sequence(:name) { |n| "agent-token-#{n}" } + + trait :revoked do + status { :revoked } + end end end diff --git a/spec/features/issues/user_comments_on_issue_spec.rb b/spec/features/issues/user_comments_on_issue_spec.rb index 09d3ad15641..fc1146bde5e 100644 --- a/spec/features/issues/user_comments_on_issue_spec.rb +++ b/spec/features/issues/user_comments_on_issue_spec.rb @@ -11,6 +11,7 @@ RSpec.describe "User comments on issue", :js do before do stub_feature_flags(tribute_autocomplete: false) + stub_feature_flags(sandboxed_mermaid: false) project.add_guest(user) sign_in(user) diff --git a/spec/features/markdown/mermaid_spec.rb b/spec/features/markdown/mermaid_spec.rb index e080c7ffb3f..6a91d4e03c1 100644 --- a/spec/features/markdown/mermaid_spec.rb +++ b/spec/features/markdown/mermaid_spec.rb @@ -5,6 +5,10 @@ require 'spec_helper' RSpec.describe 'Mermaid rendering', :js do let_it_be(:project) { create(:project, :public) } + before do + stub_feature_flags(sandboxed_mermaid: false) + end + it 'renders Mermaid diagrams correctly' do description = <<~MERMAID ```mermaid diff --git a/spec/features/markdown/sandboxed_mermaid_spec.rb b/spec/features/markdown/sandboxed_mermaid_spec.rb new file mode 100644 index 00000000000..f118fb3db66 --- /dev/null +++ b/spec/features/markdown/sandboxed_mermaid_spec.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'Sandboxed Mermaid rendering', :js do + let_it_be(:project) { create(:project, :public) } + + before do + stub_feature_flags(sandboxed_mermaid: true) + end + + it 'includes mermaid frame correctly' do + description = <<~MERMAID + ```mermaid + graph TD; + A-->B; + A-->C; + B-->D; + C-->D; + ``` + MERMAID + + issue = create(:issue, project: project, description: description) + + visit project_issue_path(project, issue) + + wait_for_requests + + expected = %(