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 03d9e7da Steve Traylen
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