67a555ca57d52dc7ba1bfa56748d9dca68c38018
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / spec / aliases / ip_address.rb
1 require 'spec_helper'
2
3 if Puppet::Util::Package.versioncmp(Puppet.version, '4.5.0') >= 0
4   describe 'test::ip_address', type: :class do
5     describe 'accepts ipv4 and ipv6 addresses' do
6       [
7         '224.0.0.0',
8         '255.255.255.255',
9         '0.0.0.0',
10         '192.88.99.0',
11         '2001:0db8:85a3:0000:0000:8a2e:0370:7334',
12         'fa76:8765:34ac:0823:ab76:eee9:0987:1111'
13       ].each do |value|
14         describe value.inspect do
15           let(:params) {{ value: value }}
16           it { is_expected.to compile }
17         end
18       end
19     end
20     describe 'rejects other values' do
21       [
22         'nope',
23         '77',
24         '4.4.4',
25         '2001:0db8:85a3:000000:0000:8a2e:0370:7334'
26       ].each do |value|
27         describe value.inspect do
28           let(:params) {{ value: value }}
29           it { is_expected.to compile.and_raise_error(/parameter 'value' expects a match for/) }
30         end
31       end
32     end
33   end
34 end