Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / spec / unit / facter / nftables_spec.rb @ 03d9e7da

Historique | Voir | Annoter | Télécharger (834 octets)

1
require 'spec_helper'
2

    
3
describe 'nftables' do
4
  before(:each) do
5
    Facter.clear
6
    Process.stubs(:uid).returns(0)
7
    Facter::Util::Resolution.stubs(:which).with('nft').returns('/usr/sbin/nft')
8
    Facter::Core::Execution.stubs(:execute).with('/usr/sbin/nft list tables').returns(nft_result)
9
  end
10

    
11
  context 'nft rules present' do
12
    let(:nft_result) { "table inet firewalld\ntable ip firewalld\n" }
13

    
14
    it 'returns valid tables' do
15
      expect(Facter.fact('nftables').value).to eq('tables' => ['inet-firewalld', 'ip-firewalld'])
16
    end
17
  end
18

    
19
  context 'nft fails' do
20
    let(:nft_result) { :failed }
21

    
22
    it 'does not return a fact' do
23
      Facter::Core::Execution.stubs(:execute).with('/usr/sbin/nft list tables', on_fail: :failed).returns(:failed)
24

    
25
      expect(Facter.fact('nftables').value).to be_nil
26
    end
27
  end
28
end