3 describe 'is_ip_address' do
4 it { is_expected.not_to eq(nil) }
5 it { is_expected.to run.with_params.and_raise_error(Puppet::ParseError, %r{wrong number of arguments}i) }
6 it { is_expected.to run.with_params([], []).and_raise_error(Puppet::ParseError, %r{wrong number of arguments}i) }
7 it { is_expected.to run.with_params('1.2.3.4').and_return(true) }
8 it { is_expected.to run.with_params('1.2.3.255').and_return(true) }
9 it { is_expected.to run.with_params('1.2.3.256').and_return(false) }
10 it { is_expected.to run.with_params('1.2.3').and_return(false) }
11 it { is_expected.to run.with_params('1.2.3.4.5').and_return(false) }
12 it { is_expected.to run.with_params('fe00::1').and_return(true) }
13 it { is_expected.to run.with_params('fe80:0000:cd12:d123:e2f8:47ff:fe09:dd74').and_return(true) }
14 it { is_expected.to run.with_params('FE80:0000:CD12:D123:E2F8:47FF:FE09:DD74').and_return(true) }
15 it { is_expected.to run.with_params('fe80:0000:cd12:d123:e2f8:47ff:fe09:zzzz').and_return(false) }
16 it { is_expected.to run.with_params('fe80:0000:cd12:d123:e2f8:47ff:fe09').and_return(false) }
17 it { is_expected.to run.with_params('fe80:0000:cd12:d123:e2f8:47ff:fe09:dd74:dd74').and_return(false) }
18 it { is_expected.to run.with_params('').and_return(false) }
19 it { is_expected.to run.with_params('one').and_return(false) }
20 it { is_expected.to run.with_params(1).and_return(false) }
21 it { is_expected.to run.with_params({}).and_return(false) }
22 it { is_expected.to run.with_params([]).and_return(false) }
23 it { is_expected.to run.with_params('thisstring').and_return(false) }