Mercurial > prosody-modules
view mod_lib_ldap/dev/t/TestConnection.pm @ 4764:a754f7e380b2
mod_dnsupdate: Rewrite port config vs DNS comparison code
I'm not sure if it was correct, which means it was hard to understand
and thus needed to be simplified. Hope this accomplishes that.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 08 Nov 2021 23:03:14 +0100 |
parents | 07582b8aaf84 |
children |
line wrap: on
line source
package TestConnection; use strict; use warnings; use parent 'AnyEvent::XMPP::IM::Connection'; use 5.010; our $HOST = 'localhost'; our $TIMEOUT = 5; our %PASSWORD_FOR = ( one => '12345', two => '23451', three => '34512', four => '45123', five => '51234', six => '123456', seven => '1234567', ); sub new { my ( $class, $username, %options ) = @_; my $cond = AnyEvent->condvar; my $timer = AnyEvent->timer( after => $TIMEOUT, cb => sub { $cond->send('timeout'); }, ); my $self = $class->SUPER::new( username => $username, domain => $HOST, password => $options{'password'} // $PASSWORD_FOR{$username}, resource => 'test bot', ); $self->reg_cb(error => sub { my ( undef, $error ) = @_; $cond->send($error->string); }); bless $self, $class; $self->{'condvar'} = $cond; $self->{'timeout_timer'} = $timer; $self->connect; return $self; } sub cond { my ( $self ) = @_; return $self->{'condvar'}; } 1;