summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2017-07-07 23:30:27 +0900
committerShinya Maeda <shinya@gitlab.com>2017-07-08 03:52:34 +0900
commit928c6b24256fcc3822316e338b00a07b8fce7007 (patch)
tree49e35909ca31603a806d969811ec5a081e59af54
parent87d90b5b5e2fa6d0eed469db61878b942afdbee7 (diff)
downloadgitlab-ce-fix/sm/rspec-mysql-1-20-build-failed.tar.gz
Fix spec/models/group_spec.rb(Need to be backported to CE)fix/sm/rspec-mysql-1-20-build-failed
-rw-r--r--spec/models/group_spec.rb74
1 files changed, 35 insertions, 39 deletions
diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb
index 399020953e8..2e1734ad7f8 100644
--- a/spec/models/group_spec.rb
+++ b/spec/models/group_spec.rb
@@ -423,64 +423,60 @@ describe Group, models: true do
describe '#secret_variables_for' do
let(:project) { create(:empty_project, group: group) }
- let!(:secret_variable) do
- create(:ci_group_variable, value: 'secret', group: group)
- end
+ context 'when protected and unprotected variables has existsed' do
+ let!(:secret_variable) do
+ create(:ci_group_variable, value: 'secret', group: group)
+ end
- let!(:protected_variable) do
- create(:ci_group_variable, :protected, value: 'protected', group: group)
- end
+ let!(:protected_variable) do
+ create(:ci_group_variable, :protected, value: 'protected', group: group)
+ end
- subject { group.secret_variables_for('ref', project) }
+ subject { group.secret_variables_for('ref', project) }
- shared_examples 'ref is protected' do
- it 'contains all the variables' do
- is_expected.to contain_exactly(secret_variable, protected_variable)
+ shared_examples 'ref is protected' do
+ it 'contains all the variables' do
+ is_expected.to contain_exactly(secret_variable, protected_variable)
+ end
end
- end
- context 'when the ref is not protected' do
- before do
- stub_application_setting(
- default_branch_protection: Gitlab::Access::PROTECTION_NONE)
- end
+ context 'when the ref is not protected' do
+ before do
+ stub_application_setting(
+ default_branch_protection: Gitlab::Access::PROTECTION_NONE)
+ end
- it 'contains only the secret variables' do
- is_expected.to contain_exactly(secret_variable)
+ it 'contains only the secret variables' do
+ is_expected.to contain_exactly(secret_variable)
+ end
end
- end
- context 'when the ref is a protected branch' do
- before do
- create(:protected_branch, name: 'ref', project: project)
+ context 'when the ref is a protected branch' do
+ before do
+ create(:protected_branch, name: 'ref', project: project)
+ end
+
+ it_behaves_like 'ref is protected'
end
- it_behaves_like 'ref is protected'
- end
+ context 'when the ref is a protected tag' do
+ before do
+ create(:protected_tag, name: 'ref', project: project)
+ end
- context 'when the ref is a protected tag' do
- before do
- create(:protected_tag, name: 'ref', project: project)
+ it_behaves_like 'ref is protected'
end
-
- it_behaves_like 'ref is protected'
end
context 'when group has children' do
+ let!(:variable) { create(:ci_group_variable, group: group) }
let!(:group_child) { create(:group, parent: group) }
let!(:variable_child) { create(:ci_group_variable, group: group_child) }
- let!(:group_child_3) { create(:group, parent: group_child_2) }
- let!(:variable_child_3) { create(:ci_group_variable, group: group_child_3) }
- let!(:group_child_2) { create(:group, parent: group_child) }
- let!(:variable_child_2) { create(:ci_group_variable, group: group_child_2) }
- it 'returns all variables belong to the group and parent groups' do
- expected_array1 = [protected_variable, secret_variable]
- expected_array2 = [variable_child, variable_child_2, variable_child_3]
- got_array = group_child_3.secret_variables_for('ref', project).to_a
+ subject { group_child.secret_variables_for('ref', project) }
- expect(got_array.shift(2)).to contain_exactly(*expected_array1)
- expect(got_array).to eq(expected_array2)
+ it 'returns all variables belong to the group and parent groups' do
+ is_expected.to eq([variable, variable_child])
end
end
end