|
Packit |
6bd9ab |
#!/usr/bin/env python
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
# test_pynslcd_cache.py - tests for the pynslcd caching functionality
|
|
Packit |
6bd9ab |
#
|
|
Packit |
6bd9ab |
# Copyright (C) 2013 Arthur de Jong
|
|
Packit |
6bd9ab |
#
|
|
Packit |
6bd9ab |
# This library is free software; you can redistribute it and/or
|
|
Packit |
6bd9ab |
# modify it under the terms of the GNU Lesser General Public
|
|
Packit |
6bd9ab |
# License as published by the Free Software Foundation; either
|
|
Packit |
6bd9ab |
# version 2.1 of the License, or (at your option) any later version.
|
|
Packit |
6bd9ab |
#
|
|
Packit |
6bd9ab |
# This library is distributed in the hope that it will be useful,
|
|
Packit |
6bd9ab |
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
6bd9ab |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
6bd9ab |
# Lesser General Public License for more details.
|
|
Packit |
6bd9ab |
#
|
|
Packit |
6bd9ab |
# You should have received a copy of the GNU Lesser General Public
|
|
Packit |
6bd9ab |
# License along with this library; if not, write to the Free Software
|
|
Packit |
6bd9ab |
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
Packit |
6bd9ab |
# 02110-1301 USA
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
import os
|
|
Packit |
6bd9ab |
import os.path
|
|
Packit |
6bd9ab |
import sys
|
|
Packit |
6bd9ab |
import unittest
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
# fix the Python path
|
|
Packit |
6bd9ab |
sys.path.insert(1, os.path.abspath(os.path.join(sys.path[0], '..', 'pynslcd')))
|
|
Packit |
6bd9ab |
sys.path.insert(2, os.path.abspath(os.path.join('..', 'pynslcd')))
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
# TODO: think about case-sesitivity of cache searches (have tests for that)
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
class TestAlias(unittest.TestCase):
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def setUp(self):
|
|
Packit |
6bd9ab |
import alias
|
|
Packit |
6bd9ab |
cache = alias.Cache()
|
|
Packit |
6bd9ab |
cache.store('alias1', ['member1', 'member2'])
|
|
Packit |
6bd9ab |
cache.store('alias2', ['member1', 'member3'])
|
|
Packit |
6bd9ab |
cache.store('alias3', [])
|
|
Packit |
6bd9ab |
self.cache = cache
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='alias1')), [
|
|
Packit |
6bd9ab |
['alias1', ['member1', 'member2']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_member(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(rfc822MailMember='member1')), [
|
|
Packit |
6bd9ab |
['alias1', ['member1', 'member2']],
|
|
Packit |
6bd9ab |
['alias2', ['member1', 'member3']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_all(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve({}), [
|
|
Packit |
6bd9ab |
['alias1', ['member1', 'member2']],
|
|
Packit |
6bd9ab |
['alias2', ['member1', 'member3']],
|
|
Packit |
6bd9ab |
['alias3', []],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
class TestEther(unittest.TestCase):
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def setUp(self):
|
|
Packit |
6bd9ab |
import ether
|
|
Packit |
6bd9ab |
cache = ether.Cache()
|
|
Packit |
6bd9ab |
cache.store('name1', '0:18:8a:54:1a:11')
|
|
Packit |
6bd9ab |
cache.store('name2', '0:18:8a:54:1a:22')
|
|
Packit |
6bd9ab |
self.cache = cache
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='name1')), [
|
|
Packit |
6bd9ab |
['name1', '0:18:8a:54:1a:11'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='name2')), [
|
|
Packit |
6bd9ab |
['name2', '0:18:8a:54:1a:22'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_ether(self):
|
|
Packit |
6bd9ab |
# ideally we should also support alternate representations
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(macAddress='0:18:8a:54:1a:22')), [
|
|
Packit |
6bd9ab |
['name2', '0:18:8a:54:1a:22'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_all(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve({}), [
|
|
Packit |
6bd9ab |
['name1', '0:18:8a:54:1a:11'],
|
|
Packit |
6bd9ab |
['name2', '0:18:8a:54:1a:22'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
class TestGroup(unittest.TestCase):
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def setUp(self):
|
|
Packit |
6bd9ab |
import group
|
|
Packit |
6bd9ab |
cache = group.Cache()
|
|
Packit |
6bd9ab |
cache.store('group1', 'pass1', 10, ['user1', 'user2'])
|
|
Packit |
6bd9ab |
cache.store('group2', 'pass2', 20, ['user1', 'user2', 'user3'])
|
|
Packit |
6bd9ab |
cache.store('group3', 'pass3', 30, [])
|
|
Packit |
6bd9ab |
cache.store('group4', 'pass4', 40, ['user2', ])
|
|
Packit |
6bd9ab |
self.cache = cache
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='group1')), [
|
|
Packit |
6bd9ab |
['group1', 'pass1', 10, ['user1', 'user2']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='group3')), [
|
|
Packit |
6bd9ab |
['group3', 'pass3', 30, []],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_gid(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(gidNumber=10)), [
|
|
Packit |
6bd9ab |
['group1', 'pass1', 10, ['user1', 'user2']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(gidNumber=40)), [
|
|
Packit |
6bd9ab |
['group4', 'pass4', 40, ['user2']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_all(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve({}), [
|
|
Packit |
6bd9ab |
['group1', 'pass1', 10, ['user1', 'user2']],
|
|
Packit |
6bd9ab |
['group2', 'pass2', 20, ['user1', 'user2', 'user3']],
|
|
Packit |
6bd9ab |
['group3', 'pass3', 30, []],
|
|
Packit |
6bd9ab |
['group4', 'pass4', 40, ['user2']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_bymember(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(memberUid='user1')), [
|
|
Packit |
6bd9ab |
['group1', 'pass1', 10, ['user1', 'user2']],
|
|
Packit |
6bd9ab |
['group2', 'pass2', 20, ['user1', 'user2', 'user3']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(memberUid='user2')), [
|
|
Packit |
6bd9ab |
['group1', 'pass1', 10, ['user1', 'user2']],
|
|
Packit |
6bd9ab |
['group2', 'pass2', 20, ['user1', 'user2', 'user3']],
|
|
Packit |
6bd9ab |
['group4', 'pass4', 40, ['user2']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(memberUid='user3')), [
|
|
Packit |
6bd9ab |
['group2', 'pass2', 20, ['user1', 'user2', 'user3']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
class TestHost(unittest.TestCase):
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def setUp(self):
|
|
Packit |
6bd9ab |
import host
|
|
Packit |
6bd9ab |
cache = host.Cache()
|
|
Packit |
6bd9ab |
cache.store('hostname1', [], ['127.0.0.1', ])
|
|
Packit |
6bd9ab |
cache.store('hostname2', ['alias1', 'alias2'], ['127.0.0.2', '127.0.0.3'])
|
|
Packit |
6bd9ab |
self.cache = cache
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='hostname1')), [
|
|
Packit |
6bd9ab |
['hostname1', [], ['127.0.0.1']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='hostname2')), [
|
|
Packit |
6bd9ab |
['hostname2', ['alias1', 'alias2'], ['127.0.0.2', '127.0.0.3']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_alias(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='alias1')), [
|
|
Packit |
6bd9ab |
['hostname2', ['alias1', 'alias2'], ['127.0.0.2', '127.0.0.3']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='alias2')), [
|
|
Packit |
6bd9ab |
['hostname2', ['alias1', 'alias2'], ['127.0.0.2', '127.0.0.3']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_address(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(ipHostNumber='127.0.0.3')), [
|
|
Packit |
6bd9ab |
['hostname2', ['alias1', 'alias2'], ['127.0.0.2', '127.0.0.3']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
class TestNetgroup(unittest.TestCase):
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def setUp(self):
|
|
Packit |
6bd9ab |
import netgroup
|
|
Packit |
6bd9ab |
cache = netgroup.Cache()
|
|
Packit |
6bd9ab |
cache.store('netgroup1', ['(host1, user1,)', '(host1, user2,)', '(host2, user1,)'], ['netgroup2', ])
|
|
Packit |
6bd9ab |
cache.store('netgroup2', ['(host3, user1,)', '(host3, user3,)'], [])
|
|
Packit |
6bd9ab |
self.cache = cache
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='netgroup1')), [
|
|
Packit |
6bd9ab |
['netgroup1', ['(host1, user1,)', '(host1, user2,)', '(host2, user1,)'], ['netgroup2', ]],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='netgroup2')), [
|
|
Packit |
6bd9ab |
['netgroup2', ['(host3, user1,)', '(host3, user3,)'], []],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
class TestNetwork(unittest.TestCase):
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def setUp(self):
|
|
Packit |
6bd9ab |
import network
|
|
Packit |
6bd9ab |
cache = network.Cache()
|
|
Packit |
6bd9ab |
cache.store('networkname1', [], ['127.0.0.1', ])
|
|
Packit |
6bd9ab |
cache.store('networkname2', ['alias1', 'alias2'], ['127.0.0.2', '127.0.0.3'])
|
|
Packit |
6bd9ab |
self.cache = cache
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='networkname1')), [
|
|
Packit |
6bd9ab |
['networkname1', [], ['127.0.0.1']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='networkname2')), [
|
|
Packit |
6bd9ab |
['networkname2', ['alias1', 'alias2'], ['127.0.0.2', '127.0.0.3']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_alias(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='alias1')), [
|
|
Packit |
6bd9ab |
['networkname2', ['alias1', 'alias2'], ['127.0.0.2', '127.0.0.3']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='alias2')), [
|
|
Packit |
6bd9ab |
['networkname2', ['alias1', 'alias2'], ['127.0.0.2', '127.0.0.3']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_address(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(ipNetworkNumber='127.0.0.3')), [
|
|
Packit |
6bd9ab |
['networkname2', ['alias1', 'alias2'], ['127.0.0.2', '127.0.0.3']],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
class TestPasswd(unittest.TestCase):
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def setUp(self):
|
|
Packit |
6bd9ab |
import passwd
|
|
Packit |
6bd9ab |
cache = passwd.Cache()
|
|
Packit |
6bd9ab |
cache.store('name', 'passwd', 100, 200, 'gecos', '/home/user', '/bin/bash')
|
|
Packit |
6bd9ab |
cache.store('name2', 'passwd2', 101, 202, 'gecos2', '/home/user2', '/bin/bash')
|
|
Packit |
6bd9ab |
self.cache = cache
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(uid='name')), [
|
|
Packit |
6bd9ab |
[u'name', u'passwd', 100, 200, u'gecos', u'/home/user', u'/bin/bash'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_unknown_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(uid='notfound')), [])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_number(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(uidNumber=100)), [
|
|
Packit |
6bd9ab |
[u'name', u'passwd', 100, 200, u'gecos', u'/home/user', u'/bin/bash'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(uidNumber=101)), [
|
|
Packit |
6bd9ab |
['name2', 'passwd2', 101, 202, 'gecos2', '/home/user2', '/bin/bash'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_all(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve({}), [
|
|
Packit |
6bd9ab |
[u'name', u'passwd', 100, 200, u'gecos', u'/home/user', u'/bin/bash'],
|
|
Packit |
6bd9ab |
[u'name2', u'passwd2', 101, 202, u'gecos2', u'/home/user2', u'/bin/bash'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
class TestProtocol(unittest.TestCase):
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def setUp(self):
|
|
Packit |
6bd9ab |
import protocol
|
|
Packit |
6bd9ab |
cache = protocol.Cache()
|
|
Packit |
6bd9ab |
cache.store('protocol1', ['alias1', 'alias2'], 100)
|
|
Packit |
6bd9ab |
cache.store('protocol2', ['alias3', ], 200)
|
|
Packit |
6bd9ab |
cache.store('protocol3', [], 300)
|
|
Packit |
6bd9ab |
self.cache = cache
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='protocol1')), [
|
|
Packit |
6bd9ab |
['protocol1', ['alias1', 'alias2'], 100],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='protocol2')), [
|
|
Packit |
6bd9ab |
['protocol2', ['alias3', ], 200],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='protocol3')), [
|
|
Packit |
6bd9ab |
['protocol3', [], 300],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_unknown_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='notfound')), [])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_number(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(ipProtocolNumber=100)), [
|
|
Packit |
6bd9ab |
['protocol1', ['alias1', 'alias2'], 100],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(ipProtocolNumber=200)), [
|
|
Packit |
6bd9ab |
['protocol2', ['alias3', ], 200],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_alias(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='alias1')), [
|
|
Packit |
6bd9ab |
['protocol1', ['alias1', 'alias2'], 100],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='alias3')), [
|
|
Packit |
6bd9ab |
['protocol2', ['alias3', ], 200],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_all(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve({}), [
|
|
Packit |
6bd9ab |
['protocol1', ['alias1', 'alias2'], 100],
|
|
Packit |
6bd9ab |
['protocol2', ['alias3'], 200],
|
|
Packit |
6bd9ab |
['protocol3', [], 300],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
class TestRpc(unittest.TestCase):
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def setUp(self):
|
|
Packit |
6bd9ab |
import rpc
|
|
Packit |
6bd9ab |
cache = rpc.Cache()
|
|
Packit |
6bd9ab |
cache.store('rpc1', ['alias1', 'alias2'], 100)
|
|
Packit |
6bd9ab |
cache.store('rpc2', ['alias3', ], 200)
|
|
Packit |
6bd9ab |
cache.store('rpc3', [], 300)
|
|
Packit |
6bd9ab |
self.cache = cache
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='rpc1')), [
|
|
Packit |
6bd9ab |
['rpc1', ['alias1', 'alias2'], 100],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='rpc2')), [
|
|
Packit |
6bd9ab |
['rpc2', ['alias3', ], 200],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='rpc3')), [
|
|
Packit |
6bd9ab |
['rpc3', [], 300],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_unknown_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='notfound')), [])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_number(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(oncRpcNumber=100)), [
|
|
Packit |
6bd9ab |
['rpc1', ['alias1', 'alias2'], 100],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(oncRpcNumber=200)), [
|
|
Packit |
6bd9ab |
['rpc2', ['alias3', ], 200],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_alias(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='alias1')), [
|
|
Packit |
6bd9ab |
['rpc1', ['alias1', 'alias2'], 100],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='alias3')), [
|
|
Packit |
6bd9ab |
['rpc2', ['alias3', ], 200],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_all(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve({}), [
|
|
Packit |
6bd9ab |
['rpc1', ['alias1', 'alias2'], 100],
|
|
Packit |
6bd9ab |
['rpc2', ['alias3'], 200],
|
|
Packit |
6bd9ab |
['rpc3', [], 300],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
class TestService(unittest.TestCase):
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def setUp(self):
|
|
Packit |
6bd9ab |
import service
|
|
Packit |
6bd9ab |
cache = service.Cache()
|
|
Packit |
6bd9ab |
cache.store('service1', ['alias1', 'alias2'], 100, 'tcp')
|
|
Packit |
6bd9ab |
cache.store('service1', ['alias1', 'alias2'], 100, 'udp')
|
|
Packit |
6bd9ab |
cache.store('service2', ['alias3', ], 200, 'udp')
|
|
Packit |
6bd9ab |
cache.store('service3', [], 300, 'udp')
|
|
Packit |
6bd9ab |
self.cache = cache
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='service1')), [
|
|
Packit |
6bd9ab |
['service1', ['alias1', 'alias2'], 100, 'tcp'],
|
|
Packit |
6bd9ab |
['service1', ['alias1', 'alias2'], 100, 'udp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='service2')), [
|
|
Packit |
6bd9ab |
['service2', ['alias3', ], 200, 'udp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='service3')), [
|
|
Packit |
6bd9ab |
['service3', [], 300, 'udp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_name_and_protocol(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='service1', ipServiceProtocol='udp')), [
|
|
Packit |
6bd9ab |
['service1', ['alias1', 'alias2'], 100, 'udp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='service1', ipServiceProtocol='tcp')), [
|
|
Packit |
6bd9ab |
['service1', ['alias1', 'alias2'], 100, 'tcp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='service2', ipServiceProtocol='udp')), [
|
|
Packit |
6bd9ab |
['service2', ['alias3', ], 200, 'udp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='service2', ipServiceProtocol='tcp')), [
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_unknown_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='notfound')), [])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_number(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(ipServicePort=100)), [
|
|
Packit |
6bd9ab |
['service1', ['alias1', 'alias2'], 100, 'tcp'],
|
|
Packit |
6bd9ab |
['service1', ['alias1', 'alias2'], 100, 'udp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(ipServicePort=200)), [
|
|
Packit |
6bd9ab |
['service2', ['alias3', ], 200, 'udp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_number_and_protocol(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(ipServicePort=100, ipServiceProtocol='udp')), [
|
|
Packit |
6bd9ab |
['service1', ['alias1', 'alias2'], 100, 'udp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(ipServicePort=100, ipServiceProtocol='tcp')), [
|
|
Packit |
6bd9ab |
['service1', ['alias1', 'alias2'], 100, 'tcp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(ipServicePort=200, ipServiceProtocol='udp')), [
|
|
Packit |
6bd9ab |
['service2', ['alias3', ], 200, 'udp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(ipServicePort=200, ipServiceProtocol='tcp')), [
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_alias(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='alias1')), [
|
|
Packit |
6bd9ab |
['service1', ['alias1', 'alias2'], 100, 'udp'],
|
|
Packit |
6bd9ab |
['service1', ['alias1', 'alias2'], 100, 'tcp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(cn='alias3')), [
|
|
Packit |
6bd9ab |
['service2', ['alias3', ], 200, 'udp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_all(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve({}), [
|
|
Packit |
6bd9ab |
['service1', ['alias1', 'alias2'], 100, 'tcp'],
|
|
Packit |
6bd9ab |
['service1', ['alias1', 'alias2'], 100, 'udp'],
|
|
Packit |
6bd9ab |
['service2', ['alias3', ], 200, 'udp'],
|
|
Packit |
6bd9ab |
['service3', [], 300, 'udp'],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
class Testshadow(unittest.TestCase):
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def setUp(self):
|
|
Packit |
6bd9ab |
import shadow
|
|
Packit |
6bd9ab |
cache = shadow.Cache()
|
|
Packit |
6bd9ab |
cache.store('name', 'passwd', 15639, 0, 7, -1, -1, -1, 0)
|
|
Packit |
6bd9ab |
cache.store('name2', 'passwd2', 15639, 0, 7, -1, -1, -1, 0)
|
|
Packit |
6bd9ab |
self.cache = cache
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(uid='name')), [
|
|
Packit |
6bd9ab |
[u'name', u'passwd', 15639, 0, 7, -1, -1, -1, 0],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(uid='name2')), [
|
|
Packit |
6bd9ab |
[u'name2', u'passwd2', 15639, 0, 7, -1, -1, -1, 0],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_by_unknown_name(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve(dict(uid='notfound')), [])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
def test_all(self):
|
|
Packit |
6bd9ab |
self.assertItemsEqual(self.cache.retrieve({}), [
|
|
Packit |
6bd9ab |
[u'name', u'passwd', 15639, 0, 7, -1, -1, -1, 0],
|
|
Packit |
6bd9ab |
[u'name2', u'passwd2', 15639, 0, 7, -1, -1, -1, 0],
|
|
Packit |
6bd9ab |
])
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
|
|
Packit |
6bd9ab |
if __name__ == '__main__':
|
|
Packit |
6bd9ab |
unittest.main()
|