#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Test::Most tests => 5; use lib qw ( lib ); use_ok('My::NewModule::Apache'); my $apache_config_path = 't/conf/etc/apache2/sites-available'; my $virtual_host_name = 'aac.example.com.conf'; my $config_file = "$apache_config_path/$virtual_host_name"; is($config_file,'t/conf/etc/apache2/sites-available/aac.example.com.conf',"Our config file is: $config_file"); my $conf = new Apache::Admin::Config ( "$config_file", -indent => 2 ) or die $Apache::Admin::Config::ERROR; $conf->save('-reformat'); isa_ok($conf,'Apache::Admin::Config'); my @result = $conf->select( 'section' ); foreach my $result ( @result ){ isa_ok($result,'Apache::Admin::Config::Tree'); is($result->name,'VirtualHost','Found our Virtual Host container for ' . $result->value); # print 'Name: ' . $result->name . ' : ' . $result->value . "\n"; # warn Dumper( $result ); foreach my $child ( $result->select( 'directive' ) ){ # isa_ok($child,'Apache::Admin::Config::Tree'); print 'Directive: ' . $child->name . ' : ' . $child->value . "\n"; } foreach my $section_child ( $result->select( 'section' ) ){ # isa_ok($section_child,'Apache::Admin::Config::Tree'); print 'Section: ' . $section_child->name . ' : ' . $section_child->value . "\n"; warn Dumper( $section_child->select('directive') ); # ->select('directive') ); foreach my $x ( @{$section_child->select('directive')} ){ print $x->name . "\n"; } } } # warn Dumper($conf->section('VirtualHost')); #### $ perl -T t/11-aac.t 1..6 ok 1 - use My::NewModule::Apache; ok 2 - Our config file is: t/conf/etc/apache2/sites-available/cg.example.com.conf # Looks like you planned 6 tests but ran 2. #### #!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Config::General; use Test::Most tests => 6; use lib qw ( lib ); use_ok('My::NewModule::Apache'); my $apache_config_path = 't/conf/etc/apache2/sites-available'; my $virtual_host_name = 'cg.example.com'; my $virtual_host_conf_name = $virtual_host_name . '.conf'; my $config_file = "$apache_config_path/$virtual_host_conf_name"; is($config_file,'t/conf/etc/apache2/sites-available/cg.example.com.conf',"Our config file is: $config_file"); my $conf = Config::General->new( -ConfigFile => "$config_file", 'ApacheCompatible' => 1 ); # can_ok($conf,'params'); my %config = $conf->getall; # warn Dumper( \%config ); my $new_virtual_host_name = 'www.our_new_site.com'; my $new_config_conf_file = "$apache_config_path/$new_virtual_host_name"; my $new_virtual_host_conf_name = $new_virtual_host_name . '.conf'; foreach my $key (keys %{$config{'VirtualHost'}->{'*:80'}}){ if(ref $config{'VirtualHost'}->{'*:80'}->{$key} eq 'HASH'){ # skip this for the moment } else { $config{'VirtualHost'}->{'*:80'}->{$key} =~ s/$virtual_host_name/$new_virtual_host_name/; } } # warn Dumper( \%config ); my $new_conf = $conf->save_file( "$new_config_conf_file", \%config ); #### $ perl -T t/11-cg.t 1..6 ok 1 - use My::NewModule::Apache; ok 2 - Our config file is: t/conf/etc/apache2/sites-available/cg.example.com.conf # Looks like you planned 6 tests but ran 2.