~mcfletch/pyqnet/trunk

« back to all changes in this revision

Viewing changes to qnet/tests/test_network.py

  • Committer: Mike C. Fletcher
  • Date: 2008-08-07 19:12:58 UTC
  • Revision ID: mcfletch@vrplumber.com-20080807191258-rhouu25jsja3w74k
Use protocol's message class for decoding messages (allows for different wire formats)

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
import unittest, random, time, logging
3
3
from qnet import network,messageset,nonblocking,idgenerator
4
4
from qnet import reliable,stateless
5
 
from qnet.message import Message 
 
5
from qnet.message import Message,StatelessMessage
6
6
from qnet.package import Package 
7
7
from qnet.channel import Channel
8
8
log = logging.getLogger( 'qnet.test_network' )
13
13
        def setUp( self ):
14
14
                self.channel = Channel( ('127.0.0.1',20000) )
15
15
        def test_encode( self ):
16
 
                m = Message( id=1, payload = 'test' )
 
16
                m = StatelessMessage( id=1, payload = 'test' )
17
17
                value = m.encode()
18
18
                assert value[:2] == '\000\001' # id
19
19
                assert value[2:4] == '\000\004' # length of the payload
64
64
        def test_round_trip( self ):
65
65
                """Test that we round-trip for packages properly"""
66
66
                value = self.package.encode( )
67
 
                acks,messages = self.package.decode( value )
 
67
                acks,messages,payload = self.package.decode( value )
 
68
                messages.decode( payload, self.channel.protocol.MESSAGE_CLASS )
68
69
                assert len(acks) == 0
69
70
                assert len(messages) == 2
70
71
                assert messages[1].id == 2
74
75
                for message in self.messages:
75
76
                        self.package.append_ack( message )
76
77
                value = self.package.encode( )
77
 
                acks,messages = self.package.decode( value )
 
78
                acks,messages,payload = self.package.decode( value )
78
79
                assert len(acks) == 2
79
80
                assert acks == [1,2], acks
80
81