aboutsummaryrefslogtreecommitdiffstats
path: root/spec/unit/provider/vpp_service/vpp_spec.rb
blob: f75f80caed105955f76f379383dd05b024144cb2 (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
require 'puppet'
require 'puppet/provider/vpp_service/vpp'
require 'spec_helper'

provider_class = Puppet::Type.type(:vpp_service).provider(:vpp)

describe 'Puppet::Type.type(:vpp_service).provider(:vpp)' do

  let :vpp_attrs do
    {
      :name               => 'vpp service config',
      :pci_devs           => '0000:00:07.0',
      :ensure             => 'present',
      :state              => 'up',
      :copy_kernel_nic_ip => 'false',
    }
  end

  let :resource do
    Puppet::Type::Vpp_service.new(vpp_attrs)
  end

  let :provider do
    provider_class.new(resource)
  end

  describe 'on create' do
    it 'should call service restart' do
      provider.expects(:vpp_pre_config)
      provider.expects(:configure_vpp_interfaces)
      provider.expects(:systemctlcmd).with('restart', 'vpp')
      provider.expects(:systemctlcmd).with('enable', 'vpp')
      provider.create
    end
  end

  describe "when changing state" do
    it 'should change state' do
      provider.stubs(:get_int_prefix).returns('GigabitEthernet0/7/0')
      provider.expects(:vppctlcmd).with('set int state', 'GigabitEthernet0/7/0', 'down')
      provider.state = 'down'
    end
  end
end