Mini Shell
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.
"""
Tests for L{twisted.protocols.finger}.
"""
from twisted.protocols import finger
from twisted.test.proto_helpers import StringTransport
from twisted.trial import unittest
class FingerTests(unittest.TestCase):
"""
Tests for L{finger.Finger}.
"""
def setUp(self):
"""
Create and connect a L{finger.Finger} instance.
"""
self.transport = StringTransport()
self.protocol = finger.Finger()
self.protocol.makeConnection(self.transport)
def test_simple(self):
"""
When L{finger.Finger} receives a CR LF terminated line, it responds
with the default user status message - that no such user exists.
"""
self.protocol.dataReceived(b"moshez\r\n")
self.assertEqual(self.transport.value(), b"Login: moshez\nNo such user\n")
def test_simpleW(self):
"""
The behavior for a query which begins with C{"/w"} is the same as the
behavior for one which does not. The user is reported as not existing.
"""
self.protocol.dataReceived(b"/w moshez\r\n")
self.assertEqual(self.transport.value(), b"Login: moshez\nNo such user\n")
def test_forwarding(self):
"""
When L{finger.Finger} receives a request for a remote user, it responds
with a message rejecting the request.
"""
self.protocol.dataReceived(b"moshez@example.com\r\n")
self.assertEqual(self.transport.value(), b"Finger forwarding service denied\n")
def test_list(self):
"""
When L{finger.Finger} receives a blank line, it responds with a message
rejecting the request for all online users.
"""
self.protocol.dataReceived(b"\r\n")
self.assertEqual(self.transport.value(), b"Finger online list denied\n")
Zerion Mini Shell 1.0