152 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			152 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | #!/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> |