#!/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