Software /
code /
prosody-modules
File
mod_lib_ldap/dev/t/01-rosters.t @ 6159:82a10e21b7f9
mod_anti_spam: prosody 0.12 compat
diff --git a/mod_anti_spam/trie.lib.lua b/mod_anti_spam/trie.lib.lua
--- a/mod_anti_spam/trie.lib.lua
+++ b/mod_anti_spam/trie.lib.lua
@@ -1,4 +1,4 @@
-local bit = require "prosody.util.bitcompat";
+local bit = require "util.bitcompat";
local trie_methods = {};
local trie_mt = { __index = trie_methods };
author | Menel <menel@snikket.de> |
---|---|
date | Sun, 19 Jan 2025 09:48:10 +0100 |
parent | 809:1d51c5e38faa |
line wrap: on
line source
use strict; use warnings; use lib 't'; use AnyEvent::XMPP::Util qw(split_jid); use TestConnection; use Test::More; sub test_roster { my ( $username, $expected_contacts ) = @_; local $Test::Builder::Level = $Test::Builder::Level + 1; my @contacts; my $conn = TestConnection->new($username); $conn->reg_cb(roster_update => sub { my ( undef, $roster ) = @_; @contacts = sort { $a->{'username'} cmp $b->{'username'} } map { +{ username => (split_jid($_->jid))[0], name => $_->name, groups => [ sort $_->groups ], subscription => $_->subscription, } } $roster->get_contacts; $conn->cond->send; }); my $error = $conn->cond->recv; if($error) { fail($error); return; } @$expected_contacts = sort { $a->{'username'} cmp $b->{'username'} } @$expected_contacts; foreach my $contact (@$expected_contacts) { $contact->{'subscription'} = 'both'; @{ $contact->{'groups'} } = sort @{ $contact->{'groups'} }; } is_deeply(\@contacts, $expected_contacts); } plan tests => 5; test_roster(one => [{ username => 'two', name => 'Jane Testerson', groups => ['everyone', 'admin'], }, { username => 'three', name => 'Jerry Testerson', groups => ['everyone'], }, { username => 'four', name => 'Jack Testerson', groups => ['everyone'], }, { username => 'five', name => 'Jimmy Testerson', groups => ['everyone'], }]); test_roster(two => [{ username => 'one', name => 'John Testerson', groups => ['everyone', 'admin'], }, { username => 'three', name => 'Jerry Testerson', groups => ['everyone'], }, { username => 'four', name => 'Jack Testerson', groups => ['everyone'], }, { username => 'five', name => 'Jimmy Testerson', groups => ['everyone'], }]); test_roster(three => [{ username => 'one', name => 'John Testerson', groups => ['everyone'], }, { username => 'two', name => 'Jane Testerson', groups => ['everyone'], }, { username => 'four', name => 'Jack Testerson', groups => ['everyone'], }, { username => 'five', name => 'Jimmy Testerson', groups => ['everyone'], }]); test_roster(four => [{ username => 'one', name => 'John Testerson', groups => ['everyone'], }, { username => 'two', name => 'Jane Testerson', groups => ['everyone'], }, { username => 'three', name => 'Jerry Testerson', groups => ['everyone'], }, { username => 'five', name => 'Jimmy Testerson', groups => ['everyone'], }]); test_roster(five => [{ username => 'one', name => 'John Testerson', groups => ['everyone'], }, { username => 'two', name => 'Jane Testerson', groups => ['everyone'], }, { username => 'three', name => 'Jerry Testerson', groups => ['everyone'], }, { username => 'four', name => 'Jack Testerson', groups => ['everyone'], }]);