#!/usr/bin/perl -w #---------------------------------------------------------------------- # Copyright 1999-2003 Mitel Networks Corporation # This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. #---------------------------------------------------------------------- =head1 NAME testing-conf -- configure testing service =head1 DESCRIPTION This action sets up the testing service when you first install e-smith-test, setting the "destruction" property to 0 (non-destructive). It is a no-op if the "destruction" property is already defined. =begin testing use esmith::ConfigDB; $ENV{ESMITH_CONFIG_DB} = "00e-smith-test/configuration"; unlink $ENV{ESMITH_CONFIG_DB}; ok(my $conf = esmith::ConfigDB->create(), "Create new config file"); ok(my $test_service = $conf->new_record('testing', {type => 'service'}), "Create new record for testing service"); isa_ok($test_service, 'esmith::DB::Record'); ok(not(defined($test_service->prop('destruction'))), "Testing should be absent before we run"); is(system("$^X $Original_File"), 0, "System command returned 0"); $conf = esmith::ConfigDB->open(); $test_service = $conf->get('testing'); ok(defined($test_service->prop('destruction')), "Destruction is now defined"); $test_service->set_prop('destruction', 1); is(system("$^X $Original_File"), 0, "System command returned 0"); $conf = esmith::ConfigDB->open(); $test_service = $conf->get('testing'); is($test_service->prop('destruction'), 1, "Destruction is left alone if already defined"); $test_service->set_prop('destruction', 0); is(system("$^X $Original_File"), 0, "System command returned 0"); $conf = esmith::ConfigDB->open(); $test_service = $conf->get('testing'); is($test_service->prop('destruction'), 0, "Destruction is left alone if already defined, even if 0"); =end testing =cut use strict; use esmith::ConfigDB; my $conf = esmith::ConfigDB->open() or die "Configuration database does not exist"; if (my $test_service = $conf->get('testing') || $conf->new_record('testing', { type => 'service'} )) { unless (defined $test_service->prop('destruction')) { $test_service->set_prop('destruction', 0); } } exit 0;