AlternC/tests/test_demo.pl

106 lines
2.7 KiB
Perl
Raw Normal View History

#!/usr/bin/perl
#use strict;
use WWW::Mechanize;
use mechdump;
my $DEBUG=1;
my $DESKTOP="http://demo.alternc.org/admin";
my $ADMIN_ACCOUNT="admin";
my $ADMIN_PASSWORD="admin";
# We install this domain, this pop account etc. :
my $DOMAIN="demo2.alternc.org";
my $EMAIL="test";
my $POPPASS="coinP4n";
my $FTPLOGIN="test";
my $FTPPASS="p4ncoin";
my $FTPFOLD="/";
# We initialize a mechanize object :
$m = WWW::Mechanize->new( agent => '(Mozilla 5.0) AlternC test' );
# We get the desktop absolute url :
$m->get($DESKTOP);
# We submit the login/password for the adminisrator account :
my $r = $m->submit_form(form_number => 1,
fields => { 'username' => $ADMIN_ACCOUNT, 'password' => $ADMIN_PASSWORD }
);
if ($DEBUG) {
print "LINKS AFTER LOGIN : \n"; dump_links $m;
}
$m->follow_link(url_regex => qr/menu/i ) || die "Login or password incorrect ...";
if ($DEBUG) {
print "LINKS IN LEFT FRAME : \n"; dump_links $m;
}
# For each service, we create one instance of testable one :
# DOMAIN :
print "Adding domain $DOMAIN \n";
$m->follow_link(url_regex => qr/dom_add/i ) || die "Cannot add a new domain ...";
my $r = $m->submit_form(form_number => 1,
fields => { 'newdomain' => $DOMAIN, 'dns' => 1 }
);
if (!$r->is_success()) {
# Impossible d'ajouter le domaine : la form n'existe pas ...
die "Cannot add domain $DOMAIN ...";
}
print " done \n";
# EMAIL :
print "Creating a mail $EMAIL\@$DOMAIN \n";
$m->get("menu.php"); # does relative url works ?
$m->follow_link(url_regex => qr/mail\_list\.php\?domain\=$DOMAIN/i ) || die "Cannot list mails for domain $DOMAIN ...";
$m->follow_link(url_regex => qr/mail\_add\.php\?domain\=$DOMAIN/i ) || die "Cannot find the 'add email' link for domain $DOMAIN ...";
my $r = $m->submit_form(form_number => 1,
fields => { "domain" => $DOMAIN,
"email" => $EMAIL,
"pop" => 1,
"pass" => $POPPASS,
"passconf" => $POPPASS,
"alias" => "",
}
);
if (!$r->is_success()) {
# Impossible d'ajouter le mail : la form n'existe pas ...
die "Cannot add email $EMAIL\@$DOMAIN ...";
}
print " done \n";
# FTP :
print "Creating a ftp account ${ADMIN_ACCOUNT}_${FTPLOGIN} \n";
$m->get("menu.php"); # does relative url works ?
$m->follow_link(url_regex => qr/ftp\_list\.php/i ) || die "Cannot list ftp accounts ...";
$m->follow_link(url_regex => qr/ftp\_add\.php/i ) || die "Cannot find the 'add ftp' link ...";
my $r = $m->submit_form(form_number => 1,
fields => { "id" => 0,
"" => $,
}
);
if (!$r->is_success()) {
# Impossible d'ajouter le mail : la form n'existe pas ...
die "Cannot add email $EMAIL\@$DOMAIN ...";
}
print " done \n";
# SQL :
# sql_list.php