Revision b66e4833 snf-cyclades-app/synnefo/db/pools/tests.py

b/snf-cyclades-app/synnefo/db/pools/tests.py
34 34

  
35 35
from django.test import TestCase
36 36
from synnefo.db.pools import (PoolManager, EmptyPool, BridgePool,
37
                              MacPrefixPool, IPPool)
37
                              MacPrefixPool, IPPool, find_padding,
38
                              bitarray_to_map)
38 39
from bitarray import bitarray
39 40

  
40 41

  
......
136 137
        self.assertEqual(pool.available, bitarray('1' * 39 + '0' * 1))
137 138
        self.assertEqual(pool.reserved, bitarray('1' * 39 + '0' * 1))
138 139

  
140
    def test_shrink_in_use(self):
141
        obj = DummyObject(8)
142
        pool = DummyPool(obj)
143
        pool._reserve(6)
144
        self.assertRaises(Exception, pool.shrink, 3)
145

  
146
    def test_count(self):
147
        obj = DummyObject(10)
148
        pool = DummyPool(obj)
149
        pool._reserve(1)
150
        pool._reserve(3)
151
        pool._reserve(4)
152
        pool._reserve(2, external=True)
153
        self.assertEqual(pool.count_available(), 6)
154
        self.assertEqual(pool.count_unavailable(), 4)
155
        self.assertEqual(pool.count_reserved(), 1)
156
        self.assertEqual(pool.count_unreserved(), 9)
157

  
158

  
159
class HelpersTestCase(TestCase):
160
    def test_find_padding(self):
161
        self.assertEqual(find_padding(1), 7)
162
        self.assertEqual(find_padding(8), 0)
163
        self.assertEqual(find_padding(12), 4)
164
        self.assertEqual(find_padding(16), 0)
165

  
166
    def test_bitarray_to_map(self):
167
        bt = bitarray('01001100101')
168
        map_ = bitarray_to_map(bt)
169
        self.assertEqual(map_, 'X.XX..XX.X.')
170

  
139 171

  
140 172
class BridgePoolTestCase(TestCase):
141 173
    def test_bridge_conversion(self):
......
159 191
        for i in range(0, 65536):
160 192
            self.assertEqual(pool.is_available(i, index=True), False)
161 193

  
194
    def test_mac_prefix_conversion(self):
195
        obj = DummyObject(13)
196
        obj.base = 'aa:00:0'
197
        pool = MacPrefixPool(obj)
198
        for i in range(1, 9):
199
            self.assertEqual("aa:00:%s" % i, pool.get())
200

  
201
    def test_value_to_index(self):
202
        obj = DummyObject(13)
203
        obj.base = 'aa:00:0'
204
        pool = MacPrefixPool(obj)
205
        index = pool.value_to_index('aa:bc:ee')
206
        val = pool.index_to_value(index)
207
        self.assertEqual(val, 'aa:bc:ee')
208

  
162 209

  
163 210
class IPPoolTestCase(TestCase):
164 211
    def test_auto_reservations(self):

Also available in: Unified diff