Changeset 16937 for lang/perl/Atomik

Show
Ignore:
Timestamp:
08/01/08 15:10:13 (5 years ago)
Author:
daisuke
Message:

still broken, but implemented entry_update

Location:
lang/perl/Atomik/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Atomik/trunk/lib/Atomik/Client.pm

    r16932 r16937  
    133133} 
    134134 
     135sub entry_update { 
     136    my ($self, %args) = @_; 
     137 
     138    my $uri = $args{uri} || confess "no URI given to entry_update()"; 
     139    my $entry = $args{entry} || confess "no entry given to entry_update()"; 
     140 
     141    my $request = $self->request_create( 
     142        %args, 
     143        method => 'PUT', 
     144    ); 
     145 
     146    my $content  = $entry->as_xml(); 
     147    $request->content_type( (&Atomik::MediaType::ENTRY)->as_string ); 
     148    my $response = $self->send_request( request => $request ); 
     149    if (! $response->is_success) { 
     150        confess "Request to $uri failed: " . $response->as_string; 
     151    } 
     152 
     153    my $ct = Atomik::MediaType->from_string($response->content_type); 
     154    $ct->assert_subtype_of( &Atomik::MediaType::ENTRY ); 
     155 
     156    my $result = Atomik::Entry->from_xml( $response->content_ref ); 
     157    return $result; 
     158} 
    135159 
    136160sub send_request { 
  • lang/perl/Atomik/trunk/t/21_entry_crud.t

    r16930 r16937  
    33use Test::More; 
    44use Test::Atomik 
    5     tests => 8, 
     5    tests => 9, 
    66    network => 1, 
    77    env_default => { 
     
    4646    ok( $got_entry, "Accessed entry $entry_uri" ); 
    4747    isa_ok( $got_entry, 'Atomik::Entry' ); 
     48 
     49    $entry->content( "New text" ); 
     50    my $updated_entry = $client->entry_update( uri => $entry_uri, entry => $entry ); 
     51 
     52    is( $updated_entry->content, "New text" ); 
    4853} 
    4954