Commit 45dadeec authored by Matija Čupić's avatar Matija Čupić

Remove the GCP billing verification step

parent e4c661a1
...@@ -2,8 +2,7 @@ class Projects::Clusters::GcpController < Projects::ApplicationController ...@@ -2,8 +2,7 @@ class Projects::Clusters::GcpController < Projects::ApplicationController
before_action :authorize_read_cluster! before_action :authorize_read_cluster!
before_action :authorize_create_cluster!, only: [:new, :create] before_action :authorize_create_cluster!, only: [:new, :create]
before_action :authorize_google_api, except: [:login, :list_projects] before_action :authorize_google_api, except: [:login, :list_projects]
before_action :get_gcp_projects, only: [:new, :create] before_action :get_gcp_projects, only: [:new]
before_action :verify_billing, only: [:create]
def login def login
begin begin
...@@ -43,21 +42,6 @@ class Projects::Clusters::GcpController < Projects::ApplicationController ...@@ -43,21 +42,6 @@ class Projects::Clusters::GcpController < Projects::ApplicationController
private private
def verify_billing
case gcp_projects&.empty?
when nil
flash.now[:alert] = _('We could not verify that one of your projects on GCP has billing enabled. Please try again.')
when true
flash.now[:alert] = _('Please <a href=%{link_to_billing} target="_blank" rel="noopener noreferrer">enable billing for one of your projects to be able to create a Kubernetes cluster</a>, then try again.').html_safe % { link_to_billing: "https://console.cloud.google.com/freetrial?utm_campaign=2018_cpanel&utm_source=gitlab&utm_medium=referral" }
when false
return
end
@cluster = ::Clusters::Cluster.new(create_params)
render :new
end
def create_params def create_params
params.require(:cluster).permit( params.require(:cluster).permit(
:enabled, :enabled,
......
...@@ -140,7 +140,6 @@ describe Projects::Clusters::GcpController do ...@@ -140,7 +140,6 @@ describe Projects::Clusters::GcpController do
allow_any_instance_of(described_class).to receive(:get_gcp_projects) allow_any_instance_of(described_class).to receive(:get_gcp_projects)
end end
context 'when google project billing is enabled' do
before do before do
allow_any_instance_of(described_class).to receive(:gcp_projects).and_return([double]) allow_any_instance_of(described_class).to receive(:gcp_projects).and_return([double])
end end
...@@ -155,20 +154,6 @@ describe Projects::Clusters::GcpController do ...@@ -155,20 +154,6 @@ describe Projects::Clusters::GcpController do
end end
end end
context 'when google project billing is not enabled' do
before do
allow_any_instance_of(described_class).to receive(:gcp_projects).and_return([])
end
it 'renders the cluster form with an error' do
go
expect(response).to set_flash.now[:alert]
expect(response).to render_template('new')
end
end
end
context 'when access token is expired' do context 'when access token is expired' do
before do before do
stub_google_api_expired_token stub_google_api_expired_token
......
...@@ -20,12 +20,7 @@ feature 'Gcp Cluster', :js do ...@@ -20,12 +20,7 @@ feature 'Gcp Cluster', :js do
.to receive(:token_in_session).and_return('token') .to receive(:token_in_session).and_return('token')
allow_any_instance_of(Projects::Clusters::GcpController) allow_any_instance_of(Projects::Clusters::GcpController)
.to receive(:expires_at_in_session).and_return(1.hour.since.to_i.to_s) .to receive(:expires_at_in_session).and_return(1.hour.since.to_i.to_s)
end
context 'when user has a GCP project with billing enabled' do
before do
allow_any_instance_of(Projects::Clusters::GcpController).to receive(:get_gcp_projects) allow_any_instance_of(Projects::Clusters::GcpController).to receive(:get_gcp_projects)
allow_any_instance_of(Projects::Clusters::GcpController).to receive(:gcp_projects).and_return([double])
end end
context 'when user does not have a cluster and visits cluster index page' do context 'when user does not have a cluster and visits cluster index page' do
...@@ -131,47 +126,6 @@ feature 'Gcp Cluster', :js do ...@@ -131,47 +126,6 @@ feature 'Gcp Cluster', :js do
end end
end end
context 'when user does not have a GCP project with billing enabled' do
before do
allow_any_instance_of(Projects::Clusters::GcpController).to receive(:get_gcp_projects)
allow_any_instance_of(Projects::Clusters::GcpController).to receive(:gcp_projects).and_return([])
visit project_clusters_path(project)
click_link 'Add Kubernetes cluster'
click_link 'Create on Google Kubernetes Engine'
fill_in 'cluster_provider_gcp_attributes_gcp_project_id', with: 'gcp-project-123'
fill_in 'cluster_name', with: 'dev-cluster'
click_button 'Create Kubernetes cluster'
end
it 'user sees form with error' do
expect(page).to have_content('Please enable billing for one of your projects to be able to create a Kubernetes cluster, then try again.')
end
end
context 'when gcp billing status is not in redis' do
before do
allow_any_instance_of(Projects::Clusters::GcpController).to receive(:get_gcp_projects)
allow_any_instance_of(Projects::Clusters::GcpController).to receive(:gcp_projects).and_return(nil)
visit project_clusters_path(project)
click_link 'Add Kubernetes cluster'
click_link 'Create on Google Kubernetes Engine'
fill_in 'cluster_provider_gcp_attributes_gcp_project_id', with: 'gcp-project-123'
fill_in 'cluster_name', with: 'dev-cluster'
click_button 'Create Kubernetes cluster'
end
it 'user sees form with error' do
expect(page).to have_content('We could not verify that one of your projects on GCP has billing enabled. Please try again.')
end
end
end
context 'when user has not signed with Google' do context 'when user has not signed with Google' do
before do before do
visit project_clusters_path(project) visit project_clusters_path(project)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment