aboutsummaryrefslogtreecommitdiffstats
path: root/spec/unit/type/vpp_service_spec.rb
blob: 9b08ffae429ea587525b8a886df008028c2a5823 (plain)
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 'puppet'
require 'puppet/type/vpp_service'
require 'spec_helper'

describe 'Puppet::Type.type(:neutron_config)' do

  before :each do
    @vpp_service = Puppet::Type.type(:vpp_service).new(:name => 'vpp service config')
  end

  it 'should have default values' do
    expect(@vpp_service[:state]).to eq(:up)
    expect(@vpp_service[:copy_kernel_nic_ip]).to eq(:true)
  end

  it 'should accept a single pci dev' do
    Puppet::Type.type(:vpp_service).new(:name => 'vpp service config', :pci_devs => '0000:00:07.0')
  end

  it 'should accept array of pci devs' do
    Puppet::Type.type(:vpp_service).new(:name => 'vpp service config', :pci_devs => ['0000:00:07.0', '0000:00:08.0'])
  end

  it 'should not accept invalid pci dev format' do
    expect {
      Puppet::Type.type(:vpp_service).new(:name => 'vpp service config', :pci_devs => ['0/7/0', '0000:00:08.0'])
    }.to raise_error(Puppet::Error, /Incorrect PCI dev address/)
  end

  it 'should accept valid states' do
    @vpp_service[:state] = :up
    expect(@vpp_service[:state]).to eq(:up)
    @vpp_service[:state] = :down
    expect(@vpp_service[:state]).to eq(:down)
  end

  it 'should not accept invalid state' do
    expect {
      @vpp_service[:state] = :shut
    }.to raise_error(Puppet::Error, /Invalid value/)
  end

  it 'should accept valid copy_kernel_nic_ip' do
    @vpp_service[:copy_kernel_nic_ip] = :true
    expect(@vpp_service[:copy_kernel_nic_ip]).to eq(:true)
    @vpp_service[:copy_kernel_nic_ip] = :false
    expect(@vpp_service[:copy_kernel_nic_ip]).to eq(:false)
  end

  it 'should not accept invalid copy_kernel_nic_ip' do
    expect {
      @vpp_service[:copy_kernel_nic_ip] = :yes
    }.to raise_error(Puppet::Error, /Invalid value/)
  end

end