smeserver-base/root/etc/e-smith/web/functions/localnetworks

152 lines
5.1 KiB
Perl
Executable File

#!/usr/bin/perl -wT
#----------------------------------------------------------------------
# heading : Security
# description : Local networks
# navigation : 5000 5300
#----------------------------------------------------------------------
#----------------------------------------------------------------------
# copyright (C) 2002 Mitel Networks Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Technical support for this program is available from Mitel Networks
# Please visit our web site www.mitel.com/sme/ for details.
#----------------------------------------------------------------------
use strict;
use esmith::FormMagick::Panel::localnetworks;
my $fm = esmith::FormMagick::Panel::localnetworks->new();
$fm->display();
=pod
=head1 NAME
localnetworks -- add/remove local networks
=head2 DESCRIPTION
This screen allows the administrator to add or delete local networks.
=begin testing
use esmith::FormMagick::Tester;
use esmith::TestUtils;
use esmith::TestUtils;
use esmith::ConfigDB;
use esmith::AccountsDB;
my $panel = $Original_File;
my $ua = esmith::FormMagick::Tester->new();
my $c = esmith::ConfigDB->open();
my $a = esmith::AccountsDB->open();
is (mode($panel), '4750', "Check permissions on script");
ok ($ua->get_panel($panel), "ABOUT TO RUN L10N TESTS");
is ($ua->{status}, 200, "200 OK");
ok ($ua->set_language("en-us"), "Set language to U.S. English");
ok ($ua->get_panel($panel), "Get panel");
is ($ua->{status}, 200, "200 OK");
like($ua->{content}, qr/Local networks/, "Saw translated form title");
#
# Testing creating local networks
#
ok ($ua->get_panel($panel), "ABOUT TO TEST CREATING NETWORK");
ok ($ua->follow("Click here"), "Follow 'create network' link");
is ($ua->{status}, 200, "200 OK");
like($ua->{content}, qr/Add a local network/, "Saw page title");
like($ua->{content}, qr/Network address/, "Saw network address field");
like($ua->{content}, qr/Subnet mask/, "Saw subnet mask field");
like($ua->{content}, qr/Router/, "Saw router field");
like($ua->{content}, qr/Add/, "Saw add button");
#
# checking error handling
#
$ua->field(networkAddress => '10.0.0.10000');
$ua->field(networkMask => '10.0.0.10000');
$ua->click("Add");
# like($ua->{content}, qr/Invalid network address/, "Saw network address validation message");
like($ua->{content}, qr/Invalid subnet mask/, "Saw submask validation message");
#
# now let's actually add one
#
SKIP: {
skip 10, "Unsafe!" unless destruction_ok();
ok ($ua->follow("Click here"), "ACTUALLY ADDING A NETWORK");
$ua->field(networkAddress => '10.0.0.0');
$ua->field(networkMask => '255.255.255.0');
$ua->field(networkRouter => '10.0.0.1');
$ua->click("Add");
like($ua->{content}, qr/Successfully added network/, "Saw success message");
ok ($ua->follow("Click here"), "ADDING NETWORK WITH DEFAULT ROUTER");
$ua->field(networkAddress => '10.0.0.0');
$ua->field(networkMask => '255.255.255.0');
ok ($ua->follow("Remove"), "REMOVING NETWORK");
like($ua->{content}, qr/Are you sure/, "Saw confirmation message");
$ua->click("Remove");
like($ua->{content}, qr/Successfully deleted/, "Saw success message");
}
=end testing
=cut
__DATA__
<form title="Local networks" header="/etc/e-smith/web/common/head.tmpl" footer="/etc/e-smith/web/common/foot.tmpl">
<page name="First" pre-event="print_status_message()">
<description>FIRSTPAGE_DESC</description>
<subroutine src="print_network_table()" />
</page>
<page name="Add" pre-event="turn_off_buttons()" post-event="add_network()">
<title>ADD_TITLE</title>
<description>ADD_DESC</description>
<field type="text" id="networkAddress" validation="ip_number">
<label>NETWORK_ADDRESS</label>
</field>
<field type="text" id="networkMask" validation="subnet_mask">
<label>SUBNET_MASK</label>
</field>
<field type="text" id="networkRouter" validation="ip_number">
<label>ROUTER</label>
</field>
<subroutine src="print_button('ADD')" />
</page>
<page name="Remove" post-event="remove_network()">
<title>REMOVE_TITLE</title>
<description>REMOVE_DESC</description>
<subroutine src="show_remove_network_summary()" />
</page>
</form>