File: test_mocked_socket.py

package info (click to toggle)
python-cymruwhois 1.6-4.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 184 kB
  • sloc: python: 363; makefile: 82; sh: 20
file content (84 lines) | stat: -rw-r--r-- 2,647 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import cymruwhois
import socket
import errno

class FakeFile:
    def __init__(self, lines):
        self.lines = lines
        self.iter = iter(lines)
        self.written = []
    def write(self, data):
        self.written.append(data)
        return
    def flush(self):
        return
    def readline(self):
        try :
            try:
              return self.iter.next()
            except AttributeError:
              return self.iter.__next__() # for Python 3
        except StopIteration:
            raise socket.error(errno.EAGAIN, 'bleh')
    def read(self, bytes):
        try :
            try:            
              return self.iter.next()
            except AttributeError:
              return self.iter.__next__() # for Python 3
        except StopIteration:
            raise socket.error(errno.EAGAIN, 'bleh')

class FakeSocket:
    def __init__(self):
        pass
    def setblocking(self,x):
        pass

def test_normal():
    l=cymruwhois.Client(memcache_host=None)
    l.socket = FakeSocket()
    l.file = FakeFile([
        '22990   | 169.226.11.11    | 169.226.0.0/16      | US | ALBANYEDU - The University at Albany'
    ])
    l._connected = True

    rec = l.lookup("169.226.11.11")
    assert rec.asn      == '22990'
    assert rec.cc       == 'US'
    assert rec.owner    == 'ALBANYEDU - The University at Albany'


def test_multiple_returned_for_a_single_ip():
    l=cymruwhois.Client(memcache_host=None)
    l.socket = FakeSocket()
    l.file = FakeFile([
        '22990   | 169.226.11.11    | 169.226.0.0/16      | US | ALBANYEDU - The University at Albany',
        '22991   | 169.226.11.11    | 169.226.0.0/16      | US | ALBANYEDU - The University at Albany',
        '15169   | 66.102.1.104     | 66.102.0.0/23       | US | GOOGLE - Google Inc.',
    ])
    l._connected = True

    rec = l.lookup("169.226.11.11")
    assert rec.asn      == '22990'

    rec = l.lookup("66.102.1.104")
    assert rec.asn      == '15169'


def test_multiple_returned_for_a_single_ip_dict():
    l=cymruwhois.Client(memcache_host=None)
    l.socket = FakeSocket()
    l.file = FakeFile([
        '22990   | 169.226.11.11    | 169.226.0.0/16      | US | ALBANYEDU - The University at Albany',
        '22991   | 169.226.11.11    | 169.226.0.0/16      | US | ALBANYEDU - The University at Albany',
        '15169   | 66.102.1.104     | 66.102.0.0/23       | US | GOOGLE - Google Inc.',
    ])
    l._connected = True

    recs = l.lookupmany_dict(['169.226.11.11','66.102.1.104'])
    rec = recs['169.226.11.11']
    assert rec.asn      == '22990'

    rec = recs['66.102.1.104']
    assert rec.asn      == '15169'