use Test::More; use lib qw( ../lib ./lib ); use Egg::Helper; eval{ require Egg::Model::Cache }; if ($@) { plan skip_all => "Egg::Model::Cache is not installed."; } else { eval{ require Egg::Plugin::LWP }; if ($@) { plan skip_all => "Egg::Plugin::LWP is not installed."; } else { eval { require Cache::FileCache }; if ($@) { plan skip_all => "Cache::FileCache is not installed."; } else { test(); } } } sub test { plan tests=> 16; my $tool = Egg::Helper->helper_tools; my $root = $tool->helper_tempdir. '/Vtest'; $tool->helper_create_file ($tool->helper_yaml_load(join '', ), { root=> $root }); ok my $e= Egg::Helper->run( vtest=> { vtest_plugins => [qw/ Cache::UA /], vtest_root => $root, vtest_config => { MODEL=> ['Cache'], plugin_cache_ua => { cache_name => 'cache_test', allow_hosts=> [qw/ 127.0.0.1 /], }, }, }), 'Constructor.'; isa_ok $e, 'Egg::Plugin::Cache::UA'; isa_ok $e, 'Egg::Plugin::LWP'; can_ok $e, 'ua'; ok my $ua= $e->ua, q{my $ua= $e->ua}; isa_ok $ua, 'Egg::Plugin::LWP::handler'; can_ok $e, 'cache_ua'; ok my $cu= $e->cache_ua, q{my $cu= $e->cache_ua}; isa_ok $cu, 'Egg::Plugin::Cache::UA::handler'; can_ok $cu, 'cache'; ok my $cache= $cu->cache, q{my $cache= $cu->cache}; isa_ok $cache, 'Vtest::Model::Cache::Test'; can_ok $cu, 'get'; can_ok $cu, 'output'; can_ok $cu, 'delete'; can_ok $cu, 'remove'; } __DATA__ filename: /lib/Vtest/Model/Cache/Test.pm value: | package Vtest::Model::Cache::Test; use strict; use warnings; use base qw/ Egg::Model::Cache::Base /; __PACKAGE__->config( label_name => 'cache_test', cache_root => Vtest->path_to('cache'), namespace => 'CacheTest', ); __PACKAGE__->setup_cache('Cache::FileCache'); 1;