diff options
Diffstat (limited to 'spec/controllers/projects')
3 files changed, 39 insertions, 41 deletions
diff --git a/spec/controllers/projects/clusters_controller_spec.rb b/spec/controllers/projects/clusters_controller_spec.rb index 5efac44615f..ab8bfc0cabe 100644 --- a/spec/controllers/projects/clusters_controller_spec.rb +++ b/spec/controllers/projects/clusters_controller_spec.rb @@ -444,10 +444,15 @@ describe Projects::ClustersController do post :authorize_aws_role, params: params.merge(namespace_id: project.namespace, project_id: project) end + before do + allow(Clusters::Aws::FetchCredentialsService).to receive(:new) + .and_return(double(execute: double)) + end + it 'creates an Aws::Role record' do expect { go }.to change { Aws::Role.count } - expect(response.status).to eq 201 + expect(response.status).to eq 200 role = Aws::Role.last expect(role.user).to eq user @@ -477,32 +482,6 @@ describe Projects::ClustersController do end end - describe 'DELETE revoke AWS role for EKS cluster' do - let!(:role) { create(:aws_role, user: user) } - - def go - delete :revoke_aws_role, params: { namespace_id: project.namespace, project_id: project } - end - - it 'deletes the Aws::Role record' do - expect { go }.to change { Aws::Role.count } - - expect(response.status).to eq 204 - expect(user.reload_aws_role).to be_nil - end - - describe 'security' do - it { expect { go }.to be_allowed_for(:admin) } - it { expect { go }.to be_allowed_for(:owner).of(project) } - it { expect { go }.to be_allowed_for(:maintainer).of(project) } - it { expect { go }.to be_denied_for(:developer).of(project) } - it { expect { go }.to be_denied_for(:reporter).of(project) } - it { expect { go }.to be_denied_for(:guest).of(project) } - it { expect { go }.to be_denied_for(:user) } - it { expect { go }.to be_denied_for(:external) } - end - end - describe 'DELETE clear cluster cache' do let(:cluster) { create(:cluster, :project, projects: [project]) } let!(:kubernetes_namespace) { create(:cluster_kubernetes_namespace, cluster: cluster) } diff --git a/spec/controllers/projects/deploy_keys_controller_spec.rb b/spec/controllers/projects/deploy_keys_controller_spec.rb index 8b1ca2efab2..2c7c99eabf6 100644 --- a/spec/controllers/projects/deploy_keys_controller_spec.rb +++ b/spec/controllers/projects/deploy_keys_controller_spec.rb @@ -46,17 +46,27 @@ describe Projects::DeployKeysController do create(:deploy_keys_project, project: project_private, deploy_key: create(:another_deploy_key)) end - before do - project2.add_developer(user) + context 'when user has access to all projects where deploy keys are used' do + before do + project2.add_developer(user) + end + + it 'returns json in a correct format' do + get :index, params: params.merge(format: :json) + + expect(json_response.keys).to match_array(%w(enabled_keys available_project_keys public_keys)) + expect(json_response['enabled_keys'].count).to eq(1) + expect(json_response['available_project_keys'].count).to eq(1) + expect(json_response['public_keys'].count).to eq(1) + end end - it 'returns json in a correct format' do - get :index, params: params.merge(format: :json) + context 'when user has no access to all projects where deploy keys are used' do + it 'returns json in a correct format' do + get :index, params: params.merge(format: :json) - expect(json_response.keys).to match_array(%w(enabled_keys available_project_keys public_keys)) - expect(json_response['enabled_keys'].count).to eq(1) - expect(json_response['available_project_keys'].count).to eq(1) - expect(json_response['public_keys'].count).to eq(1) + expect(json_response['available_project_keys'].count).to eq(0) + end end end end diff --git a/spec/controllers/projects/error_tracking_controller_spec.rb b/spec/controllers/projects/error_tracking_controller_spec.rb index ab99e44e4ca..e5585d7b52d 100644 --- a/spec/controllers/projects/error_tracking_controller_spec.rb +++ b/spec/controllers/projects/error_tracking_controller_spec.rb @@ -384,6 +384,10 @@ describe Projects::ErrorTrackingController do ).permit! end + subject(:get_stack_trace) do + get :stack_trace, params: issue_params(issue_id: issue_id, format: :json) + end + before do expect(ErrorTracking::IssueLatestEventService) .to receive(:new).with(project, user, permitted_params) @@ -398,7 +402,7 @@ describe Projects::ErrorTrackingController do end it 'returns no data' do - get :stack_trace, params: issue_params(issue_id: issue_id, format: :json) + get_stack_trace expect(response).to have_gitlab_http_status(:no_content) end @@ -408,16 +412,21 @@ describe Projects::ErrorTrackingController do before do expect(issue_stack_trace_service).to receive(:execute) .and_return(status: :success, latest_event: error_event) + + get_stack_trace end let(:error_event) { build(:error_tracking_error_event) } it 'returns an error' do - get :stack_trace, params: issue_params(issue_id: issue_id, format: :json) - expect(response).to have_gitlab_http_status(:ok) expect(response).to match_response_schema('error_tracking/issue_stack_trace') - expect(json_response['error']).to eq(error_event.as_json) + end + + it 'highlights stack trace source code' do + expect(json_response['error']).to eq( + Gitlab::ErrorTracking::StackTraceHighlightDecorator.decorate(error_event).as_json + ) end end @@ -431,7 +440,7 @@ describe Projects::ErrorTrackingController do end it 'returns 400 with message' do - get :stack_trace, params: issue_params(issue_id: issue_id, format: :json) + get_stack_trace expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['message']).to eq(error_message) @@ -450,7 +459,7 @@ describe Projects::ErrorTrackingController do end it 'returns http_status with message' do - get :stack_trace, params: issue_params(issue_id: issue_id, format: :json) + get_stack_trace expect(response).to have_gitlab_http_status(http_status) expect(json_response['message']).to eq(error_message) |