-
Notifications
You must be signed in to change notification settings - Fork 63
Expand file tree
/
Copy pathZone.t
More file actions
63 lines (53 loc) · 3.5 KB
/
Copy pathZone.t
File metadata and controls
63 lines (53 loc) · 3.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
use strict;
use Test::More qw(no_plan);
use Test::Exception;
use lib "lib";
BEGIN { use_ok('Netdot::Model::Zone'); }
my $obj = Zone->insert(
{
name => 'domain.name',
},
);
isa_ok($obj, 'Netdot::Model::Zone', 'insert zone');
my $alias = ZoneAlias->insert(
{
name => 'alias.name',
zone => $obj->id,
},
);
isa_ok($alias, 'Netdot::Model::ZoneAlias', 'insert zone alias');
lives_and { is(Zone->_dot_arpa_to_ip('1.in-addr.arpa'), '1.0.0.0/8', 'IPv4 /8 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('2.1.in-addr.arpa'), '1.2.0.0/16', 'IPv4 /16 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('3.2.1.in-addr.arpa'), '1.2.3.0/24', 'IPv4 /24 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('4.3.2.1.in-addr.arpa'), '1.2.3.4/32', 'IPv4 /32 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('1.ip6.arpa'), '1000::/4', 'IPv6 /4 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('2.1.ip6.arpa'), '1200::/8', 'IPv6 /8 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('3.2.1.ip6.arpa'), '1230::/12', 'IPv6 /12 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('4.3.2.1.ip6.arpa'), '1234::/16', 'IPv6 /16 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('5.4.3.2.1.ip6.arpa'), '1234:5000::/20', 'IPv6 /20 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('6.5.4.3.2.1.ip6.arpa'), '1234:5600::/24', 'IPv6 /24 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('7.6.5.4.3.2.1.ip6.arpa'), '1234:5670::/28', 'IPv6 /28 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('8.7.6.5.4.3.2.1.ip6.arpa'), '1234:5678::/32', 'IPv6 /32 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('9.8.7.6.5.4.3.2.1.ip6.arpa'), '1234:5678:9000::/36', 'IPv6 /36 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('a.9.8.7.6.5.4.3.2.1.ip6.arpa'), '1234:5678:9a00::/40', 'IPv6 /40 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('b.a.9.8.7.6.5.4.3.2.1.ip6.arpa'), '1234:5678:9ab0::/44', 'IPv6 /44 .arpa zone to address') };
lives_and { is(Zone->_dot_arpa_to_ip('c.b.a.9.8.7.6.5.4.3.2.1.ip6.arpa'), '1234:5678:9abc::/48', 'IPv6 /48 .arpa zone to address') };
is(Zone->search(name=>'sub.domain.name')->first, $obj, 'search scalar' );
is_deeply([Zone->search(name=>'sub.domain.name')], [$obj], 'search array' );
is(Zone->search(name=>'sub.DoMaIn.NaMe')->first, $obj, 'case insensitive search scalar' );
is_deeply([Zone->search(name=>'sub.DoMaIn.NaMe')], [$obj], 'case insensitive search array' );
is(Zone->search(name=>'fake')->first, undef, 'search empty scalar' );
is_deeply([Zone->search(name=>'fake')], [], 'search empty array' );
is(Zone->search(name=>'alias.name')->first, $obj, 'alias search scalar' );
is_deeply([Zone->search(name=>'alias.name')], [$obj], 'alias search array' );
is(Zone->search(name=>'AlIaS.NaMe')->first, $obj, 'case insensitive alias search scalar' );
is_deeply([Zone->search(name=>'AlIaS.NaMe')], [$obj], 'case insensitive alias search array' );
is(Zone->search_like(name=>'domain.name')->first, $obj, 'search_like scalar' );
is_deeply([Zone->search_like(name=>'domain.name')], [$obj], 'search_like array' );
is(Zone->search_like(name=>'fake')->first, undef, 'search_like empty scalar' );
is_deeply([Zone->search_like(name=>'fake')], [], 'search_like empty array' );
my $serial = $obj->serial;
$obj->update_serial();
is($obj->serial, $serial+1, 'update_serial');
$obj->delete;
isa_ok($obj, 'Class::DBI::Object::Has::Been::Deleted', 'delete');