Skip to content

Commit

Permalink
Add new type tests
Browse files Browse the repository at this point in the history
  • Loading branch information
dhollinger committed Aug 14, 2018
1 parent 0cbeea1 commit 687f3a1
Show file tree
Hide file tree
Showing 2 changed files with 161 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/puppet/type/network_route.rb
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
desc: 'scope of the destinations covered by the route prefix.',
},
protocol: {
type: 'String',
type: 'Enum["static", "redirect", "kernel", "boot", "ra"]',
desc: 'routing protocol identifier of this route.',
default: 'static',
},
Expand Down
160 changes: 160 additions & 0 deletions spec/unit/puppet/type/network_route_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,164 @@
it 'loads' do
expect(Puppet::Type.type(:network_route)).not_to be_nil
end

context 'prefix is default' do
let(:resource) do
Puppet::Type.type('network_route').new(
prefix: 'default',
default_route: true,
)
end

it 'prefix is set' do
expect(resource[:prefix]).to eq 'default'
end

it 'name is set to prefix' do
expect(resource[:name]).to eq 'default'
end

it 'default_route should be true' do
expect(resource[:default_route]).to eq :true
end

it 'metric should be 100' do
expect(resource[:metric]).to eq '100'
end

it 'protocol should be static' do
expect(resource[:protocol]).to eq 'static'
end
end

context 'with a non-default route' do
let(:resource) do
Puppet::Type.type('network_route').new(
prefix: '10.155.255.0/24',
default_route: false,
metric: '600',
source: '10.155.255.110'
)
end

it 'prefix is set to network address' do
expect(resource[:prefix]).to eq '10.155.255.0/24'
end

it 'default_route is false' do
expect(resource[:default_route]).to eq :false
end

it 'metric is set to 600' do
expect(resource[:metric]).to eq '600'
end

it 'source is set to 10.155.255.110' do
expect(resource[:source]).to eq '10.155.255.110'
end
end

context 'with gateway set' do
let(:resource) do
Puppet::Type.type('network_route').new(
prefix: 'default',
gateway: '10.155.255.1'
)
end

it 'gateway should be 10.155.255.1' do
expect(resource[:gateway]).to eq '10.155.255.1'
end
end

context 'with interface set' do
let(:resource) do
Puppet::Type.type('network_route').new(
prefix: 'default',
interface: 'eth0'
)
end

it 'interface should be eth0' do
expect(resource[:interface]).to eq 'eth0'
end
end

context 'with metric set' do
let(:resource) do
Puppet::Type.type('network_route').new(
prefix: 'default',
metric: '400'
)
end

it 'metric should be 400' do
expect(resource[:metric]).to eq '400'
end
end

context 'with table set' do
let(:resource) do
Puppet::Type.type('network_route').new(
prefix: 'default',
table: 'main'
)
end

it 'table should be main' do
expect(resource[:table]).to eq 'main'
end
end

context 'with source set' do
let(:resource) do
Puppet::Type.type('network_route').new(
prefix: 'default',
source: '10.155.255.10'
)
end

it 'source should be 10.155.255.10' do
expect(resource[:source]).to eq '10.155.255.10'
end
end

context 'with scope set' do
let(:resource) do
Puppet::Type.type('network_route').new(
prefix: 'default',
scope: 'link'
)
end

it 'scope should be link' do
expect(resource[:scope]).to eq 'link'
end
end

context 'with protocol set' do
let(:resource) do
Puppet::Type.type('network_route').new(
prefix: 'default',
protocol: 'boot'
)
end

it 'protocol should be boot' do
expect(resource[:protocol]).to eq 'boot'
end
end

context 'with mtu set' do
let(:resource) do
Puppet::Type.type('network_route').new(
prefix: 'default',
mtu: '1500'
)
end

it 'mtu should be 1500' do
expect(resource[:mtu]).to eq '1500'
end
end
end

0 comments on commit 687f3a1

Please sign in to comment.