diff --git a/lib/NGCP/Template/Object.pm b/lib/NGCP/Template/Object.pm index dff14765..5216f11e 100644 --- a/lib/NGCP/Template/Object.pm +++ b/lib/NGCP/Template/Object.pm @@ -178,9 +178,7 @@ sub get_firstname if (not exists $self->{config}{hosts}{$hostname}) { return 'self'; } else { - my @hosts = ($hostname); - my $peername = $self->get_peername($hostname); - push @hosts, $peername if defined $peername; + my @hosts = ($hostname, $self->get_sibnames($hostname)); return (sort @hosts)[0]; } diff --git a/testsuite/NGCP_Template_Object.t b/testsuite/NGCP_Template_Object.t index f9b92ee8..94cfd113 100644 --- a/testsuite/NGCP_Template_Object.t +++ b/testsuite/NGCP_Template_Object.t @@ -6,7 +6,7 @@ use warnings; use Cwd; use Test::More; -plan tests => 47; +plan tests => 48; use_ok('NGCP::Template::Object'); @@ -136,11 +136,9 @@ is_deeply([ $obj_carrier->get_sibnames('web01c') ], [ qw(web01a web01b) ], 'sibl is($obj_ce->get_firstname('non-existent'), 'self', 'host unknown has self as first name'); is($obj_ce->get_firstname('self'), 'self', 'host self has self as first name'); -# XXX: firstname is not spN ready for now. -$obj_pro->{config}{hosts}{sp2}{peer} = 'sp1'; is($obj_pro->get_firstname('sp1'), 'sp1', 'host sp1 has sp1 as first name'); is($obj_pro->get_firstname('sp2'), 'sp1', 'host sp2 has sp1 as first name'); -$obj_pro->{config}{hosts}{sp2}{peer} = 'sp3'; +is($obj_pro->get_firstname('sp3'), 'sp1', 'host sp3 has sp1 as first name'); # Check get_pairname(). is($obj_ce->get_pairname('self'), 'spce', 'host self has sp as pairname');