Show
Ignore:
Timestamp:
04/18/08 19:00:39 (8 months ago)
Author:
daisuke
Message:

lang/perl/WebService-Simple; Add caching

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/WebService-Simple/branch/lwp-base/t/01_basic.t

    r9687 r9694  
    11use strict; 
    22use Test::More; 
     3use Test::MockObject; 
    34 
    45my ($flickr_api_key); 
     
    910        plan( skip_all => "Please set FLICKR_API_KEY to enable this test" ); 
    1011    } else { 
    11         plan( tests => 10 ); 
     12        plan( tests => 13 ); 
    1213    } 
    1314 
     
    3839 
    3940    is( $h->{name}, 'value' ); 
     41 
     42    # Make sure the response is NOT cached by default 
     43    { 
     44        my $tmp = $simple->get( { method => "flickr.test.echo", name => "value" } ); 
     45        isnt( $tmp, $response, "response is NOT cached ($response <=> $tmp)" ); 
     46    } 
    4047} 
     48 
     49SKIP: { 
     50    eval { require Cache::Memory }; 
     51    if ($@) { 
     52        skip(2, "Cache::Memory not installed"); 
     53    } 
     54 
     55    my $called = 0; 
     56    my $simple = WebService::Simple->new( 
     57        base_url => "http://api.flickr.com/services/rest/", 
     58        params   => { 
     59            api_key => $flickr_api_key 
     60        }, 
     61        cache => { 
     62            module => 'Cache::Memory', 
     63        } 
     64    ); 
     65 
     66    my $response; 
     67    for (1..3) { 
     68        my $tmp = $simple->get( { method => "flickr.test.echo", name => "value" } ); 
     69        if ($response) { 
     70            is( $tmp, $response, "got cached $response" ); 
     71        } else { 
     72            $response = $tmp; 
     73        } 
     74    } 
     75}