4 |
use strict; |
use strict; |
5 |
use autodie; |
use autodie; |
6 |
|
|
7 |
use Test::More tests => 9; |
use Test::More tests => 19; |
8 |
use Data::Dump qw/dump/; |
use Data::Dump qw/dump/; |
9 |
|
use English; |
10 |
|
|
11 |
use_ok 'client'; |
use_ok 'client'; |
12 |
|
|
13 |
my $host = '127.0.0.1'; |
my $host = '127.0.0.1'; |
14 |
my $test_path = "$server::base_dir/conf/$server::ip/ip/$host/test"; |
my $mac = 'DE:AD:00:00:BE:EF'; |
15 |
unlink $test_path if -e $test_path; |
|
16 |
|
my $dir = "$server::base_dir/conf/$server::ip"; |
17 |
|
system "sudo chown $UID $dir/ip $dir/mac"; |
18 |
|
|
19 |
ok( client::conf( $host => 'test', default => 'default' ), 'conf default' ); |
ok( client::conf( $host => 'test', default => 'default' ), 'conf default' ); |
20 |
cmp_ok( client::conf( $host => 'test' ), 'eq', 'default', 'default' ); |
cmp_ok( client::conf( $host => 'test' ), 'eq', 'default', 'default' ); |
21 |
ok( client::conf( $host => 'test' => 'value' ), 'conf set' ); |
ok( client::conf( $host => 'test' => 'value' ), 'conf set' ); |
22 |
cmp_ok( client::conf( $host => 'test' ), 'eq', 'value', 'value' ); |
cmp_ok( client::conf( $host => 'test' ), 'eq', 'value', 'value' ); |
23 |
|
|
24 |
ok( my $ip = client::next_ip(), 'next_ip' ); |
ok( ! client::conf( $host => 'non-existing' ), 'conf non-existing' ); |
|
diag $ip; |
|
25 |
|
|
26 |
diag "cleanup"; |
ok( client::remove( $host ), "remove $host" ); |
|
ok( unlink($test_path), "unlink $test_path" ); |
|
|
$test_path =~ s{/[^/]+$}{}; |
|
|
ok( rmdir($test_path), "rmdir $test_path" ); |
|
27 |
|
|
28 |
ok( my $ip = client::ip_from_mac( 'AC:DE:48:00:00:00' ), 'ip_from_mac' ); |
ok( my $ip = client::next_ip( $mac ), 'next_ip' ); |
29 |
diag $ip; |
diag $ip; |
30 |
|
|
31 |
ok( my $mac = client::mac_from_ip( $ip ), 'mac_from_ip' ); |
ok( my $ip_from_mac = client::ip_from_mac( $mac ), 'ip_from_mac' ); |
32 |
diag $mac; |
diag $ip_from_mac; |
33 |
|
cmp_ok( $ip_from_mac, 'eq', $ip ); |
34 |
|
|
35 |
|
ok( my $mac_from_ip = client::mac_from_ip( $ip ), 'mac_from_ip' ); |
36 |
|
diag $mac_from_ip; |
37 |
|
cmp_ok( $mac_from_ip, 'eq', $mac ); |
38 |
|
|
39 |
|
ok( my $conf = client::all_conf( $ip ), 'all_conf' ); |
40 |
|
diag dump $conf; |
41 |
|
|
42 |
|
ok( my @ips = client::all_ips(), 'all_ips' ); |
43 |
|
diag dump @ips; |
44 |
|
|
45 |
|
ok( my $new_ip = client::change_ip( $ip, $host ), 'change_ip' ); |
46 |
|
ok( ! client::change_ip( $new_ip, $new_ip ), 'change_ip without change' ); |
47 |
|
ok( my $old_ip = client::change_ip( $new_ip, $ip ), 'change_ip back' ); |
48 |
|
cmp_ok( $old_ip, 'eq', $ip, 'ip back' ); |
49 |
|
|
50 |
|
ok( client::remove( $ip ), "remove $ip" ); |