aboutsummaryrefslogtreecommitdiffstats
path: root/spec/unit
diff options
context:
space:
mode:
authorFeng Pan <fpan@redhat.com>2017-02-19 15:14:40 -0500
committerFeng Pan <fpan@redhat.com>2017-02-20 10:53:29 -0500
commitac2d7693e02a11d80879ccd80dc33a4f213295e6 (patch)
treeba4d6cb546b1db34af796b065be9b625c676cc31 /spec/unit
parent32ce2b41b1ca0b6224b45d8bf79039db5e15e997 (diff)
Add support for inline config changes
This patch changes VPP configuration from file template to inline change directly. This prevents issue with overwriting existing VPP config. Change-Id: I4133be8ebe689d9288e3a8e64cca43afd7e42e64 Signed-off-by: Feng Pan <fpan@redhat.com>
Diffstat (limited to 'spec/unit')
-rw-r--r--spec/unit/provider/vpp_config/vpp_spec.rb37
-rw-r--r--spec/unit/provider/vpp_service/vpp_spec.rb44
-rw-r--r--spec/unit/type/vpp_config_spec.rb15
-rw-r--r--spec/unit/type/vpp_service_spec.rb56
4 files changed, 52 insertions, 100 deletions
diff --git a/spec/unit/provider/vpp_config/vpp_spec.rb b/spec/unit/provider/vpp_config/vpp_spec.rb
new file mode 100644
index 0000000..913d795
--- /dev/null
+++ b/spec/unit/provider/vpp_config/vpp_spec.rb
@@ -0,0 +1,37 @@
+require 'puppet'
+require 'puppet/provider/vpp_config/vpp'
+require 'spec_helper'
+
+provider_class = Puppet::Type.type(:vpp_config).provider(:vpp)
+
+describe 'Puppet::Type.type(:vpp_config).provider(:vpp)' do
+
+ let :vpp_attrs do
+ {
+ :setting => 'dpdk/dev/0000:00:07.0',
+ :ensure => 'present',
+ }
+ end
+
+ let :resource do
+ Puppet::Type::Vpp_config.new(vpp_attrs)
+ end
+
+ let :provider do
+ provider_class.new(resource)
+ end
+
+ describe 'on create' do
+ it 'should call add_setting' do
+ provider.expects(:add_setting)
+ provider.create
+ end
+ end
+
+ describe "when changing value" do
+ it 'should change value' do
+ provider.expects(:add_setting).with('vlan-strip-offload on')
+ provider.value = 'vlan-strip-offload on'
+ end
+ end
+end \ No newline at end of file
diff --git a/spec/unit/provider/vpp_service/vpp_spec.rb b/spec/unit/provider/vpp_service/vpp_spec.rb
deleted file mode 100644
index f75f80c..0000000
--- a/spec/unit/provider/vpp_service/vpp_spec.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-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 \ No newline at end of file
diff --git a/spec/unit/type/vpp_config_spec.rb b/spec/unit/type/vpp_config_spec.rb
new file mode 100644
index 0000000..d25061f
--- /dev/null
+++ b/spec/unit/type/vpp_config_spec.rb
@@ -0,0 +1,15 @@
+require 'puppet'
+require 'puppet/type/vpp_config'
+require 'spec_helper'
+
+describe 'Puppet::Type.type(:vpp_config)' do
+
+ before :each do
+ @vpp_conf = Puppet::Type.type(:vpp_config).new(:setting => 'dpdk/test_setting')
+ end
+
+ it 'should accept value' do
+ Puppet::Type.type(:vpp_config).new(:setting => 'dpdk/test_setting', :value => 'test_value')
+ end
+
+end
diff --git a/spec/unit/type/vpp_service_spec.rb b/spec/unit/type/vpp_service_spec.rb
deleted file mode 100644
index 9b08ffa..0000000
--- a/spec/unit/type/vpp_service_spec.rb
+++ /dev/null
@@ -1,56 +0,0 @@
-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