Пример #1
0
	def test_storage_order(self):
		storage = db_storage.KeyValueStorage('testing.order')
		self.assertEqual(storage.order_by, 'created')
		storage['c'] = True
		storage['a'] = True
		storage['t'] = True
		storage = db_storage.KeyValueStorage('testing.order', order_by='created')
		self.assertEqual(''.join(storage.keys()), 'cat')
		storage = db_storage.KeyValueStorage('testing.order', order_by='key')
		self.assertEqual(''.join(storage.keys()), 'act')
		with self.assertRaises(ValueError):
			storage.order_by = 'doesnotexist'
Пример #2
0
 def test_storage_accepts_native_types(self):
     storage = db_storage.KeyValueStorage()
     self.assertNotIsInstance(storage, dict)
     storage['data'] = {
         'key1': 1,
         'key2': 'hello world',
         'key3': True,
         'key4': datetime.datetime.utcnow()
     }
     self.assertEquals(len(storage), 1)
Пример #3
0
 def _sig_db_initialized(self, _):
     for _, plugin in self:
         plugin.storage = storage.KeyValueStorage('plugins.' + plugin.name)
Пример #4
0
 def test_storage_missing_values_raise_keyerror(self):
     storage = db_storage.KeyValueStorage()
     with self.assertRaises(KeyError):
         storage['missing']
Пример #5
0
 def test_storage_keys_must_be_strings(self):
     storage = db_storage.KeyValueStorage()
     with self.assertRaises(TypeError):
         storage[1] = 'test'
Пример #6
0
import os
import re

from king_phisher import startup
from king_phisher.server.database import storage as db_storage

logger = logging.getLogger('KingPhisher.LetsEncrypt')

LETS_ENCRYPT_DEFAULT_DATA_PATH = '/etc/letsencrypt'
"""The default path at which Let's Encrypt data is stored."""

_HOSTNAME_DIRECTORY_REGEX = re.compile(
    r'^(?P<hostname>[a-z0-9][a-z0-9-]*(\.[a-z0-9-]+)*\.[a-z]+)(-(?P<index>\d+))?$',
    re.IGNORECASE)

_sni_hostnames = db_storage.KeyValueStorage(
    namespace='server.ssl.sni.hostnames', order_by='key')

SNIHostnameConfiguration = collections.namedtuple(
    'SNIHostnameConfiguration', ('certfile', 'keyfile', 'enabled'))
"""
The information for a certificate used by the server's SSL Server Name Indicator
(SNI) extension.

.. py:attribute:: certfile

	The path to the SSL certificate file on disk to use for the hostname.

.. py:attribute:: keyfile

	The path to the SSL key file on disk to use for the hostname.
Пример #7
0
 def _sig_db_initialized(self, _):
     for plugin in self.enabled_plugins.values():
         plugin.storage = storage.KeyValueStorage('plugins.' + plugin.name)