File: keystone_security_compliance_spec.rb

package info (click to toggle)
puppet-module-keystone 25.0.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 2,428 kB
  • sloc: ruby: 9,684; pascal: 295; python: 38; makefile: 10; sh: 10
file content (56 lines) | stat: -rw-r--r-- 3,264 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
require 'spec_helper'

describe 'keystone::security_compliance' do
  shared_examples 'keystone security_compliance' do
    it 'should configure security compliance defaults' do
      is_expected.to contain_keystone_config('security_compliance/change_password_upon_first_use').with_value('<SERVICE DEFAULT>')
      is_expected.to contain_keystone_config('security_compliance/disable_user_account_days_inactive').with_value('<SERVICE DEFAULT>')
      is_expected.to contain_keystone_config('security_compliance/lockout_duration').with_value('<SERVICE DEFAULT>')
      is_expected.to contain_keystone_config('security_compliance/lockout_failure_attempts').with_value('<SERVICE DEFAULT>')
      is_expected.to contain_keystone_config('security_compliance/minimum_password_age').with_value('<SERVICE DEFAULT>')
      is_expected.to contain_keystone_config('security_compliance/password_expires_days').with_value('<SERVICE DEFAULT>')
      is_expected.to contain_keystone_config('security_compliance/password_regex').with_value('<SERVICE DEFAULT>')
      is_expected.to contain_keystone_config('security_compliance/password_regex_description').with_value('<SERVICE DEFAULT>')
      is_expected.to contain_keystone_config('security_compliance/unique_last_password_count').with_value('<SERVICE DEFAULT>')
    end

    context 'with specific params' do
      let :params do
        {
          :change_password_upon_first_use     => true,
          :disable_user_account_days_inactive => 1,
          :lockout_duration                   => 2,
          :lockout_failure_attempts           => 3,
          :minimum_password_age               => 4,
          :password_expires_days              => 5,
          :password_regex                     => 'SomeRegex',
          :password_regex_description         => 'this is some regex',
          :unique_last_password_count         => 6,
        }
      end
      it 'should have configure security compliance with params' do
        is_expected.to contain_keystone_config('security_compliance/change_password_upon_first_use').with_value(true)
        is_expected.to contain_keystone_config('security_compliance/disable_user_account_days_inactive').with_value(1)
        is_expected.to contain_keystone_config('security_compliance/lockout_duration').with_value(2)
        is_expected.to contain_keystone_config('security_compliance/lockout_failure_attempts').with_value(3)
        is_expected.to contain_keystone_config('security_compliance/minimum_password_age').with_value(4)
        is_expected.to contain_keystone_config('security_compliance/password_expires_days').with_value(5)
        is_expected.to contain_keystone_config('security_compliance/password_regex').with_value('SomeRegex')
        is_expected.to contain_keystone_config('security_compliance/password_regex_description').with_value('this is some regex')
        is_expected.to contain_keystone_config('security_compliance/unique_last_password_count').with_value(6)
      end
    end
  end

  on_supported_os({
    :supported_os => OSDefaults.get_supported_os
  }).each do |os,facts|
    context "on #{os}" do
      let (:facts) do
        facts.merge!(OSDefaults.get_facts())
      end

      it_behaves_like 'keystone security_compliance'
    end
  end
end