root / spec / unit / facter / nftables_spec.rb @ c94658e1
Historique | Voir | Annoter | Télécharger (1,16 ko)
1 | 03d9e7da | Steve Traylen | require 'spec_helper'
|
---|---|---|---|
2 | |||
3 | describe 'nftables' do |
||
4 | 7e5b657a | Steve Traylen | before do
|
5 | 03d9e7da | Steve Traylen | Facter.clear
|
6 | Process.stubs(:uid).returns(0) |
||
7 | Facter::Util::Resolution.stubs(:which).with('nft').returns('/usr/sbin/nft') |
||
8 | 032387dc | Steve Traylen | Facter::Core::Execution.stubs(:execute).with('/usr/sbin/nft list tables').returns(nft_tables_result) |
9 | Facter::Core::Execution.stubs(:execute).with('/usr/sbin/nft --version').returns(nft_version_result) |
||
10 | 03d9e7da | Steve Traylen | end
|
11 | |||
12 | 032387dc | Steve Traylen | context 'nft present' do |
13 | let(:nft_tables_result) { "table inet firewalld\ntable ip firewalld\n" } |
||
14 | let(:nft_version_result) { "nftables v0.9.15 (Topsy)\n" } |
||
15 | 03d9e7da | Steve Traylen | |
16 | 032387dc | Steve Traylen | it 'returns valid fact' do |
17 | expect(Facter.fact('nftables').value).to eq('tables' => ['inet-firewalld', 'ip-firewalld'], 'version' => '0.9.15') |
||
18 | 03d9e7da | Steve Traylen | end
|
19 | end
|
||
20 | |||
21 | context 'nft fails' do |
||
22 | 032387dc | Steve Traylen | let(:nft_tables_result) { :failed } |
23 | let(:nft_version_result) { :failed } |
||
24 | 03d9e7da | Steve Traylen | |
25 | it 'does not return a fact' do |
||
26 | 032387dc | Steve Traylen | Facter::Core::Execution.stubs(:execute).with('/usr/sbin/nft --version', on_fail: :failed).returns(:failed) |
27 | 03d9e7da | Steve Traylen | Facter::Core::Execution.stubs(:execute).with('/usr/sbin/nft list tables', on_fail: :failed).returns(:failed) |
28 | |||
29 | expect(Facter.fact('nftables').value).to be_nil |
||
30 | end
|
||
31 | end
|
||
32 | end |