Alzabo
view release on metacpan or search on metacpan
{
my $val;
if ( length $config->{$k} )
{
$val = "'$config->{$k}'";
}
else
{
$val = "undef";
}
$c .= "'$k' => $val,\n";
}
$c .= ")";
$mod =~ s/"'CONFIG'"/$c/;
my $config_pm = File::Spec->catfile( 'lib', 'Alzabo', 'Config.pm' );
open MOD, '>', $config_pm
or die "can't write to $config_pm: $!\n";
print MOD $mod
or die "can't write to $config_pm: $!\n";
close MOD
or die "can't close $config_pm: $!\n";
}
sub test_config
{
my $tests = shift;
return if $opts{automated};
my @config;
my %names = ( mysql => 'Mysql',
pg => 'Postgres',
oracle => 'Oracle' );
foreach my $t ( sort keys %$tests )
{
my $name = $names{$t};
print <<'EOF';
The information from the following questions are used solely for
testing the pieces of Alzabo that require a real database for proper
testing.
EOF
my $do = Module::Build->prompt( " Do tests with $name RDBMS?", 'yes' );
next unless $do =~ /^y/i;
print <<"EOF";
Please provide a username that can be used to connect to the $name
RDBMS? This user must have the ability to create a new
database/schema.
EOF
my $user = Module::Build->prompt( ' Username?' );
my $password;
if ($user)
{
$password = Module::Build->prompt( " Password for $user?" );
}
print <<"EOF";
What host is the $name RDBMS located on. Press enter to skip this if
the database server is located on the localhost or can be determined
in another way (for example, Oracle can use TNS to find the database).
EOF
my $host = Module::Build->prompt( ' Host?' );
print <<"EOF";
What port is the $name RDBMS located on. Press enter to skip this.
EOF
my $port = Module::Build->prompt( ' Port?' );
print <<'EOF';
Please provide a database name that can be used for testing. A
database/schema with this name will be created and dropped during the
testing process.
EOF
my $db_name = Module::Build->prompt( ' Database name?', "test_alzabo_$t" );
push @config,
{ rdbms => $t,
user => $user,
password => $password,
host => $host,
port => $port,
schema_name => $db_name,
};
}
return \@config;
}
( run in 0.591 second using v1.01-cache-2.11-cpan-5a3173703d6 )