~ubuntu-branches/ubuntu/utopic/exabgp/utopic

« back to all changes in this revision

Viewing changes to QA/unittest/structure.py

  • Committer: Package Import Robot
  • Author(s): Henry-Nicolas Tourneur
  • Date: 2014-03-08 19:07:00 UTC
  • mfrom: (1.1.8)
  • Revision ID: package-import@ubuntu.com-20140308190700-xjbibpg1g6001c9x
Tags: 3.3.1-1
* New upstream release
* Bump python minimal required version (2.7)
* Closes: #726066 Debian packaging improvements proposed by Vincent Bernat
* Closes: #703774 not existent rundir (/var/run/exabgp) after reboot

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/env python
2
 
# encoding: utf-8
3
 
"""
4
 
data.py
5
 
 
6
 
Created by Thomas Mangin on 2009-09-06.
7
 
Copyright (c) 2009-2013 Exa Networks. All rights reserved.
8
 
"""
9
 
 
10
 
import unittest
11
 
 
12
 
from exabgp.structure.environment import environment
13
 
env = environment.setup('')
14
 
 
15
 
from exabgp.protocol.family import AFI,SAFI
16
 
from exabgp.protocol.ip.inet import *
17
 
 
18
 
class TestData (unittest.TestCase):
19
 
        def test_1_nlri_1 (self):
20
 
                self.assertEqual(''.join([chr(c) for c in [32,1,2,3,4]]),to_NLRI('1.2.3.4','32').pack())
21
 
        def test_1_nlri_2 (self):
22
 
                self.assertEqual(''.join([chr(c) for c in [24,1,2,3]]),to_NLRI('1.2.3.4','24').pack())
23
 
        def test_1_nlri_3 (self):
24
 
                self.assertEqual(''.join([chr(c) for c in [20,1,2,3]]),to_NLRI('1.2.3.4','20').pack())
25
 
 
26
 
        def test_2_ip_2 (self):
27
 
                self.assertEqual(str(InetIP('::ffff:192.168.1.26')),'::ffff:192.168.1.26/128')
28
 
                self.assertEqual(str(InetIP('::ffff:192.168.1.26').ip),'::ffff:192.168.1.26')
29
 
 
30
 
        def test_3_ipv6_1 (self):
31
 
                default = InetIP('::')
32
 
                self.assertEqual(str(default),'::/128')
33
 
                self.assertEqual(default.ip,'::')
34
 
                self.assertEqual(default.packedip(),'\0'*16)
35
 
 
36
 
        def test_3_ipv6_2 (self):
37
 
                default = InetIP('1234:5678::')
38
 
                self.assertEqual(str(default),'1234:5678::/128')
39
 
                self.assertEqual(default.ip,'1234:5678::')
40
 
                self.assertEqual(default.packedip(),'\x12\x34\x56\x78'+'\0'*12)
41
 
 
42
 
        def test_3_ipv6_3 (self):
43
 
                default = InetIP('1234:5678::1')
44
 
                self.assertEqual(str(default),'1234:5678::1/128')
45
 
                self.assertEqual(default.ip,'1234:5678::1')
46
 
                self.assertEqual(default.packedip(),'\x12\x34\x56\x78'+'\0'*11 + '\x01')
47
 
 
48
 
        def test_xxx (self):
49
 
                ip = "192.0.2.0"
50
 
                net  = chr (192) + chr(0) + chr(2) +chr(0)
51
 
                bnt = chr(24) + chr (192) + chr(0) + chr(2)
52
 
 
53
 
                pfx = Prefix(AFI.ipv4,ip,24)
54
 
                bgp = BGPNLRI(AFI.ipv4,bnt)
55
 
 
56
 
                self.assertEqual(str(pfx),"%s/24" % ip)
57
 
                self.assertEqual(str(afi),"%s/24" % ip)
58
 
                self.assertEqual(str(bgp),"%s/24" % ip)
59
 
 
60
 
                self.assertEqual(pfx.pack(),bnt)
61
 
                self.assertEqual(afi.pack(),bnt)
62
 
                self.assertEqual(bgp.pack(),bnt)
63
 
 
64
 
                # README: NEED To add ASN test
65
 
                # README: NEED To add NLRI test
66
 
 
67
 
if __name__ == '__main__':
68
 
        unittest.main()
69