summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-10-30 15:22:03 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-10-30 15:22:03 +0000
commit0cb369aa5f70b59e5922d8f5431a3302fd93574e (patch)
treed8ac59d000141ebe9f1f7eda188dd1d32ff7cc39 /spec
parentb5e7de21d8f1d479f24826198e6e54920cc29598 (diff)
downloadgitlab-ce-0cb369aa5f70b59e5922d8f5431a3302fd93574e.tar.gz
Add latest changes from gitlab-org/security/gitlab@13-5-stable-ee
Diffstat (limited to 'spec')
-rw-r--r--spec/requests/api/terraform/state_spec.rb7
-rw-r--r--spec/services/terraform/remote_state_handler_spec.rb18
2 files changed, 16 insertions, 9 deletions
diff --git a/spec/requests/api/terraform/state_spec.rb b/spec/requests/api/terraform/state_spec.rb
index aff41ff5974..b91f6e1aa88 100644
--- a/spec/requests/api/terraform/state_spec.rb
+++ b/spec/requests/api/terraform/state_spec.rb
@@ -125,6 +125,7 @@ RSpec.describe API::Terraform::State do
expect { request }.to change { Terraform::State.count }.by(0)
expect(response).to have_gitlab_http_status(:ok)
+ expect(Gitlab::Json.parse(response.body)).to be_empty
end
context 'on Unicorn', :unicorn do
@@ -132,6 +133,7 @@ RSpec.describe API::Terraform::State do
expect { request }.to change { Terraform::State.count }.by(0)
expect(response).to have_gitlab_http_status(:ok)
+ expect(Gitlab::Json.parse(response.body)).to be_empty
end
end
end
@@ -167,6 +169,7 @@ RSpec.describe API::Terraform::State do
expect { request }.to change { Terraform::State.count }.by(1)
expect(response).to have_gitlab_http_status(:ok)
+ expect(Gitlab::Json.parse(response.body)).to be_empty
end
context 'on Unicorn', :unicorn do
@@ -174,6 +177,7 @@ RSpec.describe API::Terraform::State do
expect { request }.to change { Terraform::State.count }.by(1)
expect(response).to have_gitlab_http_status(:ok)
+ expect(Gitlab::Json.parse(response.body)).to be_empty
end
end
end
@@ -206,10 +210,11 @@ RSpec.describe API::Terraform::State do
context 'with maintainer permissions' do
let(:current_user) { maintainer }
- it 'deletes the state' do
+ it 'deletes the state and returns empty body' do
expect { request }.to change { Terraform::State.count }.by(-1)
expect(response).to have_gitlab_http_status(:ok)
+ expect(Gitlab::Json.parse(response.body)).to be_empty
end
end
diff --git a/spec/services/terraform/remote_state_handler_spec.rb b/spec/services/terraform/remote_state_handler_spec.rb
index c47367feb14..ca392849d49 100644
--- a/spec/services/terraform/remote_state_handler_spec.rb
+++ b/spec/services/terraform/remote_state_handler_spec.rb
@@ -42,17 +42,17 @@ RSpec.describe Terraform::RemoteStateHandler do
describe '#handle_with_lock' do
it 'allows to modify a state using database locking' do
- state = subject.handle_with_lock do |state|
+ record = nil
+ subject.handle_with_lock do |state|
+ record = state
state.name = 'updated-name'
end
- expect(state.name).to eq 'updated-name'
+ expect(record.reload.name).to eq 'updated-name'
end
- it 'returns the state object itself' do
- state = subject.handle_with_lock
-
- expect(state.name).to eq 'my-state'
+ it 'returns nil' do
+ expect(subject.handle_with_lock).to be_nil
end
end
@@ -70,11 +70,13 @@ RSpec.describe Terraform::RemoteStateHandler do
it 'handles a locked state using exclusive read lock' do
handler.lock!
- state = handler.handle_with_lock do |state|
+ record = nil
+ handler.handle_with_lock do |state|
+ record = state
state.name = 'new-name'
end
- expect(state.name).to eq 'new-name'
+ expect(record.reload.name).to eq 'new-name'
end
it 'raises exception if lock has not been acquired before' do