Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/requests/projects/google_cloud/deployments_controller_spec.rb')
-rw-r--r--spec/requests/projects/google_cloud/deployments_controller_spec.rb72
1 files changed, 42 insertions, 30 deletions
diff --git a/spec/requests/projects/google_cloud/deployments_controller_spec.rb b/spec/requests/projects/google_cloud/deployments_controller_spec.rb
index 9e854e01516..ad6a3912e0b 100644
--- a/spec/requests/projects/google_cloud/deployments_controller_spec.rb
+++ b/spec/requests/projects/google_cloud/deployments_controller_spec.rb
@@ -29,10 +29,9 @@ RSpec.describe Projects::GoogleCloud::DeploymentsController do
expect(response).to have_gitlab_http_status(:not_found)
expect_snowplow_event(
- category: 'Projects::GoogleCloud',
- action: 'admin_project_google_cloud!',
- label: 'error_access_denied',
- property: 'invalid_user',
+ category: 'Projects::GoogleCloud::DeploymentsController',
+ action: 'error_invalid_user',
+ label: nil,
project: project,
user: nil
)
@@ -48,10 +47,9 @@ RSpec.describe Projects::GoogleCloud::DeploymentsController do
expect(response).to have_gitlab_http_status(:not_found)
expect_snowplow_event(
- category: 'Projects::GoogleCloud',
- action: 'admin_project_google_cloud!',
- label: 'error_access_denied',
- property: 'invalid_user',
+ category: 'Projects::GoogleCloud::DeploymentsController',
+ action: 'error_invalid_user',
+ label: nil,
project: project,
user: nil
)
@@ -75,6 +73,30 @@ RSpec.describe Projects::GoogleCloud::DeploymentsController do
end
end
+ describe 'Authorized GET project/-/google_cloud/deployments', :snowplow do
+ before do
+ sign_in(user_maintainer)
+
+ allow_next_instance_of(GoogleApi::CloudPlatform::Client) do |client|
+ allow(client).to receive(:validate_token).and_return(true)
+ end
+ end
+
+ it 'renders template' do
+ get "#{project_google_cloud_deployments_path(project)}"
+
+ expect(response).to render_template(:index)
+
+ expect_snowplow_event(
+ category: 'Projects::GoogleCloud::DeploymentsController',
+ action: 'render_page',
+ label: nil,
+ project: project,
+ user: user_maintainer
+ )
+ end
+ end
+
describe 'Authorized GET project/-/google_cloud/deployments/cloud_run', :snowplow do
let_it_be(:url) { "#{project_google_cloud_deployments_cloud_run_path(project)}" }
@@ -92,11 +114,9 @@ RSpec.describe Projects::GoogleCloud::DeploymentsController do
expect(response).to redirect_to(project_google_cloud_deployments_path(project))
# since GPC_PROJECT_ID is not set, enable cloud run service should return an error
expect_snowplow_event(
- category: 'Projects::GoogleCloud',
- action: 'deployments#cloud_run',
- label: 'error_enable_cloud_run',
- extra: { message: 'No GCP projects found. Configure a service account or GCP_PROJECT_ID ci variable.',
- status: :error },
+ category: 'Projects::GoogleCloud::DeploymentsController',
+ action: 'error_enable_services',
+ label: nil,
project: project,
user: user_maintainer
)
@@ -113,10 +133,9 @@ RSpec.describe Projects::GoogleCloud::DeploymentsController do
expect(response).to redirect_to(project_google_cloud_deployments_path(project))
expect_snowplow_event(
- category: 'Projects::GoogleCloud',
- action: 'deployments#cloud_run',
- label: 'error_gcp',
- extra: mock_gcp_error,
+ category: 'Projects::GoogleCloud::DeploymentsController',
+ action: 'error_google_api',
+ label: nil,
project: project,
user: user_maintainer
)
@@ -136,10 +155,9 @@ RSpec.describe Projects::GoogleCloud::DeploymentsController do
expect(response).to redirect_to(project_google_cloud_deployments_path(project))
expect_snowplow_event(
- category: 'Projects::GoogleCloud',
- action: 'deployments#cloud_run',
- label: 'error_generate_pipeline',
- extra: { status: :error },
+ category: 'Projects::GoogleCloud::DeploymentsController',
+ action: 'error_generate_cloudrun_pipeline',
+ label: nil,
project: project,
user: user_maintainer
)
@@ -159,15 +177,9 @@ RSpec.describe Projects::GoogleCloud::DeploymentsController do
expect(response).to have_gitlab_http_status(:found)
expect(response.location).to include(project_new_merge_request_path(project))
expect_snowplow_event(
- category: 'Projects::GoogleCloud',
- action: 'deployments#cloud_run',
- label: 'success',
- extra: { "title": "Enable deployments to Cloud Run",
- "description": "This merge request includes a Cloud Run deployment job in the pipeline definition (.gitlab-ci.yml).\n\nThe `deploy-to-cloud-run` job:\n* Requires the following environment variables\n * `GCP_PROJECT_ID`\n * `GCP_SERVICE_ACCOUNT_KEY`\n* Job definition can be found at: https://gitlab.com/gitlab-org/incubation-engineering/five-minute-production/library\n\nThis pipeline definition has been committed to the branch ``.\nYou may modify the pipeline definition further or accept the changes as-is if suitable.\n",
- "source_project_id": project.id,
- "target_project_id": project.id,
- "source_branch": nil,
- "target_branch": project.default_branch },
+ category: 'Projects::GoogleCloud::DeploymentsController',
+ action: 'generate_cloudrun_pipeline',
+ label: nil,
project: project,
user: user_maintainer
)