Changeset 1063

Show
Ignore:
Timestamp:
09/13/07 23:06:46 (15 months ago)
Author:
wichert
Message:

Split mockers into a separate file

Location:
trunk/pyrad/tests
Files:
1 added
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/pyrad/tests/testClient.py

    r1061 r1063  
    1 import fcntl 
    2 import os 
    31import socket 
    42import unittest 
     
    97from pyrad.packet import AccessRequest 
    108from pyrad.packet import AccountingRequest 
    11 from pyrad.packet import PacketError 
     9from pyrad.packet.tests.mock import MockPacket 
     10from pyrad.packet.tests.mock import MockSocket 
    1211 
    1312BIND_IP = "127.0.0.1" 
    1413BIND_PORT = 53535 
    15  
    16  
    17 class MockPacket: 
    18     reply = object() 
    19  
    20     def __init__(self, code, verify=False, error=False): 
    21         self.code=code 
    22         self.data={} 
    23         self.verify=verify 
    24         self.error=error 
    25  
    26     def CreateReply(self, packet=None): 
    27         if self.error: 
    28             raise PacketError 
    29         return self.reply 
    30  
    31     def VerifyReply(self, reply, rawreply): 
    32         return self.verify 
    33  
    34     def RequestPacket(self): 
    35         return "request packet" 
    36  
    37     def has_key(self, key): 
    38         return self.data.has_key(key) 
    39  
    40     def __setitem__(self, key, value): 
    41         self.data[key]=[value] 
    42  
    43     def __getitem__(self, key): 
    44         return self.data[key] 
    45  
    46  
    47 class MockSocket: 
    48     def __init__(self, domain, type, data=None): 
    49         self.domain=domain 
    50         self.type=type 
    51         self.closed=False 
    52         self.options=[] 
    53         self.address=None 
    54         self.output=[] 
    55  
    56         if data is not None: 
    57             (self.read_end, self.write_end)=os.pipe() 
    58             fcntl.fcntl(self.write_end, fcntl.F_SETFL, os.O_NONBLOCK) 
    59             os.write(self.write_end, data) 
    60             self.data=data 
    61         else: 
    62             self.read_end=1 
    63             self.write_end=None 
    64  
    65     def fileno(self): 
    66         return self.read_end 
    67  
    68     def bind(self, address): 
    69         self.address=address 
    70  
    71     def recv(self, buffer): 
    72         return self.data[:buffer] 
    73  
    74     def sendto(self, data, target): 
    75         self.output.append((data, target)) 
    76  
    77     def setsockopt(self, level, opt, value): 
    78         self.options.append((level, opt, value)) 
    79  
    80     def close(self): 
    81         self.closed=True 
    8214 
    8315 
  • trunk/pyrad/tests/testServer.py

    r1062 r1063  
    5151        self.assertEqual(server.bound, ["one", "two", "three"]) 
    5252 
    53         Server.BindToAddress=btoa 
     53        Server.BindToAddress=bta 
    5454 
    5555