tests the interaction with the keyring() function.
"""
# The keyring function raises until initialized
- self.assertRaises(Unexpected, keyring)
+ self.assertRaises(Unexpected, get_keyring)
self.__do_init()
- current_keyring = keyring()
+ current_keyring = get_keyring()
self.assertTrue(isinstance(current_keyring, isc.dns.TSIGKeyRing))
# Another initialization does nothing
self.__do_init()
- self.assertEqual(current_keyring, keyring())
+ self.assertEqual(current_keyring, get_keyring())
# When we deinitialize it, it no longer provides the keyring
deinit_keyring()
self.assertEqual('tsig_keys', self.__session._remove_name)
self.__session._remove_name = None
- self.assertRaises(Unexpected, keyring)
+ self.assertRaises(Unexpected, get_keyring)
# Another deinitialization doesn't change anything
deinit_keyring()
- self.assertRaises(Unexpected, keyring)
+ self.assertRaises(Unexpected, get_keyring)
self.assertIsNone(self.__session._remove_name)
def test_load(self):
# Initial load
self.__session._data = ['key:MTIzNAo=:hmac-sha1']
self.__do_init()
- keys = keyring()
+ keys = get_keyring()
self.assertEqual(1, keys.size())
(rcode, key) = keys.find(isc.dns.Name('key'), self.__sha1name)
self.assertEqual(isc.dns.TSIGKeyRing.SUCCESS, rcode)
self.__session._data = ['key.example:MTIzNAo=:hmac-sha1']
self.__session._callback()
orig_keys = keys
- keys = keyring()
+ keys = get_keyring()
self.assertNotEqual(keys, orig_keys)
self.assertEqual(1, keys.size())
# The old key is not here
"""
self.__session._data = ['key:MTIzNAo=:hmac-sha1']
self.__do_init()
- keys = keyring()
+ keys = get_keyring()
self.__session._data = None
self.__session._callback()
- self.assertEqual(keys, keyring())
+ self.assertEqual(keys, get_keyring())
def test_update_bad(self):
"""
"""
self.__session._data = ['key:MTIzNAo=:hmac-sha1']
self.__do_init()
- keys = keyring()
+ keys = get_keyring()
# Bad TSIG string
self.__session._data = ['key:this makes no sense:really']
self.assertRaises(isc.dns.InvalidParameter, self.__session._callback)
- self.assertEqual(keys, keyring())
+ self.assertEqual(keys, get_keyring())
# A duplicity
self.__session._data = ['key:MTIzNAo=:hmac-sha1', 'key:MTIzNAo=:hmac-sha1']
self.assertRaises(AddError, self.__session._callback)
- self.assertEqual(keys, keyring())
+ self.assertEqual(keys, get_keyring())
if __name__ == "__main__":
isc.log.init("bind10") # FIXME Should this be needed?
class AddError(Exception):
"""
Raised when a key can not be added. This usually means there's a
- duplicity.
+ duplicate.
"""
pass
"""
logger.debug(logger.DBGLVL_TRACE_BASIC,
PYSERVER_COMMON_TSIG_KEYRING_INIT)
- self._session = session
- self._keyring = isc.dns.TSIGKeyRing()
- session.add_remote_config_by_name('tsig_keys', self._update)
- self._update()
+ self.__session = session
+ self.__keyring = isc.dns.TSIGKeyRing()
+ session.add_remote_config_by_name('tsig_keys', self.__update)
+ self.__update()
- def _update(self, value=None, module_cfg=None):
+ def __update(self, value=None, module_cfg=None):
"""
Update the key ring by the configuration.
configuration plugin and not be allowed as far as here.
The parameters are there just to match the signature which
- the callback should have (eg. they are ignored).
+ the callback should have (i.e. they are ignored).
"""
logger.debug(logger.DBGLVL_TRACE_BASIC,
PYSERVER_COMMON_TSIG_KEYRING_UPDATE)
- (data, default) = self._session.get_remote_config_value('tsig_keys',
- 'keys')
+ (data, default) = self.__session.get_remote_config_value('tsig_keys',
+ 'keys')
if data is not None: # There's an update
keyring = isc.dns.TSIGKeyRing()
for key_data in data:
key = isc.dns.TSIGKey(key_data)
if keyring.add(key) != isc.dns.TSIGKeyRing.SUCCESS:
raise AddError("Can't add key " + str(key))
- self._keyring = keyring
+ self.__keyring = keyring
def get_keyring(self):
"""
Return the current key ring.
"""
- return self._keyring
+ return self.__keyring
def deinit(self):
"""
"""
logger.debug(logger.DBGLVL_TRACE_BASIC,
PYSERVER_COMMON_TSIG_KEYRING_DEINIT)
- self._session.remove_remote_config('tsig_keys')
+ self.__session.remove_remote_config('tsig_keys')
-def keyring():
+def get_keyring():
"""
Get the current key ring. You need to call init_keyring first.
"""