diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-19 08:27:35 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-19 08:27:35 +0000 |
commit | 7e9c479f7de77702622631cff2628a9c8dcbc627 (patch) | |
tree | c8f718a08e110ad7e1894510980d2155a6549197 /spec/models/container_expiration_policy_spec.rb | |
parent | e852b0ae16db4052c1c567d9efa4facc81146e88 (diff) | |
download | gitlab-ce-7e9c479f7de77702622631cff2628a9c8dcbc627.tar.gz |
Add latest changes from gitlab-org/gitlab@13-6-stable-eev13.6.0-rc42
Diffstat (limited to 'spec/models/container_expiration_policy_spec.rb')
-rw-r--r-- | spec/models/container_expiration_policy_spec.rb | 55 |
1 files changed, 40 insertions, 15 deletions
diff --git a/spec/models/container_expiration_policy_spec.rb b/spec/models/container_expiration_policy_spec.rb index 1d9dbe8a867..32ec5ed161a 100644 --- a/spec/models/container_expiration_policy_spec.rb +++ b/spec/models/container_expiration_policy_spec.rb @@ -38,10 +38,43 @@ RSpec.describe ContainerExpirationPolicy, type: :model do it { is_expected.not_to allow_value('foo').for(:keep_n) } end + describe '#disable!' do + let_it_be(:policy) { create(:container_expiration_policy) } + + subject { policy.disable! } + + it 'disables the container expiration policy' do + expect { subject }.to change { policy.reload.enabled }.from(true).to(false) + end + end + + describe '#policy_params' do + let_it_be(:policy) { create(:container_expiration_policy) } + + let(:expected) do + { + 'older_than' => policy.older_than, + 'keep_n' => policy.keep_n, + 'name_regex' => policy.name_regex, + 'name_regex_keep' => policy.name_regex_keep + } + end + + subject { policy.policy_params } + + it { is_expected.to eq(expected) } + end + context 'with a set of regexps' do + let_it_be(:container_expiration_policy) { create(:container_expiration_policy) } + + subject { container_expiration_policy } + valid_regexps = %w[master .* v.+ v10.1.* (?:v.+|master|release)] invalid_regexps = ['[', '(?:v.+|master|release'] + it { is_expected.to validate_presence_of(:name_regex) } + valid_regexps.each do |valid_regexp| it { is_expected.to allow_value(valid_regexp).for(:name_regex) } it { is_expected.to allow_value(valid_regexp).for(:name_regex_keep) } @@ -57,6 +90,8 @@ RSpec.describe ContainerExpirationPolicy, type: :model do subject { container_expiration_policy } + it { is_expected.not_to validate_presence_of(:name_regex) } + valid_regexps.each do |valid_regexp| it { is_expected.to allow_value(valid_regexp).for(:name_regex) } it { is_expected.to allow_value(valid_regexp).for(:name_regex_keep) } @@ -104,25 +139,15 @@ RSpec.describe ContainerExpirationPolicy, type: :model do end end - describe '.executable' do - subject { described_class.executable } + describe '.with_container_repositories' do + subject { described_class.with_container_repositories } - let_it_be(:policy1) { create(:container_expiration_policy, :runnable) } + let_it_be(:policy1) { create(:container_expiration_policy) } let_it_be(:container_repository1) { create(:container_repository, project: policy1.project) } - let_it_be(:policy2) { create(:container_expiration_policy, :runnable) } + let_it_be(:policy2) { create(:container_expiration_policy) } let_it_be(:container_repository2) { create(:container_repository, project: policy2.project) } - let_it_be(:policy3) { create(:container_expiration_policy, :runnable) } + let_it_be(:policy3) { create(:container_expiration_policy) } it { is_expected.to contain_exactly(policy1, policy2) } end - - describe '#disable!' do - let_it_be(:container_expiration_policy) { create(:container_expiration_policy) } - - subject { container_expiration_policy.disable! } - - it 'disables the container expiration policy' do - expect { subject }.to change { container_expiration_policy.reload.enabled }.from(true).to(false) - end - end end |