39 lines
1 KiB
Ruby
39 lines
1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe Gitlab::Ci::Variables::Builder::Instance do
|
|
let_it_be(:variable) { create(:ci_instance_variable, protected: false) }
|
|
let_it_be(:protected_variable) { create(:ci_instance_variable, protected: true) }
|
|
|
|
let(:builder) { described_class.new }
|
|
|
|
describe '#secret_variables' do
|
|
let(:variable_item) { item(variable) }
|
|
let(:protected_variable_item) { item(protected_variable) }
|
|
|
|
subject do
|
|
builder.secret_variables(protected_ref: protected_ref)
|
|
end
|
|
|
|
context 'when the ref is protected' do
|
|
let(:protected_ref) { true }
|
|
|
|
it 'contains all the variables' do
|
|
is_expected.to contain_exactly(variable_item, protected_variable_item)
|
|
end
|
|
end
|
|
|
|
context 'when the ref is not protected' do
|
|
let(:protected_ref) { false }
|
|
|
|
it 'contains only unprotected variables' do
|
|
is_expected.to contain_exactly(variable_item)
|
|
end
|
|
end
|
|
end
|
|
|
|
def item(variable)
|
|
Gitlab::Ci::Variables::Collection::Item.fabricate(variable)
|
|
end
|
|
end
|