2012-03-13 20:14:37 +04:00
# -*- coding: utf-8 -*-
#
2008-05-25 18:47:12 +04:00
# Unix SMB/CIFS implementation.
# Copyright © Jelmer Vernooij <jelmer@samba.org> 2008
2011-09-13 03:10:37 +04:00
#
2008-05-25 18:47:12 +04:00
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
2011-09-13 03:10:37 +04:00
#
2008-05-25 18:47:12 +04:00
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
2011-09-13 03:10:37 +04:00
#
2008-05-25 18:47:12 +04:00
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
2010-12-05 18:56:27 +03:00
""" Tests for samba.messaging. """
2008-05-26 15:31:57 +04:00
from samba . messaging import Messaging
2010-06-19 20:58:18 +04:00
from samba . tests import TestCase
2012-10-29 08:33:59 +04:00
from samba . dcerpc . server_id import server_id
2008-05-25 18:47:12 +04:00
class MessagingTests ( TestCase ) :
2010-06-19 20:58:18 +04:00
2008-05-26 03:52:35 +04:00
def get_context ( self , * args , * * kwargs ) :
return Messaging ( * args , * * kwargs )
2012-09-16 16:18:51 +04:00
2008-05-26 03:52:35 +04:00
def test_register ( self ) :
x = self . get_context ( )
def callback ( ) :
pass
msg_type = x . register ( callback )
x . deregister ( callback , msg_type )
2012-10-29 08:34:41 +04:00
def test_all_servers ( self ) :
x = self . get_context ( )
self . assertTrue ( isinstance ( x . irpc_all_servers ( ) , list ) )
def test_by_name ( self ) :
x = self . get_context ( )
for name in x . irpc_all_servers ( ) :
self . assertTrue ( isinstance ( x . irpc_servers_byname ( name . name ) , list ) )
2008-05-26 03:52:35 +04:00
def test_assign_server_id ( self ) :
x = self . get_context ( )
2012-10-29 08:33:59 +04:00
self . assertTrue ( isinstance ( x . server_id , server_id ) )
2008-05-26 03:52:35 +04:00
def test_ping_speed ( self ) :
server_ctx = self . get_context ( ( 0 , 1 ) )
def ping_callback ( src , data ) :
server_ctx . send ( src , data )
def exit_callback ( ) :
print " received exit "
msg_ping = server_ctx . register ( ping_callback )
msg_exit = server_ctx . register ( exit_callback )
def pong_callback ( ) :
print " received pong "
client_ctx = self . get_context ( ( 0 , 2 ) )
msg_pong = client_ctx . register ( pong_callback )
2009-11-07 19:57:50 +03:00
client_ctx . send ( ( 0 , 1 ) , msg_ping , " testing " )
client_ctx . send ( ( 0 , 1 ) , msg_ping , " " )
2008-05-26 03:52:35 +04:00