AnyEvent-Consul
    
    
  
  
  
view release on metacpan or search on metacpan
SKIP: {
    skip "consul test environment not available", 4 unless $tc;
    my $kv = AnyEvent::Consul->kv(port => $tc->port);
    ok $kv, "got KV API object";
    my $cv = AE::cv;
    $kv->put(foo => "bar", cb => sub {
        my ($r, $meta) = @_;
        ok $r, "key was updated";
        $kv->get("foo", cb => sub {
            my ($r, $meta) = @_;
            is $r->value, "bar", "returned KV has correct value";
            isa_ok $meta, 'Consul::Meta', "got server meta object";
            $cv->send;
        });
    });
    
  
  
  t/20-watch.t view on Meta::CPAN
SKIP: {
    skip "consul test environment not available", 17 unless $tc;
    my $kv = AnyEvent::Consul->kv(port => $tc->port);
    ok $kv, "got KV API object";
    my $cv = AE::cv;
    $kv->put(foo => "bar", cb => sub {
        my ($r, $meta) = @_;
        ok $r, "key was updated";
        $kv->get("foo", cb => sub {
            my ($r, $meta) = @_;
            is $r->value, "bar", "returned KV has correct value";
            isa_ok $meta, 'Consul::Meta', "got server meta object";
            $kv->get("foo", index => $meta->index, cb => sub {
                my ($r, $meta) = @_;
                is $r->value, "baz", "watched KV has correct value";
                $cv->send;
            });
            $kv->put(foo => "baz", cb => sub {
                my ($r, $meta) = @_;
                ok $r, "key was updated";
            });
        });
    });
    $cv->recv;
}
done_testing;
    
  
  
  
( run in 0.498 second using v1.01-cache-2.11-cpan-0a6323c29d9 )